#include "pch.h" #include "VersionHelper.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace UnitTestsVersionHelper { const int MAJOR_VERSION_0 = 0; const int MINOR_VERSION_12 = 12; const int REVISION_VERSION_0 = 0; TEST_CLASS(UnitTestsVersionHelper) { public: TEST_METHOD(integerConstructorShouldProprelyInitializateVersionNumbers) { VersionHelper sut(MAJOR_VERSION_0, MINOR_VERSION_12, REVISION_VERSION_0); Assert::AreEqual(MAJOR_VERSION_0, sut.major); Assert::AreEqual(MINOR_VERSION_12, sut.minor); Assert::AreEqual(REVISION_VERSION_0, sut.revision); } TEST_METHOD(integerConstructorShouldProprelyInitializateWithDifferentVersionNumbers) { const int testcaseMajor = 2; const int testcaseMinor = 25; const int testcaseRevision = 1; VersionHelper sut(testcaseMajor, testcaseMinor, testcaseRevision); Assert::AreEqual(testcaseMajor, sut.major); Assert::AreEqual(testcaseMinor, sut.minor); Assert::AreEqual(testcaseRevision, sut.revision); } TEST_METHOD(stringConstructorShouldProprelyInitializateVersionNumbers) { VersionHelper sut("v0.12.3"); Assert::AreEqual(0, sut.major); Assert::AreEqual(12, sut.minor); Assert::AreEqual(3, sut.revision); } TEST_METHOD(stringConstructorShouldProprelyInitializateWithDifferentVersionNumbers) { VersionHelper sut("v2.25.1"); Assert::AreEqual(2, sut.major); Assert::AreEqual(25, sut.minor); Assert::AreEqual(1, sut.revision); } TEST_METHOD(whenMajorVersionIsGreaterComparationOperatorShouldReturnProperValue) { VersionHelper rhs(MAJOR_VERSION_0, MINOR_VERSION_12, REVISION_VERSION_0); VersionHelper lhs(MAJOR_VERSION_0 + 1, MINOR_VERSION_12, REVISION_VERSION_0); Assert::IsTrue(lhs > rhs); } TEST_METHOD(whenMajorVersionIsLesserComparationOperatorShouldReturnProperValue) { VersionHelper rhs(MAJOR_VERSION_0 + 1, MINOR_VERSION_12, REVISION_VERSION_0); VersionHelper lhs(MAJOR_VERSION_0, MINOR_VERSION_12, REVISION_VERSION_0); Assert::IsFalse(lhs > rhs); } TEST_METHOD(whenMajorVersionIsEqualComparationOperatorShouldCompareMinorVersionValue) { VersionHelper rhs(MAJOR_VERSION_0, MINOR_VERSION_12 - 1, REVISION_VERSION_0); VersionHelper lhs(MAJOR_VERSION_0, MINOR_VERSION_12, REVISION_VERSION_0); Assert::IsTrue(lhs > rhs); } TEST_METHOD(whenMajorVersionIsEqualComparationOperatorShouldCompareMinorVersionValue2) { VersionHelper rhs(MAJOR_VERSION_0, MINOR_VERSION_12, REVISION_VERSION_0); VersionHelper lhs(MAJOR_VERSION_0, MINOR_VERSION_12 - 1, REVISION_VERSION_0); Assert::IsFalse(lhs > rhs); } TEST_METHOD(whenMajorAndMinorVersionIsEqualComparationOperatorShouldCompareRevisionValue) { VersionHelper rhs(MAJOR_VERSION_0, MINOR_VERSION_12, REVISION_VERSION_0); VersionHelper lhs(MAJOR_VERSION_0, MINOR_VERSION_12, REVISION_VERSION_0 + 1); Assert::IsTrue(lhs > rhs); } TEST_METHOD(whenMajorAndMinorVersionIsEqualComparationOperatorShouldCompareRevisionValue2) { VersionHelper rhs(MAJOR_VERSION_0, MINOR_VERSION_12, REVISION_VERSION_0 + 1); VersionHelper lhs(MAJOR_VERSION_0, MINOR_VERSION_12, REVISION_VERSION_0); Assert::IsFalse(lhs > rhs); } }; }