private void CompareArrays(FixedSizeBinaryArray actualArray) { Assert.IsAssignableFrom <FixedSizeBinaryArray>(_expectedArray); Assert.IsAssignableFrom <FixedSizeBinaryArray>(actualArray); var expectedArray = (FixedSizeBinaryArray)_expectedArray; actualArray.Data.DataType.Accept(_arrayTypeComparer); Assert.Equal(expectedArray.Length, actualArray.Length); Assert.Equal(expectedArray.NullCount, actualArray.NullCount); Assert.Equal(expectedArray.Offset, actualArray.Offset); CompareValidityBuffer(expectedArray.NullCount, _expectedArray.Length, expectedArray.NullBitmapBuffer, actualArray.NullBitmapBuffer); if (_strictCompare) { Assert.True(expectedArray.ValueBuffer.Span.Slice(0, expectedArray.Length).SequenceEqual(actualArray.ValueBuffer.Span.Slice(0, actualArray.Length))); } else { for (int i = 0; i < expectedArray.Length; i++) { Assert.True( expectedArray.GetBytes(i).SequenceEqual(actualArray.GetBytes(i)), $"FixedSizeBinaryArray values do not match at index {i}."); } } }
private void CompareArrays(FixedSizeBinaryArray actualArray) { Assert.IsAssignableFrom <FixedSizeBinaryArray>(_expectedArray); Assert.IsAssignableFrom <FixedSizeBinaryArray>(actualArray); var expectedArray = (FixedSizeBinaryArray)_expectedArray; actualArray.Data.DataType.Accept(_arrayTypeComparer); Assert.Equal(expectedArray.Length, actualArray.Length); Assert.Equal(expectedArray.NullCount, actualArray.NullCount); Assert.Equal(expectedArray.Offset, actualArray.Offset); Assert.True(expectedArray.NullBitmapBuffer.Span.SequenceEqual(actualArray.NullBitmapBuffer.Span)); Assert.True(expectedArray.ValueBuffer.Span.Slice(0, expectedArray.Length).SequenceEqual(actualArray.ValueBuffer.Span.Slice(0, actualArray.Length))); }
public void Visit(FixedSizeBinaryArray array) { _buffers.Add(CreateBuffer(array.NullBitmapBuffer)); _buffers.Add(CreateBuffer(array.ValueBuffer)); }
public void Visit(FixedSizeBinaryArray array) => CompareArrays(array);