public static void MultipleRightsNoDifferences() { string leftSyntax = @" namespace CompatTests { public class First { public class FirstNested { public class SecondNested { public class ThirdNested { public string MyField; } } } } } "; string[] rightSyntaxes = new[] { leftSyntax, leftSyntax, leftSyntax, leftSyntax }; ApiComparer differ = new(); ElementContainer <IAssemblySymbol> left = new(SymbolFactory.GetAssemblyFromSyntax(leftSyntax), new MetadataInformation(string.Empty, string.Empty, "ref")); IList <ElementContainer <IAssemblySymbol> > right = SymbolFactory.GetElementContainersFromSyntaxes(rightSyntaxes); IEnumerable <(MetadataInformation, MetadataInformation, IEnumerable <CompatDifference>)> differences = differ.GetDifferences(left, right); AssertExtensions.MultiRightEmptyDifferences(left.MetadataInformation, rightSyntaxes.Length, differences); }
public void MultipleRightsNoDifferences() { string leftSyntax = @" namespace CompatTests { public class First { } } "; string[] rightSyntaxes = new[] { @" namespace CompatTests { public class First { } }", @" namespace CompatTests { public class First { protected First() { } } }", @" namespace CompatTests { public class First { internal First() { } } }" }; IAssemblySymbol left = SymbolFactory.GetAssemblyFromSyntax(leftSyntax); MetadataInformation leftMetadata = new("left", "net6.0", "ref/a.dll"); ElementContainer <IAssemblySymbol> leftContainer = new(left, leftMetadata); IList <ElementContainer <IAssemblySymbol> > right = SymbolFactory.GetElementContainersFromSyntaxes(rightSyntaxes); ApiComparer differ = new(); differ.IncludeInternalSymbols = true; IEnumerable <(MetadataInformation left, MetadataInformation right, IEnumerable <CompatDifference> differences)> result = differ.GetDifferences(leftContainer, right); AssertExtensions.MultiRightEmptyDifferences(leftMetadata, 3, result); }
public void MultipleRightsTypeForwardExistsOnAll() { string forwardedTypeSyntax = @" namespace CompatTests { public class ForwardedTestType { } } "; string rightSyntax = @" [assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(CompatTests.ForwardedTestType))] "; string[] rightSyntaxes = new[] { rightSyntax, rightSyntax, rightSyntax, rightSyntax, rightSyntax }; IEnumerable <string> references = new[] { forwardedTypeSyntax }; ElementContainer <IAssemblySymbol> left = new(SymbolFactory.GetAssemblyFromSyntax(forwardedTypeSyntax), new MetadataInformation(string.Empty, string.Empty, "ref")); IList <ElementContainer <IAssemblySymbol> > right = SymbolFactory.GetElementContainersFromSyntaxes(rightSyntaxes, references); ApiComparer differ = new(); IEnumerable <(MetadataInformation, MetadataInformation, IEnumerable <CompatDifference>)> differences = differ.GetDifferences(left, right); AssertExtensions.MultiRightEmptyDifferences(left.MetadataInformation, rightSyntaxes.Length, differences); }