57 instantiations of CompatDifference
Microsoft.DotNet.ApiCompatibility (28)
CompatDifference.cs (1)
62new(MetadataInformation.DefaultLeft,
Rules\AssemblyIdentityMustMatch.cs (3)
42differences.Add(new CompatDifference( 61differences.Add(new CompatDifference( 176new(left,
Rules\AttributesMustMatch.cs (3)
42DifferenceType.Changed => new CompatDifference( 49DifferenceType.Added => new CompatDifference( 56DifferenceType.Removed => new CompatDifference(
Rules\CannotAddAbstractMember.cs (1)
36differences.Add(new CompatDifference(
Rules\CannotAddMemberToInterface.cs (1)
39differences.Add(new CompatDifference(
Rules\CannotAddOrRemoveVirtualKeyword.cs (4)
38differences.Add(new CompatDifference( 62differences.Add(new CompatDifference( 80differences.Add(new CompatDifference( 95differences.Add(new CompatDifference(
Rules\CannotChangeGenericConstraints.cs (2)
108differences.Add(new CompatDifference( 130differences.Add(new CompatDifference(
Rules\CannotChangeParameterName.cs (1)
40differences.Add(new CompatDifference(
Rules\CannotChangeVisibility.cs (2)
75differences.Add(new CompatDifference(leftMetadata, 84differences.Add(new CompatDifference(leftMetadata,
Rules\CannotRemoveBaseTypeOrInterface.cs (2)
62differences.Add(new CompatDifference( 86differences.Add(new CompatDifference(
Rules\CannotSealType.cs (2)
33differences.Add(new CompatDifference( 43differences.Add(new CompatDifference(
Rules\EnumsMustMatch.cs (2)
44differences.Add(new CompatDifference( 76differences.Add(new CompatDifference(
Rules\MembersMustExist.cs (4)
37differences.Add(new CompatDifference( 47differences.Add(new CompatDifference( 66differences.Add(new CompatDifference( 79differences.Add(new CompatDifference(
Microsoft.DotNet.ApiCompatibility.Tests (29)
CompatDifferenceTests.cs (1)
29CompatDifference difference = new(left, right, diagId, message, type, memberId);
Rules\CannotAddAbstractMemberTests.cs (2)
153new CompatDifference(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.CannotAddAbstractMember, string.Empty, DifferenceType.Added, "M:CompatTests.First.FirstNested.SecondNested.SomeAbstractMethod"), 154new CompatDifference(left.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.CannotAddAbstractMember, string.Empty, DifferenceType.Added, "M:CompatTests.First.FirstNested.FirstNestedAbstract"),
Rules\CannotAddMemberToInterfaceTests.cs (2)
191new CompatDifference(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "E:CompatTests.IFoo.MyOtherEvent"), 192new CompatDifference(left.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "M:CompatTests.IFoo.MyOtherMethod"),
Rules\CannotRemoveBaseTypeOrInterfaceTests.cs (2)
274new CompatDifference(leftContainer.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.CannotRemoveBaseType, string.Empty, DifferenceType.Changed, "T:CompatTests.SecondBase"), 275new CompatDifference(leftContainer.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.CannotRemoveBaseInterface, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
Rules\CannotSealTypeTests.cs (3)
143new CompatDifference(left.MetadataInformation, right.ElementAt(2).MetadataInformation, DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First"), 144new CompatDifference(left.MetadataInformation, right.ElementAt(3).MetadataInformation, DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First"), 145new CompatDifference(left.MetadataInformation, right.ElementAt(3).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.#ctor"),
Rules\MembersMustExistTests.cs (4)
391new CompatDifference(left.MetadataInformation, right.ElementAt(0).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.FirstNested.SecondNested.ThirdNested.MyField"), 392new CompatDifference(left.MetadataInformation, right.ElementAt(0).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.FirstNested.SecondNested.MyMethod"), 393new CompatDifference(left.MetadataInformation, right.ElementAt(1).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.FirstNested.get_MyProperty"), 394new CompatDifference(left.MetadataInformation, right.ElementAt(2).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.FirstNested.SecondNested.MyMethod"),
Rules\MembersMustExistTests.Strict.cs (2)
329new CompatDifference(left.MetadataInformation, right.ElementAt(0).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.FirstNested.SecondNested.ThirdNested.MyField"), 330new CompatDifference(left.MetadataInformation, right.ElementAt(1).MetadataInformation, DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.FirstNested.SecondNested.ThirdNested.MyField"),
Rules\TypeMustExistTests.cs (7)
340new CompatDifference(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First"), 341new CompatDifference(left.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Second"), 415new CompatDifference(left.MetadataInformation, right[0].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.FirstNested.SecondNested.ThirdNested"), 416new CompatDifference(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.FirstNested"), 417new CompatDifference(left.MetadataInformation, right[2].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.FirstNested.SecondNested"), 418new CompatDifference(left.MetadataInformation, right[3].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First"), 502new CompatDifference(left.MetadataInformation, right[1].MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.ForwardedTestType"),
Rules\TypeMustExistTests.Strict.cs (5)
257new CompatDifference(left.MetadataInformation, right.ElementAt(1).MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Second"), 258new CompatDifference(left.MetadataInformation, right.ElementAt(2).MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Third"), 322new CompatDifference(left.MetadataInformation, right.First().MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.First.FirstNested.SecondNested.ThirdNested"), 355new CompatDifference(left.MetadataInformation, right.First().MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.ForwardedTestType"), 356new CompatDifference(left.MetadataInformation, right.ElementAt(2).MetadataInformation, DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.ForwardedTestType"),
Runner\ApiCompatRunnerTests.cs (1)
24new CompatDifference(left, right, "CP0001", "Invalid", DifferenceType.Removed, "X01")
472 references to CompatDifference
Microsoft.DotNet.ApiCompatibility (88)
ApiComparer.cs (10)
39public IEnumerable<CompatDifference> GetDifferences(IAssemblySymbol left, 47public IEnumerable<CompatDifference> GetDifferences(ElementContainer<IAssemblySymbol> left, 61public IEnumerable<CompatDifference> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left, 75public IEnumerable<CompatDifference> GetDifferences(IEnumerable<IAssemblySymbol> left, 94public IEnumerable<CompatDifference> GetDifferences(ElementContainer<IAssemblySymbol> left, 112public IEnumerable<CompatDifference> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left, 129private static List<CompatDifference> SortCompatDifferencesByInputMetadata(ILookup<MetadataInformation, CompatDifference> compatDifferencesLookup, 133List<CompatDifference> sortedCompatDifferences = []; 141foreach (IGrouping<MetadataInformation, CompatDifference> compatDifferenceGroup in compatDifferencesLookup)
CompatDifference.cs (8)
18public readonly struct CompatDifference(MetadataInformation left, MetadataInformation right, string diagnosticId, string message, DifferenceType type, string? memberId) : IDiagnostic, IEquatable<CompatDifference> 61public static CompatDifference CreateWithDefaultMetadata(string diagnosticId, string message, DifferenceType type, string? memberId) => 76public bool Equals(CompatDifference other) => 84public override bool Equals(object? obj) => obj is CompatDifference difference && Equals(difference); 103public static bool operator ==(CompatDifference left, CompatDifference right) => left.Equals(right); 106public static bool operator !=(CompatDifference left, CompatDifference right) => !(left == right);
DifferenceVisitor.cs (4)
9/// A visitor that traverses the mapping tree and stores found differences as <see cref="CompatDifference" /> items. 13private readonly HashSet<CompatDifference> _compatDifferences = []; 16public IEnumerable<CompatDifference> CompatDifferences => _compatDifferences; 99foreach (CompatDifference item in mapper.GetDifferences())
IApiComparer.cs (6)
25IEnumerable<CompatDifference> GetDifferences(IAssemblySymbol left, IAssemblySymbol right); 34IEnumerable<CompatDifference> GetDifferences(ElementContainer<IAssemblySymbol> left, ElementContainer<IAssemblySymbol> right); 43IEnumerable<CompatDifference> GetDifferences(ElementContainer<IAssemblySymbol> left, IReadOnlyList<ElementContainer<IAssemblySymbol>> right); 52IEnumerable<CompatDifference> GetDifferences(IEnumerable<IAssemblySymbol> left, IEnumerable<IAssemblySymbol> right); 61IEnumerable<CompatDifference> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left, IEnumerable<ElementContainer<IAssemblySymbol>> right); 70IEnumerable<CompatDifference> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left, IReadOnlyList<IEnumerable<ElementContainer<IAssemblySymbol>>> right);
IDifferenceVisitor.cs (2)
14/// A list of <see cref="CompatDifference"/> items which are associated with <see cref="MetadataInformation" />. 16IEnumerable<CompatDifference> CompatDifferences { get; }
Mapping\ElementMapper.cs (2)
13private IEnumerable<CompatDifference>? _differences; 75public IEnumerable<CompatDifference> GetDifferences()
Mapping\IElementMapper.cs (2)
46/// One list of <see cref="CompatDifference"/> per the number of right elements that the <see cref="IElementMapper{T}"/> contains.</returns> 47IEnumerable<CompatDifference> GetDifferences();
MetadataInformation.cs (1)
8/// and different list of <see cref="CompatDifference"/>.
Rules\AssemblyIdentityMustMatch.cs (2)
33private void RunOnAssemblySymbol(IAssemblySymbol? left, IAssemblySymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, bool singleAssembly, IList<CompatDifference> differences) 175private static CompatDifference CreateIdentityDifference(MetadataInformation left, MetadataInformation right, string format, string leftProperty, string rightProperty, string leftName, string rightName, AssemblyIdentity identity) =>
Rules\AttributesMustMatch.cs (5)
26private void AddDifference(IList<CompatDifference> differences, 40CompatDifference difference = dt switch 75IList<CompatDifference> differences) 174IList<CompatDifference> differences) 214IList<CompatDifference> differences)
Rules\CannotAddAbstractMember.cs (1)
27private void RunOnMemberMapperAction(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences)
Rules\CannotAddMemberToInterface.cs (1)
23private void RunOnMemberSymbol(ISymbol? left, ISymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences)
Rules\CannotAddOrRemoveVirtualKeyword.cs (1)
25private void RunOnMemberSymbol(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences)
Rules\CannotChangeGenericConstraints.cs (3)
33IList<CompatDifference> differences) 56IList<CompatDifference> differences) 78IList<CompatDifference> differences)
Rules\CannotChangeParameterName.cs (1)
24IList<CompatDifference> differences)
Rules\CannotChangeVisibility.cs (3)
61IList<CompatDifference> differences) 97IList<CompatDifference> differences) => RunOnSymbol(left, right, leftMetadata, rightMetadata, differences); 105IList<CompatDifference> differences) => RunOnSymbol(left, right, leftMetadata, rightMetadata, differences);
Rules\CannotRemoveBaseTypeOrInterface.cs (3)
23private void RunOnTypeSymbol(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences) 43private void ValidateBaseTypeNotRemoved(ITypeSymbol left, ITypeSymbol right, string leftName, string rightName, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences) 71private void ValidateInterfaceNotRemoved(ITypeSymbol left, ITypeSymbol right, string leftName, string rightName, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences)
Rules\CannotSealType.cs (1)
23private void RunOnTypeSymbol(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences)
Rules\EnumsMustMatch.cs (1)
21private void RunOnTypeSymbol(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences)
Rules\IRuleRegistrationContext.cs (4)
18void RegisterOnAssemblySymbolAction(Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<CompatDifference>> action); 24void RegisterOnTypeSymbolAction(Action<ITypeSymbol?, ITypeSymbol?, MetadataInformation, MetadataInformation, IList<CompatDifference>> action); 30void RegisterOnMemberSymbolAction(Action<ISymbol?, ISymbol?, MetadataInformation, MetadataInformation, IList<CompatDifference>> action); 38void RegisterOnMemberSymbolAction(Action<ISymbol?, ISymbol?, ITypeSymbol, ITypeSymbol, MetadataInformation, MetadataInformation, IList<CompatDifference>> action);
Rules\IRuleRunner.cs (2)
26/// One list of <see cref="CompatDifference"/> per the number of right elements that the <see cref="IElementMapper{T}"/> contains. 28IEnumerable<CompatDifference> Run<T>(IElementMapper<T> mapper);
Rules\IRuleRunnerContext.cs (3)
13void RunOnAssemblySymbolActions(IAssemblySymbol? left, IAssemblySymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, bool isSingleAssembly, IList<CompatDifference> differences); 15void RunOnTypeSymbolActions(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences); 17void RunOnMemberSymbolActions(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences);
Rules\MembersMustExist.cs (3)
12/// If the member doesn't exist on Right but it does on Left, it adds a <see cref="CompatDifference"/> to the list of differences. 33private void RunOnTypeSymbol(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences) 60private void RunOnMemberSymbol(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences)
Rules\RuleContext.cs (15)
13private readonly List<Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<CompatDifference>>> _onAssemblySymbolActions = []; 14private readonly List<Action<ITypeSymbol?, ITypeSymbol?, MetadataInformation, MetadataInformation, IList<CompatDifference>>> _onTypeSymbolActions = []; 15private readonly List<Action<ISymbol?, ISymbol?, MetadataInformation, MetadataInformation, IList<CompatDifference>>> _onMemberSymbolActions = []; 16private readonly List<Action<ISymbol?, ISymbol?, ITypeSymbol, ITypeSymbol, MetadataInformation, MetadataInformation, IList<CompatDifference>>> _onMemberSymbolWithContainingTypeActions = []; 19public void RegisterOnAssemblySymbolAction(Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<CompatDifference>> action) 25public void RegisterOnTypeSymbolAction(Action<ITypeSymbol?, ITypeSymbol?, MetadataInformation, MetadataInformation, IList<CompatDifference>> action) 31public void RegisterOnMemberSymbolAction(Action<ISymbol?, ISymbol?, MetadataInformation, MetadataInformation, IList<CompatDifference>> action) 37public void RegisterOnMemberSymbolAction(Action<ISymbol?, ISymbol?, ITypeSymbol, ITypeSymbol, MetadataInformation, MetadataInformation, IList<CompatDifference>> action) 43public void RunOnAssemblySymbolActions(IAssemblySymbol? left, IAssemblySymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, bool isSingleAssembly, IList<CompatDifference> differences) 45foreach (Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<CompatDifference>> action in _onAssemblySymbolActions) 52public void RunOnTypeSymbolActions(ITypeSymbol? left, ITypeSymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences) 54foreach (Action<ITypeSymbol?, ITypeSymbol?, MetadataInformation, MetadataInformation, IList<CompatDifference>> action in _onTypeSymbolActions) 61public void RunOnMemberSymbolActions(ISymbol? left, ISymbol? right, ITypeSymbol leftContainingType, ITypeSymbol rightContainingType, MetadataInformation leftMetadata, MetadataInformation rightMetadata, IList<CompatDifference> differences) 63foreach (Action<ISymbol?, ISymbol?, MetadataInformation, MetadataInformation, IList<CompatDifference>> action in _onMemberSymbolActions) 68foreach (Action<ISymbol?, ISymbol?, ITypeSymbol, ITypeSymbol, MetadataInformation, MetadataInformation, IList<CompatDifference>> action in _onMemberSymbolWithContainingTypeActions)
Rules\RuleRunner.cs (2)
22public IEnumerable<CompatDifference> Run<T>(IElementMapper<T> mapper) 24List<CompatDifference> differences = [];
Runner\ApiCompatRunner.cs (2)
58IEnumerable<CompatDifference> differences = apiComparer.GetDifferences(leftContainerList, rightContainersList); 66foreach (CompatDifference difference in differenceGroup)
Microsoft.DotNet.ApiCompatibility.Tests (384)
CompatDifferenceTests.cs (13)
29CompatDifference difference = new(left, right, diagId, message, type, memberId); 43CompatDifference difference = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:Foo"); 44CompatDifference otherEqual = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:Foo"); 45CompatDifference differentDiagId = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Removed, "T:Foo"); 46CompatDifference differentType = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:Foo"); 47CompatDifference differentMemberId = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:FooBar"); 48CompatDifference differentMessage = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, "Hello", DifferenceType.Removed, "T:Foo");
CustomSideNameTests.cs (6)
40IEnumerable<CompatDifference> differences = differ.GetDifferences(new[] { left }, new[] { right }); 74IEnumerable<CompatDifference> differences = differ.GetDifferences(new[] { left }, new[] { right }); 113IEnumerable<CompatDifference> differences = differ.GetDifferences(new[] { left }, new[] { right }); 196IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 199foreach (CompatDifference difference in differences) 205private void AssertNames(CompatDifference difference, string expectedLeftName, string expectedRightName, bool leftFirst = true)
Rules\AssemblyIdentityMustMatchTests.cs (19)
40IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 43CompatDifference expected = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, "AssemblyB, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); 60IEnumerable<CompatDifference> differences = differ.GetDifferences(leftSymbol, rightSymbol); 63CompatDifference expected = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{leftSymbol.Name}, Version=0.0.0.0, Culture=de, PublicKeyToken=null"); 80IEnumerable<CompatDifference> differences = differ.GetDifferences(leftSymbol, rightSymbol); 84CompatDifference expected = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{rightSymbol.Name}, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); 102IEnumerable<CompatDifference> differences = differ.GetDifferences(leftSymbol, rightSymbol); 111CompatDifference expected = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{leftSymbol.Name}, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"); 131IEnumerable<CompatDifference> differences = differ.GetDifferences(leftSymbol, rightSymbol); 149IEnumerable<CompatDifference> differences = differ.GetDifferences(leftSymbol, rightSymbol); 154CompatDifference expected = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{rightSymbol.Name}, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); 177IEnumerable<CompatDifference> differences = differ.GetDifferences(leftSymbol, rightSymbol); 180CompatDifference expected = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.AssemblyIdentityMustMatch, string.Empty, DifferenceType.Changed, $"{leftSymbol.Name}, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null");
Rules\AttributesMustMatchTests.cs (81)
31public static TheoryData<string, string, CompatDifference[]> TypesCases => new() 69new CompatDifference[] {} 106new CompatDifference[] { 107CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "T:CompatTests.First:[T:System.SerializableAttribute]") 146new CompatDifference[] { 147CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First:[T:CompatTests.FooAttribute]") 187new CompatDifference[] {} 225new CompatDifference[] {} 257new CompatDifference[] { 258CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First:[T:CompatTests.FooAttribute]") 298new CompatDifference[] { 299CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First:[T:CompatTests.FooAttribute]"), 304public static TheoryData<string, string, CompatDifference[]> MembersCases => new() { 359new CompatDifference[] { 360CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F:[T:CompatTests.FooAttribute]"), 361CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F:[T:CompatTests.BarAttribute]"), 418new CompatDifference[] { 419CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "P:CompatTests.First.F:[T:CompatTests.FooAttribute]"), 420CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "P:CompatTests.First.F:[T:CompatTests.BarAttribute]"), 481new CompatDifference[] { 482CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "E:CompatTests.First.F:[T:CompatTests.FooAttribute]"), 483CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "E:CompatTests.First.F:[T:CompatTests.BarAttribute]"), 540new CompatDifference[] { 541CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.#ctor:[T:CompatTests.FooAttribute]"), 542CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.#ctor:[T:CompatTests.BarAttribute]"), 599new CompatDifference[] { 600CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F->int:[T:CompatTests.FooAttribute]"), 601CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F->int:[T:CompatTests.BarAttribute]"), 654new CompatDifference[] { 655CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F(System.Int32,System.String)$0:[T:CompatTests.BarAttribute]"), 656CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F(System.Int32,System.String)$1:[T:CompatTests.FooAttribute]"), 704new CompatDifference[] { 705CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "T:CompatTests.First`2<0>:[T:CompatTests.BarAttribute]"), 706CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First`2<1>:[T:CompatTests.FooAttribute]"), 760new CompatDifference[] { 761CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F``2<0>:[T:CompatTests.BarAttribute]"), 762CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F``2<1>:[T:CompatTests.FooAttribute]"), 768public static TheoryData<string, string, CompatDifference[]> StrictMode => new() 805new CompatDifference[] { 806CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "T:CompatTests.First:[T:System.SerializableAttribute]") 846new CompatDifference[] { 847CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First:[T:CompatTests.FooAttribute]") 904new CompatDifference[] { 905CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F:[T:CompatTests.FooAttribute]"), 906CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F:[T:CompatTests.BarAttribute]"), 907CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.F:[T:CompatTests.BazAttribute]") 964new CompatDifference[] { 965CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "P:CompatTests.First.F:[T:CompatTests.FooAttribute]"), 966CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "P:CompatTests.First.F:[T:CompatTests.BarAttribute]"), 967CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "P:CompatTests.First.F:[T:CompatTests.BazAttribute]") 1028new CompatDifference[] { 1029CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "E:CompatTests.First.F:[T:CompatTests.FooAttribute]"), 1030CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "E:CompatTests.First.F:[T:CompatTests.BarAttribute]"), 1031CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "E:CompatTests.First.F:[T:CompatTests.BazAttribute]") 1088new CompatDifference[] { 1089CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.#ctor:[T:CompatTests.FooAttribute]"), 1090CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.#ctor:[T:CompatTests.BarAttribute]"), 1091CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.#ctor:[T:CompatTests.BazAttribute]") 1148new CompatDifference[] { 1149CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F->int:[T:CompatTests.FooAttribute]"), 1150CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F->int:[T:CompatTests.BarAttribute]"), 1151CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.F->int:[T:CompatTests.BazAttribute]") 1204new CompatDifference[] { 1205CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F(System.Int32,System.String)$0:[T:CompatTests.BarAttribute]"), 1206CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.F(System.Int32,System.String)$0:[T:CompatTests.BazAttribute]"), 1207CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F(System.Int32,System.String)$1:[T:CompatTests.FooAttribute]"), 1255new CompatDifference[] { 1256CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "T:CompatTests.First`2<0>:[T:CompatTests.BarAttribute]"), 1257CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "T:CompatTests.First`2<0>:[T:CompatTests.BazAttribute]"), 1258CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "T:CompatTests.First`2<1>:[T:CompatTests.FooAttribute]"), 1312new CompatDifference[] { 1313CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveAttribute, "", DifferenceType.Removed, "M:CompatTests.First.F``2<0>:[T:CompatTests.BarAttribute]"), 1314CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAttribute, "", DifferenceType.Added, "M:CompatTests.First.F``2<0>:[T:CompatTests.BazAttribute]"), 1315CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeAttribute, "", DifferenceType.Changed, "M:CompatTests.First.F``2<1>:[T:CompatTests.FooAttribute]"), 1324public void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax, CompatDifference[] expected) 1334IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right); 1341public void EnsureStrictModeReported(string leftSyntax, string rightSyntax, CompatDifference[] expected) 1351IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right); 1400IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right); 1450IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right).ToArray(); 1454CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.FooAttribute.X"),
Rules\CannotAddAbstractMemberTests.cs (9)
24IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 26CompatDifference[] expected = 28CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddAbstractMember, string.Empty, DifferenceType.Added, "M:CompatTests.First.SecondAbstract") 41IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 54IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 70IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 72foreach (CompatDifference difference in differences) 149IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 151CompatDifference[] expectedDiffs =
Rules\CannotAddMemberToInterfaceTests.cs (10)
47IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 49CompatDifference[] expected = 51CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "M:CompatTests.IFoo.MyMethod"), 52CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "P:CompatTests.IFoo.MyPropertyWithoutDefaultImplementation"), 53CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotAddMemberToInterface, string.Empty, DifferenceType.Added, "E:CompatTests.IFoo.MyEventWithoutImplementation"), 66IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 105IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 107foreach (CompatDifference difference in differences) 187IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 189CompatDifference[] expectedDiffs =
Rules\CannotAddOrRemoveVirtualKeywordTests.cs (8)
23private static CompatDifference[] CreateDifferences(params (DifferenceType dt, string memberId)[] args) 25var differences = new CompatDifference[args.Length]; 28differences[i] = CompatDifference.CreateWithDefaultMetadata( 187public static void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax, bool strictMode, CompatDifference[] expected) 193IEnumerable<CompatDifference> differences = differ.GetDifferences(new[] { left }, new[] { right }); 222IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 224CompatDifference[] expected = new[] 226CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.F"),
Rules\CannotChangeGenericConstraintsTests.cs (31)
41private static readonly CompatDifference[] RemovedClassConstraintDifferences = 43CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.First`1``0:new()"), 44CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Second`1``0:notnull"), 45CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Third`1``0:class"), 46CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Fourth`1``0:struct"), 47CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Fifth`1``0:unmanaged"), 48CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Sixth`1``0:T:System.Enum"), 49CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "T:CompatTests.Seventh`1``0:T:System.Runtime.Serialization.ISerializable") 51private static readonly CompatDifference[] AddedClassConstraintDifferences = RemovedClassConstraintDifferences 52.Select(d => CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Added, d.ReferenceId)).ToArray(); 86private static readonly CompatDifference[] RemovedMethodConstraintDifferences = 88CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.First``1``0:new()"), 89CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Second``1``0:notnull"), 90CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Third``1``0:class"), 91CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Fourth``1``0:struct"), 92CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Fifth``1``0:unmanaged"), 93CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Sixth``1``0:T:System.Enum"), 94CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Removed, "M:CompatTests.C.Seventh``1``0:T:System.Runtime.Serialization.ISerializable") 96private static readonly CompatDifference[] AddedMethodConstraintDifferences = RemovedMethodConstraintDifferences 97.Select(d => CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeGenericConstraint, string.Empty, DifferenceType.Added, d.ReferenceId)).ToArray(); 100public static TheoryData<string, string, CompatDifference[]> TestCases => new() 120Array.Empty<CompatDifference>() 127Array.Empty<CompatDifference>() 178Array.Empty<CompatDifference>() 185Array.Empty<CompatDifference>() 190Array.Empty<CompatDifference>() 194public static TheoryData<string, string, CompatDifference[]> StrictMode => new() 215public void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax, CompatDifference[] expected) 221IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right); 228public void EnsureDiagnosticIsReportedInStrictMode(string leftSyntax, string rightSyntax, CompatDifference[] expected) 236IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right);
Rules\CannotChangeVisibilityTests.cs (33)
25public static TheoryData<string, string, CompatDifference[]> TestCases => new() 41new CompatDifference[] { 42CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "T:CompatTests.First") 63new CompatDifference[] { 64CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F") 85new CompatDifference[] { 86CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F") 103new CompatDifference[] {} 123new CompatDifference[] {} 150new CompatDifference[] {} 177new CompatDifference[] {} 197new CompatDifference[] { 198CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F") 203public static TheoryData<string, string, CompatDifference[]> StrictMode => new() 219new CompatDifference[] { 220CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "T:CompatTests.First") 237new CompatDifference[] { 238CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotExpandVisibility, string.Empty, DifferenceType.Changed, "T:CompatTests.First") 259new CompatDifference[] { 260CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotExpandVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F") 288new CompatDifference[] {} 315new CompatDifference[] {} 335new CompatDifference[] { 336CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotReduceVisibility, string.Empty, DifferenceType.Changed, "F:CompatTests.First.F") 341public static TheoryData<string, string, CompatDifference[]> NoInternals => new() 357new CompatDifference[] {} 377new CompatDifference[] {} 383public void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax, CompatDifference[] expected) 389IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right); 396public void EnsureDiagnosticIsReportedInStrictMode(string leftSyntax, string rightSyntax, CompatDifference[] expected) 404IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right); 411public void EnsureReportedInStrictModeWithoutInternalSymbols(string leftSyntax, string rightSyntax, CompatDifference[] expected) 419IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right);
Rules\CannotRemoveBaseTypeOrInterfaceTests.cs (13)
76IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 78CompatDifference[] expected = new[] 80CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseType, string.Empty, DifferenceType.Changed, "T:CompatTests.First"), 81CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseInterface, string.Empty, DifferenceType.Changed, "T:CompatTests.First"), 114IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 118CompatDifference[] expected = new[] 120CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseInterface, string.Empty, DifferenceType.Changed, "T:CompatTests.First") 153CompatDifference[] differences = differ.GetDifferences(left, right).ToArray(); 155CompatDifference[] expected = new[] 157CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseType, string.Empty, DifferenceType.Changed, "T:CompatTests.First"), 158CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotRemoveBaseInterface, string.Empty, DifferenceType.Changed, "T:CompatTests.First"), 270IEnumerable<CompatDifference> differences = differ.GetDifferences(leftContainer, right); 272CompatDifference[] expectedDiffs =
Rules\CannotSealTypeTests.cs (14)
22IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 24foreach (CompatDifference difference in differences) 38IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 40CompatDifference difference = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First"); 71IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 79CompatDifference[] expected = new[] 81CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First") 139IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 141CompatDifference[] expectedDiffs = 193IEnumerable<CompatDifference> differences = differ.GetDifferences(leftContainer, right); 206CompatDifference[] differences = differ.GetDifferences(left, right).ToArray(); 208CompatDifference expectedDifference = CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotSealType, string.Empty, DifferenceType.Changed, "T:CompatTests.First");
Rules\EnumsMustMatchTests.cs (8)
44IEnumerable<CompatDifference> differences = differ.GetDifferences(new[] { left }, new[] { right }); 46CompatDifference[] expected = new[] 48CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.EnumValuesMustMatch, string.Empty, DifferenceType.Changed, "F:CompatTests.First.A"), 84IEnumerable<CompatDifference> differences = differ.GetDifferences(new[] { left }, new[] { right }); 119IEnumerable<CompatDifference> differences = differ.GetDifferences(new[] { left }, new[] { right }); 153IEnumerable<CompatDifference> differences = differ.GetDifferences(new[] { left }, new[] { right }); 155CompatDifference[] expected = new[] 157CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.EnumTypesMustMatch, string.Empty, DifferenceType.Changed, "T:CompatTests.First"),
Rules\MembersMustExistTests.cs (37)
47IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 49CompatDifference[] expected = new[] 51CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.ShouldReportMethod(System.String,System.String)"), 52CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.get_ShouldReportMissingProperty"), 53CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.get_Item(System.Int32)"), 54CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.add_ShouldReportMissingEvent(CompatTests.EventHandler)"), 55CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.remove_ShouldReportMissingEvent(CompatTests.EventHandler)"), 56CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.ReportMissingField"), 101IEnumerable<CompatDifference> differences = differ.GetDifferences(new[] { left }, new[] { right }); 137IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 139CompatDifference[] expected = 141CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MultipleOverrides(System.String,System.String)"), 142CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MultipleOverrides(System.String,System.Int32,System.String)"), 184IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 188CompatDifference[] expected = 190CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MultipleOverrides(System.String,System.Int32,System.Int32)"), 191CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.set_InternalProperty(System.Int32)"), 227IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 259IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 291IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 293CompatDifference[] expected = 295CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MyMethod(System.String)"), 296CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MyOutMethod(System.String@)"), 297CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MyRefMethod(System.String@)"), 387IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 389CompatDifference[] expectedDiffs = 429IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 458IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 460CompatDifference[] expected = 462CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.#ctor") 496IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 526IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 531CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.F(System.String)") 574IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 578CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.S"), 580CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.get_Prop"), 581CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.M")
Rules\MembersMustExistTests.Strict.cs (29)
47IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 49CompatDifference[] expected = 51CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.ShouldReportMethod(System.String,System.String)"), 52CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.get_ShouldReportMissingProperty"), 53CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.get_Item(System.Int32)"), 54CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.add_ShouldReportMissingEvent(CompatTests.EventHandler)"), 55CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.remove_ShouldReportMissingEvent(CompatTests.EventHandler)"), 56CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.ReportMissingField"), 100IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 136IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 138CompatDifference[] expected = new[] 140CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.MultipleOverrides(System.String,System.String)"), 141CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.MultipleOverrides(System.String,System.Int32,System.String)"), 184IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 188CompatDifference[] expected = 190CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.MultipleOverrides(System.String,System.Int32,System.Int32)"), 191CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.set_InternalProperty(System.Int32)"), 228IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 230CompatDifference[] expected = 232CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "M:CompatTests.First.MissingMethodRight"), 233CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "M:CompatTests.First.MissingMethodLeft(System.String,System.String)"), 325IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 327CompatDifference[] expectedDiffs = 366IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 368CompatDifference[] expected = 370CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.A"), 371CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Removed, "F:CompatTests.First.B"), 372CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.F"), 373CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.MemberMustExist, string.Empty, DifferenceType.Added, "F:CompatTests.First.E"),
Rules\ParameterNamesCannotChangeTests.cs (10)
14public static TheoryData<string, string, CompatDifference[]> TestCases => new() 34new CompatDifference[] { 35CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeParameterName, "", DifferenceType.Changed, "M:CompatTests.First.F(System.Int32,System.String)$0"), 36CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeParameterName, "", DifferenceType.Changed, "M:CompatTests.First.F(System.Int32,System.String)$1") 57new CompatDifference[] { 58CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeParameterName, "", DifferenceType.Changed, "M:CompatTests.First.#ctor(System.Int32,System.String)$0"), 59CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.CannotChangeParameterName, "", DifferenceType.Changed, "M:CompatTests.First.#ctor(System.Int32,System.String)$1") 80new CompatDifference[] {} 86public void EnsureDiagnosticIsReported(string leftSyntax, string rightSyntax, CompatDifference[] expected) 92IEnumerable<CompatDifference> actual = differ.GetDifferences(left, right);
Rules\TypeMustExistTests.cs (36)
41IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 43CompatDifference[] expected = 45CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Second"), 46CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.MyStruct"), 47CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.MyDelegate"), 48CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.MyEnum"), 76IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 78CompatDifference[] expected = 80CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:A.B.C"), 105IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 107CompatDifference[] expected = 109CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:A.B"), 140IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 142CompatDifference[] expected = 144CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.ForwardedTestType") 200IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 202CompatDifference[] expected = 204CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Second"), 205CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Third"), 206CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.Fourth"), 207CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.MyEnum") 234IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 242CompatDifference[] expected = 244CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.InternalType") 284IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 286List<CompatDifference> expected = new() 288CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.FirstNested"), 294CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.First.InternalNested.DoubleNested") 336IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 338CompatDifference[] expected = 411IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 413CompatDifference[] expected = 450IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 474IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 498IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 500CompatDifference[] expected =
Rules\TypeMustExistTests.Strict.cs (26)
40IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 42CompatDifference[] expected = 44CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Second"), 45CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.MyStruct"), 79IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 81CompatDifference[] expected = 83CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.ForwardedTestType") 139IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 141CompatDifference[] expected = 143CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Second"), 144CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Third"), 145CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.Fourth"), 146CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.MyEnum") 179IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 181CompatDifference[] expected = 183CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.First.FirstNested"), 207IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 209CompatDifference[] expected = 211CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Removed, "T:CompatTests.LeftType"), 212CompatDifference.CreateWithDefaultMetadata(DiagnosticIds.TypeMustExist, string.Empty, DifferenceType.Added, "T:CompatTests.RightType"), 253IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 255CompatDifference[] expected = 318IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 320CompatDifference[] expected = 351IEnumerable<CompatDifference> differences = differ.GetDifferences(left, right); 353CompatDifference[] expected =
Runner\ApiCompatRunnerTests.cs (1)
22.Returns(new CompatDifference[]