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); }
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)); }
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)); }
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)); }
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)); }
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)); }
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 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))); }
public void EqualsObject() { SemanticVersion left = new SemanticVersion(1, 0, 0); object right = new SemanticVersion(1, 0, 0); Assert.True(left.Equals(right)); }
public void NotEqualsPatch() { SemanticVersion left = new SemanticVersion(1, 0, 0); SemanticVersion right = new SemanticVersion(1, 0, 1); Assert.False(left.Equals(right)); }
public void Verify_Equals() { SemanticVersion left = new SemanticVersion(1, 0, 0); SemanticVersion right = new SemanticVersion(1, 0, 0); Assert.True(left.Equals(right)); }
public void EqualsPatchIsWildcard() { SemanticVersion left = new SemanticVersion(1, 0, 1); SemanticVersion right = new SemanticVersion(1, 0, null); Assert.True(left.Equals(right)); }
public void EqualsEverythingIsWildcard() { SemanticVersion left = new SemanticVersion(1, 0, 1, prerelease: "*"); SemanticVersion right = new SemanticVersion(null, null, null, prerelease: "*"); Assert.True(left.Equals(right)); }
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)); }
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); }
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")); }
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); }
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)); }
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); }
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); }
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)); }
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); }
public void SemVerArentEqualToNull(SemanticVersion semVer) { const bool expected = false; var actual = semVer.Equals(null); Assert.Equal(expected, actual); }
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 SemVerArentEqualToStringEmpty(SemanticVersion semVer) { const bool expected = false; var actual = semVer.Equals(string.Empty); Assert.Equal(expected, actual); }