Skip to content

Commit 1c1ff56

Browse files
authored
add more tests (#147)
1 parent 4096966 commit 1c1ff56

File tree

2 files changed

+56
-5
lines changed

2 files changed

+56
-5
lines changed

src/StronglyTypedIds/EquatableArray.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public bool Equals(EquatableArray<T> array)
3737
/// <sinheritdoc/>
3838
public override bool Equals(object? obj)
3939
{
40-
return obj is EquatableArray<T> array && Equals(array);
40+
return obj is EquatableArray<T> array && this.Equals(array);
4141
}
4242

4343
/// <sinheritdoc/>

test/StronglyTypedIds.Tests/EqualityTests.cs

Lines changed: 55 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,61 @@ public void ResultWithDiagnosticHasExpectedEqualityBehaviour()
151151
}
152152

153153
[Fact]
154-
public void EquatableArrayOverridenEqualsComparesAsExpected() {
155-
var instance = new EquatableArray<string>(["A"]);
156-
object comparand = new EquatableArray<string>(["A"]);
154+
public void EquatableArray_PrimitiveComparison()
155+
{
156+
int[] val1 = [1, 2, 3, 4, 5];
157+
int[] val2 = [1, 2, 3, 4, 5];
158+
159+
var arr1 = new EquatableArray<int>(val1);
160+
var arr2 = new EquatableArray<int>(val2);
161+
162+
Assert.True(arr1.Equals(arr2));
163+
}
164+
165+
[Fact]
166+
public void EquatableArray_RecordComparison()
167+
{
168+
Record[] val1 = [new(1), new(2), new(3), new(4), new(5)];
169+
Record[] val2 = [new(1), new(2), new(3), new(4), new(5)];
170+
171+
var arr1 = new EquatableArray<Record>(val1);
172+
var arr2 = new EquatableArray<Record>(val2);
173+
174+
Assert.True(arr1.Equals(arr2));
175+
}
176+
177+
[Fact]
178+
public void EquatableArray_NestedEquatableArrayComparison()
179+
{
180+
EquatableArray<int>[] val1 = [new([1]), new([2]), new([3]), new([4]), new([5])];
181+
EquatableArray<int>[] val2 = [new([1]), new([2]), new([3]), new([4]), new([5])];
182+
183+
var arr1 = new EquatableArray<EquatableArray<int>>(val1);
184+
var arr2 = new EquatableArray<EquatableArray<int>>(val2);
185+
186+
Assert.True(arr1.Equals(arr2));
187+
}
188+
189+
[Fact]
190+
public void EquatableArray_BoxedNestedEquatableArrayComparison()
191+
{
192+
EquatableArray<int>[] val1 = [new([1]), new([2]), new([3]), new([4]), new([5])];
193+
EquatableArray<int>[] val2 = [new([1]), new([2]), new([3]), new([4]), new([5])];
194+
195+
object arr1 = new EquatableArray<EquatableArray<int>>(val1);
196+
var arr2 = new EquatableArray<EquatableArray<int>>(val2);
197+
198+
Assert.True(arr1.Equals(arr2));
199+
Assert.True(arr2.Equals(arr1));
200+
}
201+
202+
public record Record
203+
{
204+
public Record(int value)
205+
{
206+
Value = value;
207+
}
157208

158-
Assert.True(instance.Equals(comparand));
209+
public int Value { get; }
159210
}
160211
}

0 commit comments

Comments
 (0)