/** * Test EnumSchemaItem with default value * * Create SchemaItem without default value. Method setDefaultValue should return false, * SmartObject should contain previous value. **/ TEST_F(EnumSchemaItemTest, test_item_without_default_value) { SmartObject obj; ISchemaItemPtr item = TEnumSchemaItem<TestType::eType>::create(testEnum, TSchemaItemParameter<TestType::eType>()); //Object - valid enum obj = TestType::BLUETOOTH_OFF; int resultType = item->validate(obj); EXPECT_EQ(Errors::OK, resultType); bool resDefault = item->setDefaultValue(obj); EXPECT_FALSE(resDefault); EXPECT_EQ(TestType::BLUETOOTH_OFF, obj.asInt()); //Obj - bool obj = true; resultType = item->validate(obj); EXPECT_EQ(Errors::INVALID_VALUE, resultType); resDefault = item->setDefaultValue(obj); EXPECT_FALSE(resDefault); EXPECT_TRUE(obj.asBool()); //Object - number obj = 3.1415926; resultType = item->validate(obj); EXPECT_EQ(Errors::INVALID_VALUE, resultType); resDefault = item->setDefaultValue(obj); EXPECT_FALSE(resDefault); EXPECT_EQ(3.1415926, obj.asDouble()); //Object - string obj = "Some string"; resultType = item->validate(obj); EXPECT_EQ(Errors::INVALID_VALUE, resultType); resDefault = item->setDefaultValue(obj); EXPECT_FALSE(resDefault); EXPECT_EQ(std::string("Some string"), obj.asString()); //Object - int in range of enum obj = 6; resultType = item->validate(obj); EXPECT_EQ(Errors::OK, resultType); //Object - int out of enum range obj = 15; resultType = item->validate(obj); EXPECT_EQ(Errors::OUT_OF_RANGE, resultType); }
/** * Test StringSchemaItem no default value * * Create SchemaItem without default value. Method setDefaultValue should always return false * and leave SmartObject in previous state. **/ TEST(test_no_default_value, test_StringSchemaItemTest) { using namespace NsSmartDeviceLink::NsSmartObjects; SmartObject obj; utils::SharedPtr<CStringSchemaItem> item = CStringSchemaItem::create(); // No default value, no max length //Object - valid string obj = "New valid string"; ASSERT_EQ(std::string("New valid string"), obj.asString()); int resultType = item->validate(obj); EXPECT_EQ(Errors::OK, resultType); bool resDefault = item->setDefaultValue(obj); EXPECT_FALSE(resDefault); EXPECT_EQ(std::string("New valid string"), obj.asString()); //Obj - bool obj = true; resultType = item->validate(obj); EXPECT_EQ(Errors::INVALID_VALUE, resultType); resDefault = item->setDefaultValue(obj); EXPECT_FALSE(resDefault); EXPECT_TRUE(obj.asBool()); //Object - number obj = 3.1415926; resultType = item->validate(obj); EXPECT_EQ(Errors::INVALID_VALUE, resultType); resDefault = item->setDefaultValue(obj); EXPECT_FALSE(resDefault); resultType = item->validate(obj); EXPECT_EQ(Errors::INVALID_VALUE, resultType); EXPECT_EQ(3.1415926, obj.asDouble()); }