Skip to content

Commit 4f5e086

Browse files
mitikovmr.slow
andauthored
Fix/equals (#5)
* Showcase the problem Object equals has a wrong cast * Correct the type assignment --------- Co-authored-by: mr.slow <[email protected]>
1 parent 312b487 commit 4f5e086

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

Equativ.RoaringBitmaps.Tests/RoaringBitmapTests.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,25 @@ public void Equal()
266266
Assert.Equal(rb, rb2);
267267
Assert.Equal(rb.GetHashCode(), rb2.GetHashCode());
268268
}
269+
270+
[Fact]
271+
public void Equals_Simplified()
272+
{
273+
var rb = RoaringBitmap.Create(1, 2, 3);
274+
var rb2 = RoaringBitmap.Create(1, 2, 3);
275+
276+
Assert.True(rb.Equals(rb2));
277+
}
278+
279+
/// <summary> Unlike <see cref="Equals_Simplified"/>, uses <see cref="object.Equals(object?)"/> overload. </summary>
280+
[Fact]
281+
public void ObjectEquals_Simplified()
282+
{
283+
object rb = RoaringBitmap.Create(1, 2, 3);
284+
object rb2 = RoaringBitmap.Create(1, 2, 3);
285+
286+
Assert.True(rb.Equals(rb2));
287+
}
269288

270289
[Fact]
271290
public void LargeArray()

Equativ.RoaringBitmaps/RoaringBitmap.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public bool Equals(RoaringBitmap? other)
5353

5454
public override bool Equals(object? obj)
5555
{
56-
var ra = obj as RoaringArray;
56+
var ra = obj as RoaringBitmap;
5757
return ra != null && Equals(ra);
5858
}
5959

0 commit comments

Comments
 (0)