Equals() public method

public Equals ( SemanticVersion, obj ) : bool
obj SemanticVersion,
return bool
Esempio n. 1
0
        public void Should_override_equality_operators()
        {
            var a = new SemanticVersion(0, 0, 1);
            var b = new SemanticVersion(1, 2, 3);
            var c = new SemanticVersion(0, 0, 1);

            // Equality

            (a == c).ShouldBeTrue();
            (a == b).ShouldBeFalse();
            (a != b).ShouldBeTrue();

            a.Equals(c).ShouldBeTrue();
            a.Equals(0).ShouldBeFalse();
            a.Equals(null).ShouldBeFalse();

            a.GetHashCode().ShouldBe(c.GetHashCode());
            a.GetHashCode().ShouldNotBe(b.GetHashCode());

            // Comparison
            (a < b).ShouldBeTrue();
            (b < a).ShouldBeFalse();

            (a <= c).ShouldBeTrue();
            (b <= a).ShouldBeFalse();

            (b > a).ShouldBeTrue();
            (a > b).ShouldBeFalse();

            (a >= c).ShouldBeTrue();
            (a >= b).ShouldBeFalse();
        }
        public void NullSemanticVersionsAreNotConsideredEqual()
        {
            object asNull = null;
            var    major  = Generator.Integer(0, 200);
            var    minor  = Generator.Integer(0, 200);
            var    patch  = Generator.Integer(0, 200);
            var    sv     = new SemanticVersion(major, minor, patch);

            Assert.False(sv == null);
            Assert.False(null == sv);
            Assert.True(sv != null);
            Assert.False(sv.Equals(null));
            Assert.False(sv.Equals(asNull));
        }
        public void SemVerLessThanAndGreaterThanOperatorsWorks(string versionA, string versionB)
        {
            // Arrange
            var    itemA   = new SemanticVersion(versionA);
            var    itemB   = new SemanticVersion(versionB);
            object objectB = itemB;

            // Act and Assert
            Assert.True(itemA < itemB);
            Assert.True(itemA <= itemB);
            Assert.True(itemB > itemA);
            Assert.True(itemB >= itemA);
            Assert.False(itemA.Equals(itemB));
            Assert.False(itemA.Equals(objectB));
        }
        public void SemVerEqualsOperatorWorks(string versionA, string versionB)
        {
            // Arrange
            var    itemA   = new SemanticVersion(versionA);
            var    itemB   = new SemanticVersion(versionB);
            object objectB = itemB;

            // Act and Assert
            Assert.True(itemA == itemB);
            Assert.True(itemA.Equals(itemB));
            Assert.True(itemA.Equals(objectB));
            Assert.True(itemA <= itemB);
            Assert.True(itemB == itemA);
            Assert.True(itemB >= itemA);
        }
Esempio n. 5
0
        public void Given_Two_Build_Different_Semantic_Version_Then_Return_False()
        {
            SemanticVersion one = new SemanticVersion(1, 2, 3, 4);
            SemanticVersion two = new SemanticVersion(1, 2, 2, 4);

            Assert.IsFalse(one.Equals(two));
        }
Esempio n. 6
0
        public void Given_A_Semantic_Version_And_A_Equal_System_Version_Then_Return_True()
        {
            SemanticVersion one = new SemanticVersion(1, 2, 3, 4);
            Version         two = new Version(1, 2, 3, 4);

            Assert.IsTrue(one.Equals(two));
        }
Esempio n. 7
0
        public void Given_Two_Equal_Semantic_Pre_Version_Then_Return_True()
        {
            SemanticVersion one = new SemanticVersion("1.2.3-alpha.4");
            SemanticVersion two = new SemanticVersion("1.2.3-alpha.4");

            Assert.IsTrue(one.Equals(two));
        }
Esempio n. 8
0
        public void Given_A_Semantic_Version_And_A_Revision_Different_System_Version_Then_Return_False()
        {
            SemanticVersion one = new SemanticVersion(1, 2, 3, 4);
            Version         two = new Version(1, 2, 3, 3);

            Assert.IsFalse(one.Equals(two));
        }
Esempio n. 9
0
        public void NotEqualsBuild()
        {
            SemanticVersion left  = new SemanticVersion(1, 0, 0, "foo", "bar");
            SemanticVersion right = new SemanticVersion(1, 0, 0, "foo", "baz");

            Assert.False(left.Equals(right));
        }
    public void Equality()
    {
        var sv12a = new SemanticVersion(new Version(1, 2), null);
        var sv12b = new SemanticVersion(new Version(1, 2), null);

        Assert.Equal(sv12a, sv12b);

        var sv13 = new SemanticVersion(new Version(1, 3), null);

        Assert.NotEqual(sv12a, sv13);

        var sv12Pre  = new SemanticVersion(new Version(1, 2), "-pre");
        var sv12Beta = new SemanticVersion(new Version(1, 2), "-beta");

        Assert.NotEqual(sv12a, sv12Pre);
        Assert.NotEqual(sv12Pre, sv12Beta);
        Assert.Equal(sv12Pre, sv12Pre);

        var sv12BuildInfo      = new SemanticVersion(new Version(1, 2), buildMetadata: "+buildInfo");
        var sv12OtherBuildInfo = new SemanticVersion(new Version(1, 2), buildMetadata: "+otherBuildInfo");

        Assert.NotEqual(sv12BuildInfo, sv12OtherBuildInfo);
        Assert.Equal(sv12BuildInfo, sv12BuildInfo);

        Assert.False(sv12a.Equals(null));
    }
Esempio n. 11
0
        IPackage FindPackage(int attempt, string packageId, string packageVersion, string feed, out NuGet.PackageDownloader downloader)
        {
            Log.VerboseFormat("Finding package (attempt {0} of {1})", attempt, NumberOfTimesToAttemptToDownloadPackage);

            var remoteRepository = packageRepositoryFactory.CreateRepository(feed);

            var dspr = remoteRepository as DataServicePackageRepository;

            downloader = dspr != null ? dspr.PackageDownloader : null;

            var requiredVersion = new SemanticVersion(packageVersion);
            var package         = remoteRepository.FindPackage(packageId, requiredVersion, true, true);

            if (package == null)
            {
                throw new Exception(string.Format("Could not find package {0} {1} in feed: '{2}'", packageId, packageVersion, feed));
            }

            if (!requiredVersion.Equals(package.Version))
            {
                var message = string.Format("The package version '{0}' returned from the package repository doesn't match the requested package version '{1}'.", package.Version, requiredVersion);
                throw new Exception(message);
            }

            return(package);
        }
Esempio n. 12
0
        public void NotEqualsPrerelease()
        {
            SemanticVersion left  = new SemanticVersion(1, 0, 0, "foo");
            SemanticVersion right = new SemanticVersion(1, 0, 0, "bar");

            Assert.False(left.Equals(right));
        }
        public void DisimilarSemanticVersionsAreNotConsideredEqual()
        {
            var major = Generator.Integer(0, 200);
            var minor = Generator.Integer(0, 200);
            var patch = Generator.Integer(0, 200);
            var sv    = new SemanticVersion(major, minor, patch);

            Assert.NotEqual(sv, new SemanticVersion(major, minor + 1, patch));
            Assert.NotEqual(sv, new SemanticVersion(major + 1, minor, patch));
            Assert.NotEqual(sv, new SemanticVersion(major, minor, patch + 1));
            Assert.False(sv == new SemanticVersion(major, minor, patch + 1));
            Assert.True(sv != new SemanticVersion(major, minor, patch + 1));
            Assert.False(sv.Equals(new SemanticVersion(major + 1, minor, patch)));
            Assert.False(sv.Equals(new SemanticVersion(major, minor + 1, patch)));
            Assert.False(sv.Equals(new SemanticVersion(major, minor, patch + 1)));
        }
Esempio n. 14
0
        public void EqualsObject()
        {
            SemanticVersion left  = new SemanticVersion(1, 0, 0);
            object          right = new SemanticVersion(1, 0, 0);

            Assert.True(left.Equals(right));
        }
Esempio n. 15
0
        public void NotEqualsPatch()
        {
            SemanticVersion left  = new SemanticVersion(1, 0, 0);
            SemanticVersion right = new SemanticVersion(1, 0, 1);

            Assert.False(left.Equals(right));
        }
Esempio n. 16
0
        public void Verify_Equals()
        {
            SemanticVersion left  = new SemanticVersion(1, 0, 0);
            SemanticVersion right = new SemanticVersion(1, 0, 0);

            Assert.True(left.Equals(right));
        }
Esempio n. 17
0
        public void EqualsPatchIsWildcard()
        {
            SemanticVersion left  = new SemanticVersion(1, 0, 1);
            SemanticVersion right = new SemanticVersion(1, 0, null);

            Assert.True(left.Equals(right));
        }
Esempio n. 18
0
        public void EqualsEverythingIsWildcard()
        {
            SemanticVersion left  = new SemanticVersion(1, 0, 1, prerelease: "*");
            SemanticVersion right = new SemanticVersion(null, null, null, prerelease: "*");

            Assert.True(left.Equals(right));
        }
Esempio n. 19
0
        public void EqualsMinorAndPatchAreWildcards()
        {
            SemanticVersion left  = new SemanticVersion(1, 0, 1);
            SemanticVersion right = new SemanticVersion(1, null, null);

            Assert.True(left.Equals(right));
        }
        public void EqualsReturnsFalseIfComparingANonSemVerType(object other)
        {
            // Arrange
            var semVer = new SemanticVersion("1.0.0");

            // Act and Assert
            Assert.False(semVer.Equals(other));
        }
Esempio n. 21
0
        public void EqualTest1()
        {
            var v1 = new SemanticVersion(1, 2, 0, null, "nightly");
            var v2 = new SemanticVersion(1, 2, 0, null, "nightly");

            var r = v1.Equals(v2);

            Assert.True(r);
        }
Esempio n. 22
0
        public static bool IsCompatible(this SemanticVersion v, SemanticVersion minimumVersion, SemanticVersion exactVersion = null)
        {
            if (exactVersion != null)
            {
                return(v.Equals(exactVersion));
            }

            return(v >= minimumVersion);
        }
        public void OtherObjectsAreNotConsideredEqual()
        {
            var major = Generator.Integer(0, 200);
            var minor = Generator.Integer(0, 200);
            var patch = Generator.Integer(0, 200);
            var sv    = new SemanticVersion(major, minor, patch);

            Assert.False(sv.Equals("Something that is not an SemanticVersion"));
        }
Esempio n. 24
0
        public void EqualTest2()
        {
            var v1 = new SemanticVersion(1, 2, 0, "alpha", "dev");
            var v2 = new SemanticVersion(1, 2, 0, "alpha", "dev");

            var r = v1.Equals(v2);

            Assert.True(r);
        }
Esempio n. 25
0
        public bool Equals(PackageName other)
        {
            if (other == null)
            {
                return(ReferenceEquals(_packageId, null));
            }

            return(_packageId.Equals(other._packageId, StringComparison.OrdinalIgnoreCase) &&
                   _version.Equals(other._version));
        }
        public void ReferenceEqualIsconsideredEqual()
        {
            var    major     = Generator.Integer(0, 200);
            var    minor     = Generator.Integer(0, 200);
            var    patch     = Generator.Integer(0, 200);
            var    sv        = new SemanticVersion(major, minor, patch);
            object reference = sv;

            Assert.True(sv.Equals(reference));
            Assert.True(reference.Equals(sv));
        }
        public void SemanticVersionCastAsObjectIsconsideredEqual()
        {
            var    major      = Generator.Integer(0, 200);
            var    minor      = Generator.Integer(0, 200);
            var    patch      = Generator.Integer(0, 200);
            var    sv         = new SemanticVersion(major, minor, patch);
            object equivalent = new SemanticVersion(major, minor, patch);

            Assert.True(sv.Equals(equivalent));
            Assert.True(equivalent.Equals(sv));
        }
Esempio n. 28
0
        public void EqualsWhereNot()
        {
            // Setup
            var version1 = new SemanticVersion("1.0.0-alpha");
            var version2 = new SemanticVersion(4, 15, 26, "beta6");

            // Execute
            var result = version1.Equals(version2);

            // Assert
            Assert.IsFalse(result);
        }
Esempio n. 29
0
        public void Equals()
        {
            // Setup
            var version1 = new SemanticVersion("4.15.26-beta6");
            var version2 = new SemanticVersion(4, 15, 26, "beta6");

            // Execute
            var result = version1.Equals(version2);

            // Assert
            Assert.IsTrue(result);
        }
Esempio n. 30
0
        public void CompareTest()
        {
            SemanticVersion v1 = new SemanticVersion(1, 1, 0);
            SemanticVersion v2 = new SemanticVersion(1, 2, 0);
            SemanticVersion v3 = new SemanticVersion(1, 1, 0);
            SemanticVersion v4 = new SemanticVersion("1.1.0");

            Assert.IsTrue(v1 < v2);
            Assert.IsTrue(v2 > v1);
            Assert.IsTrue(v1 == v3);
            Assert.IsTrue(v1.Equals(v3));
            Assert.IsTrue(v1 == v4);
        }
    public void Equality()
    {
        var sv12a = new SemanticVersion(new Version(1, 2), null);
        var sv12b = new SemanticVersion(new Version(1, 2), null);
        Assert.Equal(sv12a, sv12b);

        var sv13 = new SemanticVersion(new Version(1, 3), null);
        Assert.NotEqual(sv12a, sv13);

        var sv12Pre = new SemanticVersion(new Version(1, 2), "-pre");
        var sv12Beta = new SemanticVersion(new Version(1, 2), "-beta");
        Assert.NotEqual(sv12a, sv12Pre);
        Assert.NotEqual(sv12Pre, sv12Beta);
        Assert.Equal(sv12Pre, sv12Pre);

        Assert.False(sv12a.Equals(null));
    }
Esempio n. 32
0
        public void OverridedEqualsTest()
        {
            SemanticVersion o = null;
            SemanticVersion v = new SemanticVersion(4, 2, 1);

            Assert.False(v.Equals(o));
            Assert.False(v.Equals(new PreRelease(PreReleaseStage.ALPHA)));

            o = v;
            Assert.True(v.Equals(o));

            o = new SemanticVersion(4, 2, 1);
            Assert.True(v.Equals(o));
        }
        public void SemVerEqualsItself(SemanticVersion semVer)
        {
            const bool expected = true;

            var actual = semVer.Equals(semVer);

            Assert.Equal(expected, actual);
        }
Esempio n. 34
0
        public void SemVerEqualsOperatorWorks(string versionA, string versionB)
        {
            // Arrange
            var itemA = new SemanticVersion(versionA);
            var itemB = new SemanticVersion(versionB);
            object objectB = itemB;

            // Act and Assert
            Assert.True(itemA == itemB);
            Assert.True(itemA.Equals(itemB));
            Assert.True(itemA.Equals(objectB));
            Assert.True(itemA <= itemB);
            Assert.True(itemB == itemA);
            Assert.True(itemB >= itemA);
        }
Esempio n. 35
0
        public void EqualsReturnsFalseIfComparingANonSemVerType(object other)
        {
            // Arrange
            var semVer = new SemanticVersion("1.0.0");

            // Act and Assert
            Assert.False(semVer.Equals(other));
        }
Esempio n. 36
0
        public void SemVerLessThanAndGreaterThanOperatorsWorks(string versionA, string versionB)
        {
            // Arrange
            var itemA = new SemanticVersion(versionA);
            var itemB = new SemanticVersion(versionB);
            object objectB = itemB;

            // Act and Assert
            Assert.True(itemA < itemB);
            Assert.True(itemA <= itemB);
            Assert.True(itemB > itemA);
            Assert.True(itemB >= itemA);
            Assert.False(itemA.Equals(itemB));
            Assert.False(itemA.Equals(objectB));
        }
        public void SemVerArentEqualToNull(SemanticVersion semVer)
        {
            const bool expected = false;

            var actual = semVer.Equals(null);

            Assert.Equal(expected, actual);
        }
Esempio n. 38
0
        public void EqualsWhereNot()
        {
            // Setup
            var version1 = new SemanticVersion("1.0.0-alpha");
            var version2 = new SemanticVersion(4, 15, 26, "beta6");

            // Execute
            var result = version1.Equals(version2);

            // Assert
            Assert.IsFalse(result);
        }
Esempio n. 39
0
        public void Equals()
        {
            // Setup
            var version1 = new SemanticVersion("4.15.26-beta6");
            var version2 = new SemanticVersion(4, 15, 26, "beta6");

            // Execute
            var result = version1.Equals(version2);

            // Assert
            Assert.IsTrue(result);
        }
Esempio n. 40
0
        IPackage FindPackage(int attempt, string packageId, string packageVersion, string feed, out NuGet.PackageDownloader downloader)
        {
            Log.VerboseFormat("Finding package (attempt {0} of {1})", attempt, NumberOfTimesToAttemptToDownloadPackage);

            var remoteRepository = packageRepositoryFactory.CreateRepository(feed);

            var dspr = remoteRepository as DataServicePackageRepository;
            downloader = dspr != null ? dspr.PackageDownloader : null;

            var requiredVersion = new SemanticVersion(packageVersion);
            var package = remoteRepository.FindPackage(packageId, requiredVersion, true, true);

            if (package == null)
                throw new Exception(string.Format("Could not find package {0} {1} in feed: '{2}'", packageId, packageVersion, feed));

            if (!requiredVersion.Equals(package.Version))
            {
                var message = string.Format("The package version '{0}' returned from the package repository doesn't match the requested package version '{1}'.", package.Version, requiredVersion);
                throw new Exception(message);
            }

            return package;
        }
    public void Equality()
    {
        var sv12a = new SemanticVersion(new Version(1, 2), null);
        var sv12b = new SemanticVersion(new Version(1, 2), null);
        Assert.Equal(sv12a, sv12b);

        var sv13 = new SemanticVersion(new Version(1, 3), null);
        Assert.NotEqual(sv12a, sv13);

        var sv12Pre = new SemanticVersion(new Version(1, 2), "-pre");
        var sv12Beta = new SemanticVersion(new Version(1, 2), "-beta");
        Assert.NotEqual(sv12a, sv12Pre);
        Assert.NotEqual(sv12Pre, sv12Beta);
        Assert.Equal(sv12Pre, sv12Pre);

        var sv12BuildInfo = new SemanticVersion(new Version(1, 2), buildMetadata: "+buildInfo");
        var sv12OtherBuildInfo = new SemanticVersion(new Version(1, 2), buildMetadata: "+otherBuildInfo");
        Assert.NotEqual(sv12BuildInfo, sv12OtherBuildInfo);
        Assert.Equal(sv12BuildInfo, sv12BuildInfo);

        Assert.False(sv12a.Equals(null));
    }
        public void SemVerArentEqualToStringEmpty(SemanticVersion semVer)
        {
            const bool expected = false;

            var actual = semVer.Equals(string.Empty);

            Assert.Equal(expected, actual);
        }