Skip to content

Commit

Permalink
try alternative comparison
Browse files Browse the repository at this point in the history
  • Loading branch information
paleolimbot committed Mar 21, 2024
1 parent 8dd18a2 commit aa37d45
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions csharp/test/Apache.Arrow.Tests/ArrowReaderVerifier.cs
Original file line number Diff line number Diff line change
Expand Up @@ -432,9 +432,21 @@ private void CompareValidityBuffer(int nullCount, int arrayLength, ArrowBuffer e
else if (nullCount != 0)
{
int validityBitmapByteCount = BitUtility.ByteCount(arrayLength);
Assert.True(
expectedValidityBuffer.Span.Slice(0, validityBitmapByteCount).SequenceEqual(actualValidityBuffer.Span.Slice(0, validityBitmapByteCount)),
"Validity buffers do not match.");
ReadOnlySpan<byte> expectedSpan = expectedValidityBuffer.Span.Slice(0, validityBitmapByteCount);
ReadOnlySpan<byte> actualSpan = actualValidityBuffer.Span.Slice(0, validityBitmapByteCount);
bool bitmaps_equal = expectedSpan.SequenceEqual(actualSpan);
if (!bitmaps_equal)
{
for (int i = 0; i < arrayLength; i++)
{
Assert.True(
BitUtility.GetBit(expectedSpan, i) == BitUtility.GetBit(actualSpan, i),
string.Format("bit at index {0}/{1} is not equal", i, arrayLength));
}

}

Assert.True(bitmaps_equal, "Validity buffers do not match.");
}
}
}
Expand Down

0 comments on commit aa37d45

Please sign in to comment.