From a33b364d84fd6b5a39f2ea4907015ad516c02f3b Mon Sep 17 00:00:00 2001 From: Artur Wieczorek Date: Sat, 13 Oct 2018 11:20:01 +0200 Subject: [PATCH] Add tests of retrieving main parent of wxPGProperty This is to test wxPGProperty::GetMainParent() function. --- samples/propgrid/tests.cpp | 59 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/samples/propgrid/tests.cpp b/samples/propgrid/tests.cpp index b8e1032822..d5a02aca99 100644 --- a/samples/propgrid/tests.cpp +++ b/samples/propgrid/tests.cpp @@ -870,6 +870,65 @@ bool FormMain::RunTests( bool fullTest, bool interactive ) RT_ASSERT( !pg->IsPropertySelected(prop3) ) } + { + // + // Test retrieving main parent of the property + RT_START_TEST(GetMainParent) + pgman = m_pPropGridManager; + + // Simple properties + wxPGProperty* prop = pgman->GetProperty("DateProperty"); + wxPGProperty* parent = prop->GetMainParent(); + RT_ASSERT(parent->GetName() == "DateProperty"); + + prop = pgman->GetProperty("Label"); + parent = prop->GetMainParent(); + RT_ASSERT(parent->GetName() == "Label"); + + // Properties with children + prop = pgman->GetProperty("Font"); + RT_ASSERT(prop); + parent = prop->GetMainParent(); + RT_ASSERT(parent); + RT_ASSERT(parent->GetName() == "Font"); + + prop = pgman->GetProperty("Font.Style"); + RT_ASSERT(prop); + parent = prop->GetMainParent(); + RT_ASSERT(parent); + RT_ASSERT(parent->GetName() == "Font"); + + prop = pgman->GetProperty("Car"); + RT_ASSERT(prop); + parent = prop->GetMainParent(); + RT_ASSERT(parent); + RT_ASSERT(parent->GetName() == "Car"); + + prop = pgman->GetProperty("Car.Model"); + RT_ASSERT(prop); + parent = prop->GetMainParent(); + RT_ASSERT(parent); + RT_ASSERT(parent->GetName() == "Car"); + + prop = pgman->GetProperty("Car.Speeds"); + RT_ASSERT(prop); + parent = prop->GetMainParent(); + RT_ASSERT(parent); + RT_ASSERT(parent->GetName() == "Car"); + + prop = pgman->GetProperty("3D Object.Triangle 3.A"); + RT_ASSERT(prop); + parent = prop->GetMainParent(); + RT_ASSERT(parent); + RT_ASSERT(parent->GetName() == "3D Object"); + + prop = pgman->GetProperty("3D Object.Triangle 3.A.Z"); + RT_ASSERT(prop); + parent = prop->GetMainParent(); + RT_ASSERT(parent); + RT_ASSERT(parent->GetName() == "3D Object"); + } + { // // Test label editing