public void TestAppendMany() { PrimitiveColumn <int> intColumn = new PrimitiveColumn <int>("Int1"); intColumn.AppendMany(null, 5); Assert.Equal(5, intColumn.NullCount); Assert.Equal(5, intColumn.Length); for (int i = 0; i < intColumn.Length; i++) { Assert.False(intColumn.IsValid(i)); } intColumn.AppendMany(5, 5); Assert.Equal(5, intColumn.NullCount); Assert.Equal(10, intColumn.Length); for (int i = 5; i < intColumn.Length; i++) { Assert.True(intColumn.IsValid(i)); } intColumn[2] = 10; Assert.Equal(4, intColumn.NullCount); Assert.True(intColumn.IsValid(2)); intColumn[7] = null; Assert.Equal(5, intColumn.NullCount); Assert.False(intColumn.IsValid(7)); }
public void TestPrimitiveColumnSort(int numberOfNulls) { // Primitive Column Sort PrimitiveColumn <int> intColumn = new PrimitiveColumn <int>("Int", 0); Assert.Equal(0, intColumn.NullCount); intColumn.AppendMany(null, numberOfNulls); Assert.Equal(numberOfNulls, intColumn.NullCount); // Should handle all nulls PrimitiveColumn <int> sortedIntColumn = intColumn.Sort() as PrimitiveColumn <int>; Assert.Equal(numberOfNulls, sortedIntColumn.NullCount); Assert.Null(sortedIntColumn[0]); for (int i = 0; i < 5; i++) { intColumn.Append(i); } Assert.Equal(numberOfNulls, intColumn.NullCount); // Ascending sort sortedIntColumn = intColumn.Sort() as PrimitiveColumn <int>; Assert.Equal(0, sortedIntColumn[0]); Assert.Null(sortedIntColumn[9]); // Descending sort sortedIntColumn = intColumn.Sort(false) as PrimitiveColumn <int>; Assert.Equal(4, sortedIntColumn[0]); Assert.Null(sortedIntColumn[9]); }