KiCad PCB EDA Suite
|
Test suite for PROPERTY_HOLDER and PROPERTY_MIXIN classes. More...
#include <qa_utils/wx_utils/unit_test_utils.h>
#include <property_holder.h>
#include <string>
#include <vector>
#include <memory>
Go to the source code of this file.
Functions | |
BOOST_AUTO_TEST_CASE (BasicSetGet) | |
Declare the test suite. | |
BOOST_AUTO_TEST_CASE (TypeSafety) | |
Test type safety - getting with wrong type should return nullopt. | |
BOOST_AUTO_TEST_CASE (DefaultValues) | |
Test GetPropertyOr with default values. | |
BOOST_AUTO_TEST_CASE (ExistenceChecking) | |
Test property existence checking. | |
BOOST_AUTO_TEST_CASE (TypeSpecificExistence) | |
Test type-specific existence checking. | |
BOOST_AUTO_TEST_CASE (PropertyRemoval) | |
Test property removal. | |
BOOST_AUTO_TEST_CASE (ClearProperties) | |
Test clearing all properties. | |
BOOST_AUTO_TEST_CASE (SizeAndEmpty) | |
Test size and empty functionality. | |
BOOST_AUTO_TEST_CASE (KeyRetrieval) | |
Test key retrieval. | |
BOOST_AUTO_TEST_CASE (TypeInformation) | |
Test type information retrieval. | |
BOOST_AUTO_TEST_CASE (ComplexObjects) | |
Test complex object storage and retrieval. | |
BOOST_AUTO_TEST_CASE (PropertyOverwriting) | |
Test property overwriting. | |
BOOST_AUTO_TEST_CASE (BasicMixin) | |
Test suite for PROPERTY_MIXIN. | |
BOOST_AUTO_TEST_CASE (MultipleInstances) | |
Test PROPERTY_MIXIN with multiple instances. | |
BOOST_AUTO_TEST_CASE (PropertyHolderAccess) | |
Test access to underlying PROPERTY_HOLDER. | |
BOOST_AUTO_TEST_CASE (EmptyKeys) | |
Test suite for edge cases and error conditions. | |
BOOST_AUTO_TEST_CASE (MoveSemantics) | |
Test move semantics. | |
BOOST_AUTO_TEST_CASE (NullScenarios) | |
Test with null/invalid scenarios. | |
BOOST_AUTO_TEST_CASE (MagicValueValidation) | |
Test suite for magic value validation and memory safety. | |
BOOST_AUTO_TEST_CASE (SafeCasting) | |
Test safe casting functionality. | |
BOOST_AUTO_TEST_CASE (SafeCastingInvalid) | |
Test safe casting with invalid pointers. | |
BOOST_AUTO_TEST_CASE (UseAfterFreeDetection) | |
Test use-after-free detection. | |
BOOST_AUTO_TEST_CASE (ClientDataHelpers) | |
Test client data creation and deletion helpers. | |
BOOST_AUTO_TEST_CASE (CopyMoveConstructors) | |
Test copy and move constructors preserve magic value. | |
BOOST_AUTO_TEST_CASE (AssignmentOperators) | |
Test assignment operators preserve magic value. | |
BOOST_AUTO_TEST_CASE (InvalidObjectBehavior) | |
Test behavior of methods when object is invalid. | |
Test suite for PROPERTY_HOLDER and PROPERTY_MIXIN classes.
Tests the core functionality of the property system including type safety, storage, retrieval, and all utility functions.
Definition in file test_property_holder.cpp.
BOOST_AUTO_TEST_CASE | ( | AssignmentOperators | ) |
Test assignment operators preserve magic value.
Definition at line 693 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetPropertyOr(), PROPERTY_HOLDER::HasProperty(), PROPERTY_HOLDER::IsValid(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | BasicMixin | ) |
Test suite for PROPERTY_MIXIN.
Test basic PROPERTY_MIXIN functionality
Definition at line 416 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL().
BOOST_AUTO_TEST_CASE | ( | BasicSetGet | ) |
Declare the test suite.
Test basic property setting and getting
Definition at line 114 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetProperty(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | ClearProperties | ) |
Test clearing all properties.
Definition at line 255 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::Clear(), PROPERTY_HOLDER::Empty(), PROPERTY_HOLDER::HasProperty(), PROPERTY_HOLDER::SetProperty(), and PROPERTY_HOLDER::Size().
BOOST_AUTO_TEST_CASE | ( | ClientDataHelpers | ) |
Test client data creation and deletion helpers.
Definition at line 648 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetPropertyOr(), PROPERTY_HOLDER::IsValid(), PROPERTY_HOLDER::SafeDelete(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | ComplexObjects | ) |
Test complex object storage and retrieval.
Definition at line 347 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetProperty(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | CopyMoveConstructors | ) |
Test copy and move constructors preserve magic value.
Definition at line 670 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), copied, PROPERTY_HOLDER::IsValid(), moved, and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | DefaultValues | ) |
Test GetPropertyOr with default values.
Definition at line 169 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetPropertyOr(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | EmptyKeys | ) |
Test suite for edge cases and error conditions.
Test with empty string keys
Definition at line 489 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetPropertyOr(), PROPERTY_HOLDER::HasProperty(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | ExistenceChecking | ) |
Test property existence checking.
Definition at line 197 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL().
BOOST_AUTO_TEST_CASE | ( | InvalidObjectBehavior | ) |
Test behavior of methods when object is invalid.
Definition at line 723 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::Clear(), PROPERTY_HOLDER::Empty(), PROPERTY_HOLDER::GetKeys(), PROPERTY_HOLDER::GetProperty(), PROPERTY_HOLDER::GetPropertyOr(), PROPERTY_HOLDER::GetPropertyType(), PROPERTY_HOLDER::HasProperty(), PROPERTY_HOLDER::HasPropertyOfType(), PROPERTY_HOLDER::IsValid(), PROPERTY_HOLDER::RemoveProperty(), PROPERTY_HOLDER::SetProperty(), and PROPERTY_HOLDER::Size().
BOOST_AUTO_TEST_CASE | ( | KeyRetrieval | ) |
Test key retrieval.
Definition at line 299 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), expected, PROPERTY_HOLDER::GetKeys(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | MagicValueValidation | ) |
Test suite for magic value validation and memory safety.
Test magic value validation
Definition at line 555 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetPropertyOr(), PROPERTY_HOLDER::HasProperty(), PROPERTY_HOLDER::IsValid(), PROPERTY_HOLDER::MAGIC_VALUE, and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | MoveSemantics | ) |
Test move semantics.
Definition at line 507 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetProperty(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | MultipleInstances | ) |
Test PROPERTY_MIXIN with multiple instances.
Definition at line 438 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL().
BOOST_AUTO_TEST_CASE | ( | NullScenarios | ) |
Test with null/invalid scenarios.
Definition at line 525 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetProperty(), PROPERTY_HOLDER::GetPropertyType(), and PROPERTY_HOLDER::RemoveProperty().
BOOST_AUTO_TEST_CASE | ( | PropertyHolderAccess | ) |
Test access to underlying PROPERTY_HOLDER.
Definition at line 461 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetKeys(), PROPERTY_HOLDER::HasProperty(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | PropertyOverwriting | ) |
Test property overwriting.
Definition at line 382 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetProperty(), PROPERTY_HOLDER::GetPropertyOr(), PROPERTY_HOLDER::SetProperty(), and PROPERTY_HOLDER::Size().
BOOST_AUTO_TEST_CASE | ( | PropertyRemoval | ) |
Test property removal.
Definition at line 232 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::HasProperty(), PROPERTY_HOLDER::RemoveProperty(), PROPERTY_HOLDER::SetProperty(), and PROPERTY_HOLDER::Size().
BOOST_AUTO_TEST_CASE | ( | SafeCasting | ) |
Test safe casting functionality.
Definition at line 572 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetPropertyOr(), PROPERTY_HOLDER::IsValid(), PROPERTY_HOLDER::SafeCast(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | SafeCastingInvalid | ) |
Test safe casting with invalid pointers.
Definition at line 602 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), and PROPERTY_HOLDER::SafeCast().
BOOST_AUTO_TEST_CASE | ( | SizeAndEmpty | ) |
Test size and empty functionality.
Definition at line 277 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL().
BOOST_AUTO_TEST_CASE | ( | TypeInformation | ) |
Test type information retrieval.
Definition at line 324 of file test_property_holder.cpp.
References PROPERTY_HOLDER::GetPropertyType(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | TypeSafety | ) |
Test type safety - getting with wrong type should return nullopt.
Definition at line 145 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::GetProperty(), and PROPERTY_HOLDER::SetProperty().
BOOST_AUTO_TEST_CASE | ( | TypeSpecificExistence | ) |
Test type-specific existence checking.
Definition at line 212 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL().
BOOST_AUTO_TEST_CASE | ( | UseAfterFreeDetection | ) |
Test use-after-free detection.
Definition at line 627 of file test_property_holder.cpp.
References BOOST_CHECK_EQUAL(), PROPERTY_HOLDER::IsValid(), PROPERTY_HOLDER::SafeCast(), and PROPERTY_HOLDER::SetProperty().