#include "CppUnitTest.h" #include "Editor/LayerStyle.h" #include #include using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace UnitTest { TEST_CLASS(LayerStyleContainerTest) { private: char* argv[1]; int argc; LayerStyleContainer containerParent, containerChild; public: LayerStyleContainerTest() : argv{ const_cast("") }, argc(1), containerParent(LayerStyleContainer::TYPE_ALL), containerChild(LayerStyleContainer::TYPE_UNCLOSED) { QApplication app(argc, argv); Assert::IsTrue(containerParent.empty()); Assert::IsTrue(containerChild.empty()); auto fillStyle = containerParent.makeUnusedStyle(FillElementLayerStyle::displayName()); Assert::IsTrue(containerParent.useStyle(std::shared_ptr(std::move(fillStyle)))); Assert::IsFalse(containerParent.empty()); Assert::IsFalse(containerParent.full()); auto strokeStyle = containerParent.makeUnusedStyle(StrokeElementLayerStyle::displayName()); containerParent.useStyle(std::shared_ptr(std::move(strokeStyle))); auto childStrokeStyle = containerChild.makeUnusedStyle(StrokeElementLayerStyle::displayName()); containerChild.useStyle(std::shared_ptr(std::move(childStrokeStyle))); Assert::IsTrue(containerChild.full()); containerParent.computeNewHash(); containerChild.computeNewHash(); } TEST_METHOD(ContainerCoverTest) { const auto& newContainer = containerParent | containerChild; Assert::IsTrue(newContainer.full()); Assert::AreEqual(newContainer.getHash(), containerChild.getHash()); } }; }