Implemented numeber of multisession options, reading, modifying tree, and a number of improvements
This commit is contained in:
@ -4,8 +4,10 @@
|
||||
* This test utiliy functions
|
||||
*
|
||||
*/
|
||||
#include "test.h"
|
||||
#include <time.h>
|
||||
#include <locale.h>
|
||||
|
||||
#include "test.h"
|
||||
#include "util.h"
|
||||
|
||||
static void test_div_up()
|
||||
@ -56,6 +58,122 @@ static void test_iso_lsb_msb()
|
||||
CU_ASSERT_EQUAL( buf[1], 0x04 );
|
||||
}
|
||||
|
||||
static void test_iso_read_lsb_msb()
|
||||
{
|
||||
uint8_t buf[4];
|
||||
uint32_t num;
|
||||
|
||||
buf[0] = 0x04;
|
||||
buf[1] = 0x03;
|
||||
buf[2] = 0x02;
|
||||
buf[3] = 0x01;
|
||||
|
||||
num = iso_read_lsb(buf, 4);
|
||||
CU_ASSERT_EQUAL(num, 0x01020304);
|
||||
|
||||
num = iso_read_msb(buf, 4);
|
||||
CU_ASSERT_EQUAL(num, 0x04030201);
|
||||
|
||||
num = iso_read_lsb(buf, 2);
|
||||
CU_ASSERT_EQUAL(num, 0x0304);
|
||||
|
||||
num = iso_read_msb(buf, 2);
|
||||
CU_ASSERT_EQUAL(num, 0x0403);
|
||||
}
|
||||
|
||||
static void test_iso_bb()
|
||||
{
|
||||
uint8_t buf[8];
|
||||
uint32_t num;
|
||||
|
||||
num = 0x01020304;
|
||||
iso_bb(buf, num, 4);
|
||||
CU_ASSERT_EQUAL( buf[0], 0x04 );
|
||||
CU_ASSERT_EQUAL( buf[1], 0x03 );
|
||||
CU_ASSERT_EQUAL( buf[2], 0x02 );
|
||||
CU_ASSERT_EQUAL( buf[3], 0x01 );
|
||||
CU_ASSERT_EQUAL( buf[4], 0x01 );
|
||||
CU_ASSERT_EQUAL( buf[5], 0x02 );
|
||||
CU_ASSERT_EQUAL( buf[6], 0x03 );
|
||||
CU_ASSERT_EQUAL( buf[7], 0x04 );
|
||||
|
||||
iso_bb(buf, num, 2);
|
||||
CU_ASSERT_EQUAL( buf[0], 0x04 );
|
||||
CU_ASSERT_EQUAL( buf[1], 0x03 );
|
||||
CU_ASSERT_EQUAL( buf[2], 0x03 );
|
||||
CU_ASSERT_EQUAL( buf[3], 0x04 );
|
||||
}
|
||||
|
||||
static void test_iso_read_bb()
|
||||
{
|
||||
uint8_t buf[8];
|
||||
uint32_t num;
|
||||
int error = 0;
|
||||
|
||||
buf[0] = 0x04;
|
||||
buf[1] = 0x03;
|
||||
buf[2] = 0x02;
|
||||
buf[3] = 0x01;
|
||||
buf[4] = 0x01;
|
||||
buf[5] = 0x02;
|
||||
buf[6] = 0x03;
|
||||
buf[7] = 0x04;
|
||||
|
||||
num = iso_read_bb(buf, 4, &error);
|
||||
CU_ASSERT_EQUAL( num, 0x01020304 );
|
||||
CU_ASSERT_FALSE(error);
|
||||
|
||||
num = iso_read_bb(buf, 4, NULL);
|
||||
CU_ASSERT_EQUAL( num, 0x01020304 );
|
||||
|
||||
buf[2] = 3;
|
||||
num = iso_read_bb(buf, 4, &error);
|
||||
/* return the LSB */
|
||||
CU_ASSERT_EQUAL( num, 0x01030304 );
|
||||
CU_ASSERT_TRUE(error);
|
||||
|
||||
num = iso_read_bb(buf, 4, NULL);
|
||||
/* return the LSB */
|
||||
CU_ASSERT_EQUAL( num, 0x01030304 );
|
||||
|
||||
error = 0;
|
||||
buf[3] = 0x04;
|
||||
|
||||
num = iso_read_bb(buf, 2, &error);
|
||||
CU_ASSERT_EQUAL( num, 0x0304 );
|
||||
CU_ASSERT_FALSE(error);
|
||||
|
||||
num = iso_read_bb(buf, 2, NULL);
|
||||
CU_ASSERT_EQUAL( num, 0x0304 );
|
||||
}
|
||||
|
||||
static void test_iso_datetime_7()
|
||||
{
|
||||
uint8_t buf[7];
|
||||
time_t t, t2;
|
||||
struct tm tp;
|
||||
|
||||
strptime("01-03-1976 13:27:45", "%d-%m-%Y %T", &tp);
|
||||
t = mktime(&tp);
|
||||
|
||||
iso_datetime_7(buf, t);
|
||||
CU_ASSERT_EQUAL( buf[0], 76 ); /* year since 1900 */
|
||||
CU_ASSERT_EQUAL( buf[1], 3 ); /* month */
|
||||
CU_ASSERT_EQUAL( buf[2], 1 ); /* day */
|
||||
CU_ASSERT_EQUAL( buf[3], 13 ); /* hour */
|
||||
CU_ASSERT_EQUAL( buf[4], 27 ); /* minute */
|
||||
CU_ASSERT_EQUAL( buf[5], 45 ); /* second */
|
||||
/* the offset depends on current timezone and it's not easy to test */
|
||||
//CU_ASSERT_EQUAL( buf[6], 4 ); /* 15 min offset */
|
||||
|
||||
/* check that reading returns the same time */
|
||||
t2 = iso_datetime_read_7(buf);
|
||||
CU_ASSERT_EQUAL(t2, t);
|
||||
|
||||
//TODO check with differnt timezones for reading and writting
|
||||
|
||||
}
|
||||
|
||||
static void test_iso_1_dirid()
|
||||
{
|
||||
CU_ASSERT_STRING_EQUAL( iso_1_dirid("dir1", "UTF-8"), "DIR1" );
|
||||
@ -253,13 +371,17 @@ void add_util_suite()
|
||||
{
|
||||
CU_pSuite pSuite = CU_add_suite("UtilSuite", NULL, NULL);
|
||||
|
||||
CU_add_test(pSuite, "test of div_up()", test_div_up);
|
||||
CU_add_test(pSuite, "test of round_up()", test_round_up);
|
||||
CU_add_test(pSuite, "test of iso_lsb_msb()", test_iso_lsb_msb);
|
||||
CU_add_test(pSuite, "test of iso_1_dirid()", test_iso_1_dirid);
|
||||
CU_add_test(pSuite, "test of iso_2_dirid()", test_iso_2_dirid);
|
||||
CU_add_test(pSuite, "test of iso_r_dirid()", test_iso_r_dirid);
|
||||
CU_add_test(pSuite, "test of iso_1_fileid()", test_iso_1_fileid);
|
||||
CU_add_test(pSuite, "test of iso_2_fileid()", test_iso_2_fileid);
|
||||
CU_add_test(pSuite, "test of iso_r_fileid()", test_iso_r_fileid);
|
||||
CU_add_test(pSuite, "div_up()", test_div_up);
|
||||
CU_add_test(pSuite, "round_up()", test_round_up);
|
||||
CU_add_test(pSuite, "iso_lsb() and iso_msb()", test_iso_lsb_msb);
|
||||
CU_add_test(pSuite, "iso_read_lsb() and iso_read_msb()", test_iso_read_lsb_msb);
|
||||
CU_add_test(pSuite, "iso_bb()", test_iso_bb);
|
||||
CU_add_test(pSuite, "iso_read_bb()", test_iso_read_bb);
|
||||
CU_add_test(pSuite, "iso_datetime_7()", test_iso_datetime_7);
|
||||
CU_add_test(pSuite, "iso_1_dirid()", test_iso_1_dirid);
|
||||
CU_add_test(pSuite, "iso_2_dirid()", test_iso_2_dirid);
|
||||
CU_add_test(pSuite, "iso_r_dirid()", test_iso_r_dirid);
|
||||
CU_add_test(pSuite, "iso_1_fileid()", test_iso_1_fileid);
|
||||
CU_add_test(pSuite, "iso_2_fileid()", test_iso_2_fileid);
|
||||
CU_add_test(pSuite, "iso_r_fileid()", test_iso_r_fileid);
|
||||
}
|
||||
|
Reference in New Issue
Block a user