void AreaPropertyintegration::setup() { m_char_type = new TypeNode("char_type"); m_char_property = new AreaProperty; m_char_property->setFlags(flag_class); m_char_property->set( MapType{ std::make_pair("shape", MapType{ std::make_pair("type", "polygon"), std::make_pair("points", ListType(3, ListType(2, 1.f))) }) } ); m_char_type->addProperty("char_type", m_char_property); m_char1 = new Entity("1", 1); m_char1->setType(m_char_type); m_char_property->install(m_char1, "char_prop"); m_char_property->apply(m_char1); m_char1->propertyApplied("char_prop", *m_char_property); m_char2 = new Entity("2", 2); m_char2->setType(m_char_type); m_char_property->install(m_char2, "char_prop"); m_char_property->apply(m_char2); m_char2->propertyApplied("char_prop", *m_char_property); }
void StatisicsPropertyintegration::setup() { m_char_type = new TypeNode("char_type"); m_char_property = new StatisticsProperty; m_char_property->setFlags(flag_class); m_char_type->addProperty("char_prop", m_char_property); m_char1 = new Entity("1", 1); m_char1->setType(m_char_type); m_char_property->install(m_char1, "char_prop"); m_char_property->apply(m_char1); m_char2 = new Entity("2", 2); m_char2->setType(m_char_type); m_char_property->install(m_char2, "char_prop"); m_char_property->apply(m_char2); }
void Entitytest::test_setAttr_type() { TestProperty * type_property = new TestProperty; type_property->data() = 17; type_property->flags() &= flag_class; m_type->addProperty("test_int_property", type_property); PropertyBase * pb = m_entity->setAttr("test_int_property", 24); ASSERT_NOT_NULL(pb); ASSERT_NOT_EQUAL(type_property, pb); ASSERT_TRUE((pb->flags() & flag_class) == 0); auto * int_property = dynamic_cast<TestProperty *>(pb); ASSERT_NOT_NULL(int_property); ASSERT_EQUAL(int_property->data(), 24); ASSERT_TRUE(!m_TestProperty_install_called); ASSERT_TRUE(m_TestProperty_apply_called); }