public void TestDimensionKey() { var schema = CreateSchema( new Field { ValueType = typeof(int), FieldType = FieldType.Dimension, }, new Field { ValueType = typeof(int), FieldType = FieldType.Dimension, }, new Field { ValueType = typeof(int), FieldType = FieldType.Fact, }); var row1 = new object[] { 1, 1, 1 }; var row2 = new object[] { 1, 1, 4 }; var row3 = new object[] { 1, 2, 1 }; var comparer = new RowComparer(schema); Assert.IsTrue(comparer.Equals(row1, row2)); Assert.IsFalse(comparer.Equals(row1, row3)); Assert.IsTrue(comparer.Compare(row1, row2) == 0); Assert.IsTrue(comparer.Compare(row1, row3) == -1); Assert.IsTrue(comparer.Compare(row3, row2) == 1); }
public void TestMulti() { var schema = CreateSchema( new Field { ValueType = typeof(string), FieldType = FieldType.Key }, new Field { ValueType = typeof(int), FieldType = FieldType.Key }, new Field { ValueType = typeof(DateTime?), FieldType = FieldType.Key }, new Field { ValueType = typeof(int), FieldType = FieldType.Fact }); var row1 = new object[] { "A", 1, null, 37 }; var row2 = new object[] { "A", 1, null, 11 }; var row3 = new object[] { "B", 1, null, 3 }; var row4 = new object[] { "B", 1, new DateTime(2000, 1, 1), 9 }; var row5 = new object[] { "B", 1, new DateTime(2000, 1, 1), 11 }; var row6 = new object[] { "B", 1, new DateTime(2000, 1, 2), 3 }; var row7 = new object[] { "B", 2, new DateTime(2000, 1, 2), 2 }; var row8 = new object[] { "C", 19, new DateTime(2000, 1, 2), 2 }; var comparer = new RowComparer(schema); Assert.IsTrue(comparer.Equals(row1, row2)); Assert.IsFalse(comparer.Equals(row1, row4)); Assert.IsTrue(comparer.Equals(row4, row5)); Assert.IsFalse(comparer.Equals(row3, row4)); Assert.IsTrue(comparer.Compare(row1, row2) == 0); Assert.IsTrue(comparer.Compare(row1, row3) == -1); Assert.IsTrue(comparer.Compare(row3, row2) == 1); Assert.IsTrue(comparer.Compare(row4, row3) == 1); Assert.IsTrue(comparer.Compare(row3, row4) == -1); Assert.IsTrue(comparer.Compare(row4, row5) == 0); Assert.IsTrue(comparer.Compare(row5, row6) == -1); Assert.IsTrue(comparer.Compare(row6, row7) == -1); Assert.IsTrue(comparer.Compare(row7, row8) == -1); }
public void TestSingle() { var schema = CreateSchema( new Field { ValueType = typeof(int), FieldType = FieldType.Key, }); var row1 = new object[] { 1 }; var row2 = new object[] { 1 }; var row3 = new object[] { 3 }; var comparer = new RowComparer(schema); Assert.IsTrue(comparer.Equals(row1, row2)); Assert.IsFalse(comparer.Equals(row1, row3)); Assert.IsTrue(comparer.Compare(row1, row2) == 0); Assert.IsTrue(comparer.Compare(row1, row3) == -1); Assert.IsTrue(comparer.Compare(row3, row2) == 1); }