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>() ); }