public void CanResolveMinimalVersionSpec(string v1, string v2, string expected)
 {
     var t = new PackageReferenceSetResolver();
     var l = new List<PackageReference>();
     l.Add(new PackageReference("test", SemanticVersion.Parse("1.1.1.1"), VersionUtility.ParseVersionSpec(v1), new FrameworkName(".NET Framework, Version=4.0"), false));
     l.Add(new PackageReference("test", SemanticVersion.Parse("1.1.1.1"), VersionUtility.ParseVersionSpec(v2), new FrameworkName(".NET Framework, Version=4.0"), false));
     var resolvedVs = t.ResolveValidVersionSpec(l);
     AssertAreEqual(expected, resolvedVs);
 }
        public void CanResolveMinimalVersionSpec(string v1, string v2, string expected)
        {
            var t = new PackageReferenceSetResolver();
            var l = new List<PackageReference>();
            l.Add(new PackageReference("test", SemanticVersion.Parse("1.1.1.1"), VersionUtility.ParseVersionSpec(v1), new FrameworkName(".NET Framework, Version=4.0"), false));
            l.Add(new PackageReference("test", SemanticVersion.Parse("1.1.1.1"), VersionUtility.ParseVersionSpec(v2), new FrameworkName(".NET Framework, Version=4.0"), false));
            var resolvedVs = t.ResolveValidVersionSpec(l);
            if (expected == null)
            {
                Assert.IsNull(resolvedVs);
            }
            else
            {
                var expectedVs = VersionUtility.ParseVersionSpec(expected);
                var iSpec = resolvedVs.VersionConstraint as IVersionSpec;

                //TODO Equality comparer, anyone?  This is pretty crappy....
                Assert.AreEqual(expectedVs.IsMaxInclusive, iSpec.IsMaxInclusive);
                Assert.AreEqual(expectedVs.IsMinInclusive, iSpec.IsMinInclusive);
                Assert.AreEqual(expectedVs.MaxVersion, iSpec.MaxVersion);
                Assert.AreEqual(expectedVs.MinVersion, iSpec.MinVersion);
            }
        }