Skip to content

Commit 0bc0c59

Browse files
Copilothvitved
andcommitted
Add test cases for nullable Equals methods
Adds test cases for Equals methods with nullable reference type parameters (object?) to verify the fix works correctly. Co-authored-by: hvitved <3667920+hvitved@users.noreply.github.com>
1 parent fdbc72a commit 0bc0c59

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

csharp/ql/test/library-tests/frameworks/system/Equals/Equals.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,16 @@ struct Equals1Struct
2424
{
2525
public override bool Equals(object other) => false;
2626
}
27+
28+
#nullable enable
29+
30+
class NullableEquals1
31+
{
32+
public override bool Equals(object? other) => false;
33+
}
34+
35+
class NullableEquals2 : IEquatable<NullableEquals2>
36+
{
37+
public bool Equals(NullableEquals2? other) => other != null;
38+
public override bool Equals(object? other) => other is NullableEquals2 n && Equals(n);
39+
}

csharp/ql/test/library-tests/frameworks/system/Equals/Equals.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@
55
| Equals.cs:16:7:16:13 | Equals3 | Equals3.Equals(Equals3) | true |
66
| Equals.cs:21:8:21:21 | NoEqualsStruct | System.ValueType.Equals(object) | false |
77
| Equals.cs:23:8:23:20 | Equals1Struct | Equals1Struct.Equals(object) | true |
8+
| Equals.cs:31:7:31:21 | NullableEquals1 | NullableEquals1.Equals(object) | true |
9+
| Equals.cs:36:7:36:21 | NullableEquals2 | NullableEquals2.Equals(NullableEquals2) | true |

0 commit comments

Comments
 (0)