public void ApproveExample()
    {
        var engine = new ComparerEngine();
        var diff = engine.CreateDiff("ExampleV1.dll", "ExampleV2.dll");

        var breakingChanges = BreakingChangeFinder.Find(diff);
        Approvals.Verify(string.Join(Environment.NewLine,breakingChanges));
    }
    public void ApproveExample()
    {
        var engine = new ComparerEngine();
        var diff   = engine.CreateDiff("ExampleV1.dll", "ExampleV2.dll");

        var breakingChanges = BreakingChangeFinder.Find(diff);

        Approvals.Verify(string.Join(Environment.NewLine, breakingChanges));
    }
    public void ApproveExample()
    {
        var engine = new ComparerEngine();
        var diff = engine.CreateDiff("ExampleV1.dll", "ExampleV2.dll");

        var stringBuilder = new StringWriter();
        var formatter = new APIUpgradeToMarkdownFormatter();

        formatter.WriteOut(diff, stringBuilder, new FormattingInfo(string.Empty, string.Empty));

        Approvals.Verify(stringBuilder.ToString());
    }
    public void ApproveExample()
    {
        var engine = new ComparerEngine();
        var diff   = engine.CreateDiff("ExampleV1.dll", "ExampleV2.dll");

        var stringBuilder = new StringWriter();
        var formatter     = new APIUpgradeToMarkdownFormatter();

        formatter.WriteOut(ApiChanges.FromDiff(diff), stringBuilder);

        Approvals.Verify(stringBuilder.ToString());
    }
Пример #5
0
 public DiffedCompareSet[] Diff(CompareSet[] compareSets)
 {
     var engine = new ComparerEngine();
     return
         (
             from set in compareSets.OrderByDescending(cs => cs.Name)
             let diff = engine.CreateDiff(set.LeftAssemblyGroup, set.RightAssemblyGroup)
             select new DiffedCompareSet
             {
                 Set = set,
                 Diff = diff
             }
             ).ToArray();
 }
Пример #6
0
        public DiffedCompareSet[] Diff(CompareSet[] compareSets)
        {
            var engine = new ComparerEngine();

            return
                ((
                     from set in compareSets.OrderByDescending(cs => cs.Name)
                     let diff = engine.CreateDiff(set.LeftAssemblyGroup, set.RightAssemblyGroup)
                                select new DiffedCompareSet
            {
                Set = set,
                Diff = diff
            }
                     ).ToArray());
        }
Пример #7
0
    static bool Compare(CompareSet compareSet, bool showAllVersions = true, bool nonInteractive = false, string reportPath = null)
    {
        var engine = new ComparerEngine();

        var diff = engine.CreateDiff(compareSet.LeftAssemblyGroup, compareSet.RightAssemblyGroup);

        var breakingChanges = BreakingChangeFinder.Find(diff)
                              .ToList();

        var hasBreakingChange = breakingChanges.Any();

        if (!showAllVersions && !hasBreakingChange)
        {
            return(true);
        }

        Console.Out.Write("Checking {0}", compareSet);

        if (hasBreakingChange)
        {
            Console.Out.WriteLine(": {0} Breaking Changes found", breakingChanges.Count);
        }
        else
        {
            Console.Out.WriteLine(": No breaking changes found");
        }

        var resultFile = reportPath ?? Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".md");

        using (var fileStream = File.OpenWrite(resultFile))
            using (var into = new StreamWriter(fileStream))
            {
                var formatter = new APIUpgradeToMarkdownFormatter();
                formatter.WriteOut(ApiChanges.FromDiff(diff), @into);

                @into.Flush();
                @into.Close();
                fileStream.Close();
            }

        Console.Out.WriteLine(resultFile);
        if (!nonInteractive)
        {
            Process.Start(resultFile);
        }
        return(!hasBreakingChange);
    }
    public void ApproveNServiceBus()
    {
        var packages = new[]
        {
            "4.6.4", "5.0.0-beta0004"
        };

        var nugetCacheDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "NuGet", "Cache");
        var repo = new AggregateRepository(new[]
        {
            PackageRepositoryFactory.Default.CreateRepository(nugetCacheDirectory),
            PackageRepositoryFactory.Default.CreateRepository("https://www.nuget.org/api/v2"),
            PackageRepositoryFactory.Default.CreateRepository("https://www.myget.org/F/particular/"),
        });

        var packageManager = new PackageManager(repo, "packages");

        foreach (var v in packages)
        {
            if (!Directory.Exists(Path.Combine("packages", "NServiceBus." + v)))
            {
                packageManager.InstallPackage("NServiceBus", SemanticVersion.Parse(v));
            }
        }

        var file1 = Path.Combine("packages", "NServiceBus." + packages[0], "lib", "net40", "NServiceBus.Core.dll");
        var file2 = Path.Combine("packages", "NServiceBus." + packages[1], "lib", "net45", "NServiceBus.Core.dll");

        var engine = new ComparerEngine();

        var diff = engine.CreateDiff(file1, file2);

        var stringBuilder = new StringWriter();
        var formatter     = new APIUpgradeToMarkdownFormatter();

        formatter.WriteOut(ApiChanges.FromDiff(diff), stringBuilder);

        Approvals.Verify(stringBuilder.ToString());
    }
Пример #9
0
    private static void Compare(CompareSet compareSet, bool showAllVersions = true)
    {
        var engine = new ComparerEngine();

        var diff = engine.CreateDiff(compareSet.LeftAssemblyGroup, compareSet.RightAssemblyGroup);

        var breakingChanges = BreakingChangeFinder.Find(diff)
            .ToList();

        if (showAllVersions || breakingChanges.Any())
        {
            Console.Out.Write("Checking {0}", compareSet);

            if (breakingChanges.Any())
            {
                Console.Out.Write(": {0} Breaking Changes found", breakingChanges.Count);
            }
            else
            {
                Console.Out.Write(" No breaking changes found");
            }

            var resultFile = Path.Combine(Path.GetTempPath(),Guid.NewGuid() + ".md");

            using (var fileStream = File.OpenWrite(resultFile))
            using (var into = new StreamWriter(fileStream))
            {
                var formatter = new APIUpgradeToMarkdownFormatter();
                formatter.WriteOut(diff, into, new FormattingInfo("tbd", "tbd"));

                into.Flush();
                into.Close();
                fileStream.Close();
            }

            Process.Start(resultFile);
        }
    }
        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());
        }
Пример #11
0
    private static void Compare(CompareSet compareSet,bool showAllVersions = true)
    {
        var engine = new ComparerEngine();

        var diff = engine.CreateDiff(compareSet.LeftAssemblyGroup, compareSet.RightAssemblyGroup);

        var breakingChanges = BreakingChangeFinder.Find(diff)
            .ToList();

        if (showAllVersions || breakingChanges.Any())
        {
            Console.Out.Write("Checking {0}", compareSet);

            if (breakingChanges.Any())
            {
                Console.Out.Write(": {0} Breaking Changes found", breakingChanges.Count);
            }
            else
            {
                Console.Out.Write(" OK");
            }

            var resultFile = string.Format("{0}-{1}..{2}.md", compareSet.Name, compareSet.Versions.LeftVersion, compareSet.Versions.RightVersion);
            using (var fileStream = File.OpenWrite(resultFile))
            using(var into = new StreamWriter(fileStream))
            {
                var formatter = new APIUpgradeToMarkdownFormatter();
                formatter.WriteOut(diff, into, new FormattingInfo("tbd", "tbd"));

                into.Flush();
                into.Close();
                fileStream.Close();
            }

            Console.Out.WriteLine(", Full report written to " + resultFile);
        }
    }
    public void ApproveNServiceBus()
    {
        var packages = new[]
        {
            "4.6.4", "5.0.0-beta0004"
        };

        var nugetCacheDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "NuGet", "Cache");
        var repo = new AggregateRepository(new[]
        {
            PackageRepositoryFactory.Default.CreateRepository(nugetCacheDirectory),
            PackageRepositoryFactory.Default.CreateRepository("https://www.nuget.org/api/v2"),
            PackageRepositoryFactory.Default.CreateRepository("https://www.myget.org/F/particular/"),
        });

        var packageManager = new PackageManager(repo, "packages");

        foreach (var v in packages)
        {
            if (!Directory.Exists(Path.Combine("packages", "NServiceBus." + v)))
                packageManager.InstallPackage("NServiceBus", SemanticVersion.Parse(v));
        }

        var file1 = Path.Combine("packages", "NServiceBus." + packages[0], "lib", "net40", "NServiceBus.Core.dll");
        var file2 = Path.Combine("packages", "NServiceBus." + packages[1], "lib", "net45", "NServiceBus.Core.dll");

        var engine = new ComparerEngine();

        var diff = engine.CreateDiff(file1, file2);

        var stringBuilder = new StringWriter();
        var formatter = new APIUpgradeToMarkdownFormatter();
        formatter.WriteOut(diff, stringBuilder, new FormattingInfo(string.Empty, string.Empty));

        Approvals.Verify(stringBuilder.ToString());
    }
        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());
        }