public void UlongVersion_SecondVersionEqualFirstTestCase()
        {
            const int    expectedValue = 0;
            UlongVersion v1            = null;
            UlongVersion v2            = null;

            Given("Create first version.", () => v1 = new UlongVersion(2))
            .And("Create second version.", _ =>
                 v2 = new UlongVersion(2))
            .When("Compare version.", _ =>
                  v2.CompareTo(v1))
            .ThenAreEqual(expectedValue)
            .Run();
        }
        public void UlongVersionVersionNotLessThanDateTimeTestCase()
        {
            const string expectedReason = "Unable to compare versions UlongVersion and Version2020.";
            UlongVersion v1             = null;
            Version2020  v2             = null;

            Given("Create first version.", () => v1 = new UlongVersion(1))
            .And("Create second version.", _ =>
                 v2 = new Version2020())
            .When("Compare version.", _ =>
                  ExpectedFactFactoryException(() => v1.CompareTo(v2)))
            .ThenAssertErrorDetail(ErrorCode.InvalidFactType, expectedReason)
            .Run();
        }
        public void UlongVersion_FirstVersionLessThanSecondTestCase()
        {
            const int    expectedValue = -1;
            UlongVersion v1            = null;
            UlongVersion v2            = null;

            Given("Create first version.", () => v1 = new UlongVersion(1))
            .And("Create second version.", _ =>
                 v2 = new UlongVersion(2))
            .When("Compare version.", _ =>
                  v1.CompareTo(v2))
            .ThenAreEqual(expectedValue)
            .Run();
        }