Skip to content
Snippets Groups Projects
Commit ce21b4f7 authored by d.kilic's avatar d.kilic
Browse files

Merge branch '321-version-in-pet-file-not-always-major-minor-patch' into 'master'

Resolve "Version in pet-File not always MAJOR.MINOR.PATCH"

Closes #321

See merge request !207
parents e153f743 0bde05cf
No related branches found
No related tags found
1 merge request!207Resolve "Version in pet-File not always MAJOR.MINOR.PATCH"
Pipeline #73759 passed
...@@ -232,7 +232,21 @@ bool newerThanVersion(const QString &q1, const QString &q2) ...@@ -232,7 +232,21 @@ bool newerThanVersion(const QString &q1, const QString &q2)
} }
if(!(version1_parts.size() == amountOfVersionParts && version2_parts.size() == amountOfVersionParts)) if(!(version1_parts.size() == amountOfVersionParts && version2_parts.size() == amountOfVersionParts))
{ {
throw std::invalid_argument("Invalid PeTrack version string: Amount of version parts is wrong!"); // special case: PATCH can be omissed; is then assumed to be zero
if(version1_parts.size() == 2)
{
version1_parts.push_back(0);
}
if(version2_parts.size() == 2)
{
version2_parts.push_back(0);
}
// check if after addition of patch it is valid
if(!(version1_parts.size() == amountOfVersionParts && version2_parts.size() == amountOfVersionParts))
{
throw std::invalid_argument("Invalid PeTrack version string: Amount of version parts is wrong!");
}
} }
for(int i = 0; i < amountOfVersionParts; ++i) for(int i = 0; i < amountOfVersionParts; ++i)
{ {
......
...@@ -31,6 +31,7 @@ TEST_CASE("Petrack version strings are compared", "[newerThanVersion]") ...@@ -31,6 +31,7 @@ TEST_CASE("Petrack version strings are compared", "[newerThanVersion]")
CHECK(newerThanVersion(QString("0.9.15"), QString("0.9.3"))); CHECK(newerThanVersion(QString("0.9.15"), QString("0.9.3")));
CHECK(newerThanVersion(QString("0.130.1"), QString("0.9.3"))); CHECK(newerThanVersion(QString("0.130.1"), QString("0.9.3")));
CHECK(newerThanVersion(QString("15.9.16"), QString("0.9.3"))); CHECK(newerThanVersion(QString("15.9.16"), QString("0.9.3")));
CHECK(newerThanVersion(QString("0.9.1"), QString("0.9")));
CHECK_FALSE(newerThanVersion(QString("0.9.0"), QString("0.9.1"))); CHECK_FALSE(newerThanVersion(QString("0.9.0"), QString("0.9.1")));
CHECK_FALSE(newerThanVersion(QString("0.8.0"), QString("0.9.0"))); CHECK_FALSE(newerThanVersion(QString("0.8.0"), QString("0.9.0")));
...@@ -39,6 +40,7 @@ TEST_CASE("Petrack version strings are compared", "[newerThanVersion]") ...@@ -39,6 +40,7 @@ TEST_CASE("Petrack version strings are compared", "[newerThanVersion]")
CHECK_FALSE(newerThanVersion(QString("0.9.1"), QString("0.9.13"))); CHECK_FALSE(newerThanVersion(QString("0.9.1"), QString("0.9.13")));
CHECK_FALSE(newerThanVersion(QString("0.9.1"), QString("0.967.13"))); CHECK_FALSE(newerThanVersion(QString("0.9.1"), QString("0.967.13")));
CHECK_FALSE(newerThanVersion(QString("0.9.1"), QString("19.9.13"))); CHECK_FALSE(newerThanVersion(QString("0.9.1"), QString("19.9.13")));
CHECK_FALSE(newerThanVersion(QString("0.9.0"), QString("0.9")));
CHECK_THROWS(newerThanVersion(QString("0.8.k"), QString("0.9.0"))); CHECK_THROWS(newerThanVersion(QString("0.8.k"), QString("0.9.0")));
CHECK_THROWS(newerThanVersion(QString("0.8.9"), QString("0.9.k"))); CHECK_THROWS(newerThanVersion(QString("0.8.9"), QString("0.9.k")));
...@@ -50,4 +52,6 @@ TEST_CASE("Petrack version strings are compared", "[newerThanVersion]") ...@@ -50,4 +52,6 @@ TEST_CASE("Petrack version strings are compared", "[newerThanVersion]")
CHECK_THROWS(newerThanVersion(QString("0.8.9"), QString("k.15.0"))); CHECK_THROWS(newerThanVersion(QString("0.8.9"), QString("k.15.0")));
CHECK_THROWS(newerThanVersion(QString("0.8k.9"), QString("0.15.0"))); CHECK_THROWS(newerThanVersion(QString("0.8k.9"), QString("0.15.0")));
CHECK_THROWS(newerThanVersion(QString("0.9.0.1"), QString("0.9.1"))); CHECK_THROWS(newerThanVersion(QString("0.9.0.1"), QString("0.9.1")));
CHECK_THROWS(newerThanVersion(QString("1."), QString("0.9.5")));
CHECK_THROWS(newerThanVersion(QString("0.9."), QString("0.8.15")));
} }
...@@ -22,6 +22,14 @@ ...@@ -22,6 +22,14 @@
#include <catch2/catch.hpp> #include <catch2/catch.hpp>
TEST_CASE("Petrack version format")
{
QString versionString{PETRACK_VERSION};
// Major.Minor.Patch => 3 version parts
constexpr int numberVersionParts = 3;
CHECK(versionString.split(".").size() == numberVersionParts);
}
SCENARIO("Getting the IDs of the pedestrian from user input", "[petrack][util]") SCENARIO("Getting the IDs of the pedestrian from user input", "[petrack][util]")
{ {
WHEN("Enter valid pedestrian ID filter") WHEN("Enter valid pedestrian ID filter")
...@@ -171,4 +179,4 @@ SCENARIO("Getting the IDs of the pedestrian from user input", "[petrack][util]") ...@@ -171,4 +179,4 @@ SCENARIO("Getting the IDs of the pedestrian from user input", "[petrack][util]")
} }
} }
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment