From 4dedd02bd79fd29cb96b710a41b1100f8c13b04e Mon Sep 17 00:00:00 2001 From: "Junseok, Kim" Date: Wed, 2 Sep 2020 14:41:35 +0900 Subject: [PATCH] DSProperty-test: renew test codes renew test codes - divide tests by function group - use DSPropertyException - add new test for pointer data type Change-Id: I989d4b5aaa700fb2357fcfb807d86dab9418a17e --- tests/DSProperty-test.cpp | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/tests/DSProperty-test.cpp b/tests/DSProperty-test.cpp index 85ae4f1..9f71eb8 100644 --- a/tests/DSProperty-test.cpp +++ b/tests/DSProperty-test.cpp @@ -40,37 +40,61 @@ public: } }; -TEST_F(DSPropertyTest, CreateProperty) +TEST_F(DSPropertyTest, NewDSProperty) { /* DSProperty::DSProperty()*/ DSProperty *pro = new DSProperty(); ASSERT_NE(pro, nullptr) << "Failed to DSProperty()"; delete pro; +} +TEST_F(DSPropertyTest, SetGetProperty) +{ /* DSProperty::DSProperty(std::__cxx11::string, const DSPropertyVariant&, DSPropertyType) */ - pro = new DSProperty("testProperty", 2020, DSPropertyType::INTEGER); + DSProperty *pro = new DSProperty("testProperty", 2020, DSPropertyType::INTEGER); ASSERT_NE(pro, nullptr) << "Failed to DSProperty(key, data, type)"; ASSERT_EQ(pro->getKey(), "testProperty") << "Key value mismatch!"; ASSERT_EQ(pro->getType(), DSPropertyType::INTEGER) << "Type mistmatch!!"; try { int data = std::get(pro->getData()); ASSERT_TRUE(data == 2020) << "data value mismatch!!"; - } catch (std::bad_variant_access &e) { + } catch (DSPropertyException &e) { ASSERT_TRUE(false) << e.what(); } delete pro; +} +TEST_F(DSPropertyTest, NewProperty2) +{ /* DSProperty::DSProperty(DSProperty&) */ DSProperty pro_s("testProperty2", 20.20, DSPropertyType::DOUBLE); - pro = new DSProperty(pro_s); + DSProperty *pro = new DSProperty(pro_s); ASSERT_NE(pro, nullptr) << "Failed to DSProperty(const DSProperty&)"; ASSERT_EQ(pro->getKey(), "testProperty2") << "Key value mismatch!"; ASSERT_EQ(pro->getType(), DSPropertyType::DOUBLE) << "Type mistmatch!!"; try { double data = std::get(pro->getData()); ASSERT_TRUE(data == 20.20) << "data value mismatch!!"; - } catch (std::bad_variant_access &e) { + } catch (DSPropertyException &e) { ASSERT_TRUE(false) << e.what(); } delete pro; } + +TEST_F(DSPropertyTest, CopyAssign) +{ + /* DSProperty::DSProperty(DSProperty&) */ + DSObject *obj = new DSObject(); + DSProperty pro_s("testProperty3", (void *)obj, DSPropertyType::POINTER); + DSProperty pro = pro_s; + ASSERT_EQ(pro.getKey(), "testProperty3") << "Key value mismatch!"; + ASSERT_EQ(pro.getType(), DSPropertyType::POINTER) << "Type mistmatch!!"; + try { + DSObject *data = (DSObject *)std::get(pro.getData()); + ASSERT_TRUE(data == obj) << "data value mismatch!!"; + } catch (DSPropertyException &e) { + ASSERT_TRUE(false) << e.what(); + } + + if (obj) delete obj; +} -- 2.7.4