bool TestParseLBN() { const char *validStrings[] = { "/sce_lbn0x5fa0_size0x1428", "/sce_lbn7050_sizeee850", "/sce_lbn0x5eeeh_size0x234x", // Check for trailing chars. See #7960. "/sce_lbneee__size434.", // Check for trailing chars. See #7960. }; int expectedResults[][2] = { {0x5fa0, 0x1428}, {0x7050, 0xee850}, {0x5eee, 0x234}, {0xeee, 0x434}, }; const char *invalidStrings[] = { "/sce_lbn0x5fa0_sze0x1428", "", "//", }; for (int i = 0; i < ARRAY_SIZE(validStrings); i++) { u32 startSector = 0, readSize = 0; // printf("testing %s\n", validStrings[i]); EXPECT_TRUE(parseLBN(validStrings[i], &startSector, &readSize)); EXPECT_EQ_INT(startSector, expectedResults[i][0]); EXPECT_EQ_INT(readSize, expectedResults[i][1]); } for (int i = 0; i < ARRAY_SIZE(invalidStrings); i++) { u32 startSector, readSize; EXPECT_FALSE(parseLBN(invalidStrings[i], &startSector, &readSize)); } return true; }
static void test_parse_false() { lept_value v; lept_init(&v); lept_set_boolean(&v, 1); EXPECT_EQ_INT(LEPT_PARSE_OK, lept_parse(&v, "false")); EXPECT_EQ_INT(LEPT_FALSE, lept_get_type(&v)); lept_free(&v); }
static void test_parse_true() { lept_value v; lept_init(&v); lept_set_boolean(&v, 0); EXPECT_EQ_INT(LEPT_PARSE_OK, lept_parse(&v, "true")); EXPECT_EQ_INT(LEPT_TRUE, lept_get_type(&v)); lept_free(&v); }
static void test_parse_null() { lept_value v; lept_init(&v); lept_set_boolean(&v, 0); EXPECT_EQ_INT(LEPT_PARSE_OK, lept_parse(&v, "null")); EXPECT_EQ_INT(LEPT_NULL, lept_get_type(&v)); lept_free(&v); }
static void test_parse_invalid_value() { lept_value v; v.type = LEPT_FALSE; EXPECT_EQ_INT(LEPT_PARSE_INVALID_VALUE, lept_parse(&v, "nul")); EXPECT_EQ_INT(LEPT_NULL, lept_get_type(&v)); v.type = LEPT_FALSE; EXPECT_EQ_INT(LEPT_PARSE_INVALID_VALUE, lept_parse(&v, "?")); EXPECT_EQ_INT(LEPT_NULL, lept_get_type(&v)); }
static void test_parse_expect_value() { lept_value v; v.type = LEPT_FALSE; EXPECT_EQ_INT(LEPT_PARSE_EXPECT_VALUE, lept_parse(&v, "")); EXPECT_EQ_INT(LEPT_NULL, lept_get_type(&v)); v.type = LEPT_FALSE; EXPECT_EQ_INT(LEPT_PARSE_EXPECT_VALUE, lept_parse(&v, " ")); EXPECT_EQ_INT(LEPT_NULL, lept_get_type(&v)); }
static void test_access_null() { lept_value v; lept_init(&v); lept_set_string(&v, "a", 1); lept_set_null(&v); EXPECT_EQ_INT(LEPT_NULL, lept_get_type(&v)); lept_free(&v); }
bool TestMatrixTranspose() { MatrixSize sz = M_4x4; int matrix = 0; // M000 u8 cols[4]; u8 rows[4]; GetMatrixColumns(matrix, sz, cols); GetMatrixRows(matrix, sz, rows); int transposed = Xpose(matrix); u8 x_cols[4]; u8 x_rows[4]; GetMatrixColumns(transposed, sz, x_cols); GetMatrixRows(transposed, sz, x_rows); for (int i = 0; i < GetMatrixSide(sz); i++) { EXPECT_EQ_INT(cols[i], x_rows[i]); EXPECT_EQ_INT(x_cols[i], rows[i]); } return true; }
static void test_parse_root_not_singular() { lept_value v; v.type = LEPT_FALSE; EXPECT_EQ_INT(LEPT_PARSE_ROOT_NOT_SINGULAR, lept_parse(&v, "null x")); EXPECT_EQ_INT(LEPT_NULL, lept_get_type(&v)); }
static void test_parse_null() { lept_value v; v.type = LEPT_FALSE; EXPECT_EQ_INT(LEPT_PARSE_OK, lept_parse(&v, "null")); EXPECT_EQ_INT(LEPT_NULL, lept_get_type(&v)); }
static void test_parse_array() { size_t i, j; lept_value v; lept_init(&v); EXPECT_EQ_INT(LEPT_PARSE_OK, lept_parse(&v, "[ ]")); EXPECT_EQ_INT(LEPT_ARRAY, lept_get_type(&v)); EXPECT_EQ_SIZE_T(0, lept_get_array_size(&v)); lept_free(&v); lept_init(&v); EXPECT_EQ_INT(LEPT_PARSE_OK, lept_parse(&v, "[ null , false , true , 123 , \"abc\" ]")); EXPECT_EQ_INT(LEPT_ARRAY, lept_get_type(&v)); EXPECT_EQ_SIZE_T(5, lept_get_array_size(&v)); EXPECT_EQ_INT(LEPT_NULL, lept_get_type(lept_get_array_element(&v, 0))); EXPECT_EQ_INT(LEPT_FALSE, lept_get_type(lept_get_array_element(&v, 1))); EXPECT_EQ_INT(LEPT_TRUE, lept_get_type(lept_get_array_element(&v, 2))); EXPECT_EQ_INT(LEPT_NUMBER, lept_get_type(lept_get_array_element(&v, 3))); EXPECT_EQ_INT(LEPT_STRING, lept_get_type(lept_get_array_element(&v, 4))); EXPECT_EQ_DOUBLE(123.0, lept_get_number(lept_get_array_element(&v, 3))); EXPECT_EQ_STRING("abc", lept_get_string(lept_get_array_element(&v, 4)), lept_get_string_length(lept_get_array_element(&v, 4))); lept_free(&v); lept_init(&v); EXPECT_EQ_INT(LEPT_PARSE_OK, lept_parse(&v, "[ [ ] , [ 0 ] , [ 0 , 1 ] , [ 0 , 1 , 2 ] ]")); EXPECT_EQ_INT(LEPT_ARRAY, lept_get_type(&v)); EXPECT_EQ_SIZE_T(4, lept_get_array_size(&v)); for (i = 0; i < 4; i++) { lept_value* a = lept_get_array_element(&v, i); EXPECT_EQ_INT(LEPT_ARRAY, lept_get_type(a)); EXPECT_EQ_SIZE_T(i, lept_get_array_size(a)); for (j = 0; j < i; j++) { lept_value* e = lept_get_array_element(a, j); EXPECT_EQ_INT(LEPT_NUMBER, lept_get_type(e)); EXPECT_EQ_DOUBLE((double)j, lept_get_number(e)); } } lept_free(&v); }