예제 #1
0
    void PropertyTest::testCanCreatePropertiesOfDifferentTypes()
    {
        string name1("prop1");
        string name2("prop2");
        string name3("prop3");
        string name4("prop4");
        string name5("prop5");
        
        bool ok = true;
        string someValue("name");
        int integer = 34;
        double d = 45.24;
        DateTime now;

        Property<string, bool> prop1(name1, ok);
        CPPUNIT_ASSERT_EQUAL(ok, prop1());
        CPPUNIT_ASSERT_EQUAL(ok, prop1.getValue());
        CPPUNIT_ASSERT_EQUAL(name1, prop1.getName());

        Property<string, string> prop2(name2, someValue);
        CPPUNIT_ASSERT_EQUAL(someValue, prop2());
        CPPUNIT_ASSERT_EQUAL(someValue, prop2.getValue());
        CPPUNIT_ASSERT_EQUAL(name2, prop2.getName());

        Property<string, int> prop3(name3, integer);
        CPPUNIT_ASSERT_EQUAL(integer, prop3());
        CPPUNIT_ASSERT_EQUAL(integer, prop3.getValue());
        CPPUNIT_ASSERT_EQUAL(name3, prop3.getName());

        Property<string, double> prop4(name4, d);
        CPPUNIT_ASSERT_EQUAL(d, prop4());
        CPPUNIT_ASSERT_EQUAL(d, prop4.getValue());
        CPPUNIT_ASSERT_EQUAL(name4, prop4.getName());
        
        Property<string, DateTime> prop5(name5, now);
        CPPUNIT_ASSERT_EQUAL(now.utcTime(), prop5().utcTime());
        CPPUNIT_ASSERT_EQUAL(now.utcTime(), prop5.getValue().utcTime());
        CPPUNIT_ASSERT_EQUAL(name5, prop5.getName());
    }
 int testOSMProperty()
 {
     OSMProperty prop1("key", "value");
     OSMProperty prop2("key", "value");
     
     CHECK_EQ(prop1, prop2);
     CHECK_EQ_TYPE(prop1.getKey().toStdString(), "key", std::string);
     CHECK_EQ_TYPE(prop1.getValue().toStdString(), "value", std::string);
     
     prop1.setKey("key2");
     CHECK_EQ_TYPE(prop1.getKey().toStdString(), "key2", std::string);
     
     CHECK(!(prop1 == prop2));
     
     return EXIT_SUCCESS;
 }
TEST_F( OpenDDLExportTest, writePropertiesTest ) {
    OpenDDLExportMock myExporter;
    bool ok( true );
    std::string statement;
    ok = myExporter.writePropertiesTester( ddl_nullptr, statement );
    EXPECT_FALSE( ok );

    Property *prop( createProperties( 1 ) );
    m_root->setProperties( prop );

    ok = myExporter.writePropertiesTester( m_root, statement );
    EXPECT_TRUE( ok );
    EXPECT_EQ( "(id.0 = 0)", statement );

    statement.clear();
    Property *prop2( createProperties( 2 ) );
    m_root->setProperties( prop2 );
    ok = myExporter.writePropertiesTester( m_root, statement );
    EXPECT_TRUE( ok );
    EXPECT_EQ( "(id.0 = 0, id.1 = 1)", statement );
}