void CTestSuiteVariant::TestAssign() { CVariant Result; CVariant Var; Result=Var; CPPUNIT_ASSERT_EQUAL( Result.GetType(),eVVT_Table ); Var.SetMember("abc")->SetNumber<int8>(123); Var.SetMember("cde"); Var.SetMember("f")->SetString("shit"); Result=Var; CPPUNIT_ASSERT_EQUAL( Result.GetMember("abc")->GetNumber<int8>(),(int8)123 ); CPPUNIT_ASSERT_EQUAL( Result.GetMember("cde")->GetType(),eVVT_Table ); CPPUNIT_ASSERT_EQUAL( string(Result.GetMember("f")->GetString()),string("shit") ); }
void CTestSuiteVariant::TestTable() { CVariant Table; CPPUNIT_ASSERT( !Table.GetMember("hello") ); Table.SetMember( "hello" )->SetNumber( 1.0 ); CPPUNIT_ASSERT_EQUAL( 1.0, Table.GetMember("hello")->GetNumber<double>() ); CPPUNIT_ASSERT_EQUAL( 1.0, Table.GetMember("hello")->GetNumber<double>() ); Table.SetMember( "hello1" )->SetString( "hello" ); CPPUNIT_ASSERT_EQUAL( 0, strcmp("hello",Table.GetMember("hello1")->GetString()) ); Table.SetMember( "hello" )->SetString( "hello" ); CPPUNIT_ASSERT_EQUAL( 0, strcmp("hello",Table.GetMember("hello")->GetString()) ); Table.SetMember( "hello" ); Table.GetMember("hello")->SetMember("hello")->SetNumber(1.0); CPPUNIT_ASSERT_EQUAL( 1.0, Table.GetMember("hello")->GetMember("hello")->GetNumber<double>() ); Table.DelMember("hello1"); CPPUNIT_ASSERT( !Table.GetMember("hello1") ); CPPUNIT_ASSERT_EQUAL( 1.0, Table.GetMember("hello")->GetMember("hello")->GetNumber<double>() ); }