void UT_binary_array(const char* params) { Lumix::DefaultAllocator allocator; Lumix::BinaryArray array(allocator); LUMIX_EXPECT_EQ(array.size(), 0); for (int i = 0; i < 100; ++i) { array.push(true); } for (int i = 0; i < 100; ++i) { LUMIX_EXPECT_TRUE(array[i]); } LUMIX_EXPECT_EQ(array.getRaw()[0], 0xffffFFFF); for (int i = 0; i < 100; ++i) { array.push(false); } for (int i = 100; i < 200; ++i) { LUMIX_EXPECT_FALSE(array[i]); } LUMIX_EXPECT_EQ(array.size(), 200); for (int i = 0; i < 150; ++i) { array.pop(); } LUMIX_EXPECT_EQ(array.size(), 50); LUMIX_EXPECT_EQ(array.getRawSize(), 2); LUMIX_EXPECT_EQ(array.getRaw()[0], 0xffffFFFF); array.clear(); for (int i = 0; i < 100; ++i) { array.push(i == 2 || i == 50); } array.erase(50); array.erase(2); LUMIX_EXPECT_EQ(array.getRaw()[0], 0); LUMIX_EXPECT_EQ(array.getRaw()[1], 0); }
void UT_command_line_parser(const char* params) { char tmp[100]; Lumix::CommandLineParser parser("-x 10 -y 20\t-plugin custom.dll -str \"test\" -str2 \"test with spaces\""); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("-x")); LUMIX_EXPECT_FALSE(parser.currentEquals("-y")); LUMIX_EXPECT_FALSE(parser.currentEquals("-")); LUMIX_EXPECT_FALSE(parser.currentEquals("")); LUMIX_EXPECT_FALSE(parser.currentEquals("10")); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("10")); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("-y")); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("20")); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("-plugin")); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("custom.dll")); parser.getCurrent(tmp, Lumix::lengthOf(tmp)); LUMIX_EXPECT_TRUE(Lumix::compareString(tmp, "custom.dll") == 0); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("-str")); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("\"test\"")); parser.getCurrent(tmp, Lumix::lengthOf(tmp)); LUMIX_EXPECT_TRUE(Lumix::compareString(tmp, "\"test\"") == 0); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("-str2")); LUMIX_EXPECT_TRUE(parser.next()); LUMIX_EXPECT_TRUE(parser.currentEquals("\"test with spaces\"")); parser.getCurrent(tmp, Lumix::lengthOf(tmp)); LUMIX_EXPECT_TRUE(Lumix::compareString(tmp, "\"test with spaces\"") == 0); LUMIX_EXPECT_FALSE(parser.next()); Lumix::CommandLineParser parser2(""); LUMIX_EXPECT_FALSE(parser2.next()); Lumix::CommandLineParser parser3(" "); LUMIX_EXPECT_FALSE(parser3.next()); Lumix::CommandLineParser parser4("\t"); LUMIX_EXPECT_FALSE(parser4.next()); Lumix::CommandLineParser parser5("\"\""); LUMIX_EXPECT_TRUE(parser5.next()); LUMIX_EXPECT_TRUE(parser5.currentEquals("\"\"")); LUMIX_EXPECT_FALSE(parser5.next()); Lumix::CommandLineParser parser6(" \" \" "); LUMIX_EXPECT_TRUE(parser6.next()); parser6.getCurrent(tmp, Lumix::lengthOf(tmp)); LUMIX_EXPECT_TRUE(Lumix::compareString(tmp, "\" \"") == 0); LUMIX_EXPECT_TRUE(parser6.currentEquals("\" \"")); LUMIX_EXPECT_FALSE(parser6.next()); }