public void SdkVersionInfo_TryParseReturnsFalse_ForInvalidVersionFormat(string version) { // Arrange & Act var isValid = SdkVersionInfo.TryParse(version, out var result); // Assert Assert.False(isValid); Assert.Null(result); }
public void ComparingVersions_PrereleaseVersionsAreLesserThanNonPrereleaseOnes( string prereleaseVersion, string nonPrereleaseVersion) { // Arrange var expected = -1; var prereleaseVersionInfo = SdkVersionInfo.Parse(prereleaseVersion); var nonPrereleaseVersionInfo = SdkVersionInfo.Parse(nonPrereleaseVersion); // Act var actual = prereleaseVersionInfo.CompareTo(nonPrereleaseVersionInfo); // Assert Assert.Equal(expected, actual); }
public void VersionsAreSorted_AsPerComparisonRules( IEnumerable <string> inputVersions, IEnumerable <string> expectedSortedVersions) { // Arrange var originalList = inputVersions.Select(sdk => SdkVersionInfo.Parse(sdk)); // Act var actual = originalList.OrderBy(sdk => sdk); // Assert var actualSortedVersions = actual.Select(sdk => sdk.RawString); Assert.Equal(expectedSortedVersions, actualSortedVersions, StringComparer.OrdinalIgnoreCase); }
public void PrereleaseVersions_AreCompared_CaseInsensitively( string prereleaseVersion, string nonPrereleaseVersion, int expected) { // Arrange var prereleaseVersionInfo = SdkVersionInfo.Parse(prereleaseVersion); var nonPrereleaseVersionInfo = SdkVersionInfo.Parse(nonPrereleaseVersion); // Act var actual = prereleaseVersionInfo.CompareTo(nonPrereleaseVersionInfo); // Assert Assert.Equal(expected, actual); }
public void SdkVersionInfo_ParsesVersionAsExpected( string rawString, int expectedMajor, int expectedMinor, int expectedFeature, int expectedPatch) { // Arrange & Act var actual = SdkVersionInfo.Parse(rawString); // Assert Assert.Equal(expectedMajor, actual.Major); Assert.Equal(expectedMinor, actual.Minor); Assert.Equal(expectedFeature, actual.Feature); Assert.Equal(expectedPatch, actual.Patch); Assert.Equal(rawString, actual.RawString); Assert.False(actual.IsPrerelease); Assert.Null(actual.PrereleaseVersion); }