Commit a0aed3ac authored by Thomas Braun's avatar Thomas Braun
Browse files

tests: Parametrize FreePropertyHistoryWorks

We can reuse the same test for all attributes which require two names.
parent 18356ed0
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -352,7 +352,13 @@ BOOST_AUTO_TEST_CASE(DbPutPropertyWorks)
    }
}

BOOST_AUTO_TEST_CASE(FreePropertyHistoryWorks)
BOOST_DATA_TEST_CASE_F(AddAndExportDeviceFixture,
                       TwoParameterAttributeHistoryWorks,
                       data::make({"DbPutProperty"}) ^ data::make({"DbGetPropertyHist"}) ^
                           data::make({"DbDeleteProperty"}),
                       putCommand,
                       getHistoryCommand,
                       deleteCommand)
{
    const std::string objName{"globalObj"};
    const std::string propName{"propName0"};
@@ -369,7 +375,7 @@ BOOST_AUTO_TEST_CASE(FreePropertyHistoryWorks)
        auto in = MakeDeviceDataStringArray({objName, "1", propName, "1", propValue});

        Tango::DeviceData reply;
        BOOST_CHECK_NO_THROW(reply = dp->command_inout("DbPutProperty", in));
        BOOST_CHECK_NO_THROW(reply = dp->command_inout(putCommand, in));
    }

    // propName1 with vector values, adding a different property does not influence the history depth of propName0
@@ -381,7 +387,7 @@ BOOST_AUTO_TEST_CASE(FreePropertyHistoryWorks)
        auto in = MakeDeviceDataStringArray({objName, "1", "propName1", "2", propValue + "_0", propValue + "_1"});

        Tango::DeviceData reply;
        BOOST_CHECK_NO_THROW(reply = dp->command_inout("DbPutProperty", in));
        BOOST_CHECK_NO_THROW(reply = dp->command_inout(putCommand, in));
    }

    // also if we now add a new vector value entry for propName0 we still get DEFAULT_HISTORY_DEPTH back below
@@ -391,7 +397,7 @@ BOOST_AUTO_TEST_CASE(FreePropertyHistoryWorks)
        auto in = MakeDeviceDataStringArray({objName, "1", propName, "2", propValue + "_0", propValue + "_1"});

        Tango::DeviceData reply;
        BOOST_CHECK_NO_THROW(reply = dp->command_inout("DbPutProperty", in));
        BOOST_CHECK_NO_THROW(reply = dp->command_inout(putCommand, in));
    }

    // and check that the first value "propValue0" and "propValue1" was forgotten
@@ -399,7 +405,7 @@ BOOST_AUTO_TEST_CASE(FreePropertyHistoryWorks)
        auto in = MakeDeviceDataStringArray({objName, propName});

        Tango::DeviceData reply;
        BOOST_CHECK_NO_THROW(reply = dp->command_inout("DbGetPropertyHist", in));
        BOOST_CHECK_NO_THROW(reply = dp->command_inout(getHistoryCommand, in));
        auto vec = ExtractStringVector(reply);

        // replace volatile data
@@ -466,7 +472,7 @@ BOOST_AUTO_TEST_CASE(FreePropertyHistoryWorks)
        auto in = MakeDeviceDataStringArray({objName, "1", propName});

        Tango::DeviceData reply;
        BOOST_CHECK_NO_THROW(reply = dp->command_inout("DbDeleteProperty", in));
        BOOST_CHECK_NO_THROW(reply = dp->command_inout(deleteCommand, in));
    }

    // now with DELETED entry
@@ -474,7 +480,7 @@ BOOST_AUTO_TEST_CASE(FreePropertyHistoryWorks)
        auto in = MakeDeviceDataStringArray({objName, propName});

        Tango::DeviceData reply;
        BOOST_CHECK_NO_THROW(reply = dp->command_inout("DbGetPropertyHist", in));
        BOOST_CHECK_NO_THROW(reply = dp->command_inout(getHistoryCommand, in));
        auto vec = ExtractStringVector(reply);

        // replace volatile data