Skip to content

Commit 93d4170

Browse files
committed
C#: Add tests for Equals methods with nullable parameter types
1 parent b34777e commit 93d4170

File tree

2 files changed

+172
-0
lines changed

2 files changed

+172
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
using System;
2+
3+
#nullable enable
4+
5+
namespace Test
6+
{
7+
class TestClass1 : IEquatable<TestClass1>
8+
{
9+
private int field1;
10+
11+
public bool Equals(TestClass1? param1)
12+
{
13+
return param1 != null && field1 == param1.field1;
14+
}
15+
16+
public override bool Equals(object? param2)
17+
{
18+
return param2 is TestClass1 tc && Equals(tc);
19+
}
20+
21+
public override int GetHashCode()
22+
{
23+
return field1;
24+
}
25+
}
26+
27+
class TestClass2 : IEquatable<TestClass2>
28+
{
29+
private int field1;
30+
31+
public bool Equals(TestClass2 param1)
32+
{
33+
return param1 != null && field1 == param1.field1;
34+
}
35+
36+
public override bool Equals(object? param2)
37+
{
38+
return param2 is TestClass2 tc && Equals(tc);
39+
}
40+
41+
public override int GetHashCode()
42+
{
43+
return field1;
44+
}
45+
}
46+
47+
class TestClass3 : IEquatable<TestClass3>
48+
{
49+
private int field1;
50+
51+
public bool Equals(TestClass3? param1)
52+
{
53+
return param1 != null && field1 == param1.field1;
54+
}
55+
56+
public override bool Equals(object param2)
57+
{
58+
return param2 is TestClass3 tc && Equals(tc);
59+
}
60+
61+
public override int GetHashCode()
62+
{
63+
return field1;
64+
}
65+
}
66+
67+
class TestClass4 : IEquatable<TestClass4>
68+
{
69+
private int field1;
70+
71+
public bool Equals(TestClass4 param1)
72+
{
73+
return param1 != null && field1 == param1.field1;
74+
}
75+
76+
public override bool Equals(object param2)
77+
{
78+
return param2 is TestClass4 tc && Equals(tc);
79+
}
80+
81+
public override int GetHashCode()
82+
{
83+
return field1;
84+
}
85+
}
86+
}
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
using System;
2+
3+
#nullable enable
4+
5+
namespace Test
6+
{
7+
class TestClass1 : IEquatable<TestClass1>
8+
{
9+
private int field1;
10+
11+
public bool Equals(TestClass1? param1)
12+
{
13+
return param1 != null && field1 == param1.field1;
14+
}
15+
16+
public override bool Equals(object? param2)
17+
{
18+
return param2 is TestClass1 tc && Equals(tc);
19+
}
20+
21+
public override int GetHashCode()
22+
{
23+
return field1;
24+
}
25+
}
26+
27+
class TestClass2 : IEquatable<TestClass2>
28+
{
29+
private int field1;
30+
31+
public bool Equals(TestClass2 param1)
32+
{
33+
return param1 != null && field1 == param1.field1;
34+
}
35+
36+
public override bool Equals(object? param2)
37+
{
38+
return param2 is TestClass2 tc && Equals(tc);
39+
}
40+
41+
public override int GetHashCode()
42+
{
43+
return field1;
44+
}
45+
}
46+
47+
class TestClass3 : IEquatable<TestClass3>
48+
{
49+
private int field1;
50+
51+
public bool Equals(TestClass3? param1)
52+
{
53+
return param1 != null && field1 == param1.field1;
54+
}
55+
56+
public override bool Equals(object param2)
57+
{
58+
return param2 is TestClass3 tc && Equals(tc);
59+
}
60+
61+
public override int GetHashCode()
62+
{
63+
return field1;
64+
}
65+
}
66+
67+
class TestClass4 : IEquatable<TestClass4>
68+
{
69+
private int field1;
70+
71+
public bool Equals(TestClass4 param1)
72+
{
73+
return param1 != null && field1 == param1.field1;
74+
}
75+
76+
public override bool Equals(object param2)
77+
{
78+
return param2 is TestClass4 tc && Equals(tc);
79+
}
80+
81+
public override int GetHashCode()
82+
{
83+
return field1;
84+
}
85+
}
86+
}

0 commit comments

Comments
 (0)