public void WarnOnNonPartialStruct() { string code = @" [StructGenerators.GenerateEquality] public struct MyStruct { } "; var generatorTestHelper = new GeneratorTestHelper <EqualityGenerator>(); var diagnostics = generatorTestHelper.GetGeneratedDiagnostics(code); diagnostics.Should().Contain(d => d.Id == StructGeneratorAnalyzer.StructMustBePartialDiagnosticDiagnosticId); }
public void WarnOnOperatorNotEquals() { string code = @" [StructGenerators.GenerateEquality] public partial struct MyStruct { public static bool operator !=(MyStruct left, MyStruct right) => true; } "; var generatorTestHelper = new GeneratorTestHelper <EqualityGenerator>(); var diagnostics = generatorTestHelper.GetGeneratedDiagnostics(code); diagnostics.Should().Contain(d => d.Id == StructGeneratorAnalyzer.StructAlreadyImplementsMemberId); }
public void WarnOnEqualsFromInterface() { string code = @" [StructGenerators.GenerateEquality] public partial struct MyStruct : System.IEquatable<MyStruct> { public bool Equals(MyStruct other) => true; } "; var generatorTestHelper = new GeneratorTestHelper <EqualityGenerator>(); var diagnostics = generatorTestHelper.GetGeneratedDiagnostics(code); diagnostics.Should().Contain(d => d.Id == StructGeneratorAnalyzer.StructAlreadyImplementsMemberId); }
public void WarnOnEquals() { string code = @" [StructGenerators.GenerateEquality] public partial struct MyStruct { public override bool Equals(object other) => true; } "; var generatorTestHelper = new GeneratorTestHelper <EqualityGenerator>(); var diagnostics = generatorTestHelper.GetGeneratedDiagnostics(code); diagnostics.Should().Contain(d => d.Id == StructGeneratorAnalyzer.StructAlreadyImplementsMemberId); }