public void MissingVersionFile_DoNotInclude()
        {
            var sdkPath = CreateFakeSdkFolder(version: null);

            var include = SdkInstanceProvider.IncludeSdkInstance(
                sdkPath,
                targetVersion: null,
                includePrerelease: false);

            Assert.False(include);
        }
        public void ReleaseVersion_Include()
        {
            var sdkPath = CreateFakeSdkFolder(version: new("6.0.100"));

            var include = SdkInstanceProvider.IncludeSdkInstance(
                sdkPath,
                targetVersion: null,
                includePrerelease: false);

            Assert.True(include);
        }
        public void PreReleaseVersion_TargetVersionTrumpsIncludePrereleases_Include()
        {
            var sdkPath = CreateFakeSdkFolder(version: new("7.0.100-preview.2"));

            var include = SdkInstanceProvider.IncludeSdkInstance(
                sdkPath,
                targetVersion: new("7.0.100-preview.2"),
                includePrerelease: false);

            Assert.True(include);
        }
        public void ReleaseVersion_DoesNotMatchTargetVersion_DoNotInclude()
        {
            var sdkPath = CreateFakeSdkFolder(version: new("6.0.100"));

            var include = SdkInstanceProvider.IncludeSdkInstance(
                sdkPath,
                targetVersion: new("6.0.101"),
                includePrerelease: false);

            Assert.False(include);
        }
        public void VersionString_LessThanMinimumVersion_DoesNotParse()
        {
            var versionString = "5.0.100";

            var parsed = SdkInstanceProvider.TryParseVersion(
                versionString,
                out var version,
                out var errorMessage);

            Assert.False(parsed);
            Assert.NotNull(errorMessage);
        }
        public void VersionString_Malformed_DoesNotParse()
        {
            var versionString = "This.Is.Not.Valid";

            var parsed = SdkInstanceProvider.TryParseVersion(
                versionString,
                out var version,
                out var errorMessage);

            Assert.False(parsed);
            Assert.NotNull(errorMessage);
        }
        public void VersionString_PreReleaseVersion_DoesParse()
        {
            var versionString = "7.0.100-preview.2";

            var parsed = SdkInstanceProvider.TryParseVersion(
                versionString,
                out var version,
                out var errorMessage);

            Assert.True(parsed);
            Assert.Equal(versionString, version.ToString());
            Assert.Null(errorMessage);
        }