public static object Build(PackageDescription description, DiffedCompareSet[] diffedCompareSets) { return new { targets = BuildTargets(diffedCompareSets) }; }
static IEnumerable<object> BuildTargets(DiffedCompareSet[] diffedCompareSets) { var setCount = 0; return from diffedSet in diffedCompareSets let diff = diffedSet.Diff let set = diffedSet.Set let removedPublicTypes = BuildRemovedPublicTypes(diff) let typesMadeInternal = BuildTypesMadeInternal(diff) let typeDifferences = BuildTypeDifferences(diff) let hasChanges = removedPublicTypes.Any() || typesMadeInternal.Any() || typeDifferences.Any() let count = setCount++ select new { set.Name, ShortName = diffedCompareSets.Length < 5 ? set.Name : "Set #" + count, ComparedTo = !string.IsNullOrEmpty(set.ComparedTo) ? $" (Compared To {set.ComparedTo})" : null, noLongerSupported = diff is EmptyDiff, hasRemovedPublicTypes = removedPublicTypes.Any(), removedPublicTypes, hasTypesMadeInternal = typesMadeInternal.Any(), typesMadeInternal, hasTypeDifferences = typeDifferences.Any(), typeDifferences, hasChanges }; }
public void Example() { var engine = new ComparerEngine(); var diff = engine.CreateDiff("ExampleV1.dll", "ExampleV2.dll"); var writer = new StringWriter(); var formatter = new APIUpgradeToHtmlFormatter(); var packageDescription = new PackageDescription { PackageId = "Example", Versions = new VersionPair("1.0.0", "2.0.0") }; var diffedCompareSet = new DiffedCompareSet { Diff = diff, Set = new CompareSet() }; formatter.Render(writer, packageDescription, new [] { diffedCompareSet }); Approvals.VerifyHtml(writer.ToString()); }
public void Render(TextWriter writer, PackageDescription description, DiffedCompareSet[] diffedCompareSets) { var data = ViewModelBuilder.Build(description, diffedCompareSets); template(writer, data); }
static IEnumerable<object> BuildTargets(DiffedCompareSet[] diffedCompareSets) { return from diffedSet in diffedCompareSets let diff = diffedSet.Diff let set = diffedSet.Set let removedPublicTypes = BuildRemovedPublicTypes(diff) let typesMadeInternal = BuildTypesMadeInternal(diff) let typeDifferences = BuildTypeDifferences(diff) let obsoletes = BuildTypesObsoleted(diff) let hasChanges = removedPublicTypes.Any() || typesMadeInternal.Any() || typeDifferences.Any() || obsoletes.Any() select new { set.Name, ComparedTo = !string.IsNullOrEmpty(set.ComparedTo) ? string.Format(" (Compared To {0})", set.ComparedTo) : null, noLongerSupported = diff is EmptyDiff, hasRemovedPublicTypes = removedPublicTypes.Any(), removedPublicTypes, hasTypesMadeInternal = typesMadeInternal.Any(), typesMadeInternal, hasTypeDifferences = typeDifferences.Any(), typeDifferences, hasObsoletes = obsoletes.Any(), obsoletes, hasChanges }; }
public void Example() { var engine = new ComparerEngine(); var diff = engine.CreateDiff("ExampleV1.dll", "ExampleV2.dll"); var writer = new StringWriter(); var formatter = new APIUpgradeToHtmlFormatter(); var packageDescription = new PackageDescription { PackageId = "Example", Versions = new VersionPair("1.0.0", "2.0.0") }; var diffedCompareSet = new DiffedCompareSet { Diff = diff, Set = new CompareSet() }; formatter.Render(writer, packageDescription, new [] {diffedCompareSet}); Approvals.VerifyHtml(writer.ToString()); }