public void TestWithCells() { var k1 = new Key("b", "cf"); var k2 = new Key("b", "cf", "2"); Assert.IsTrue(k1 < k2); var scanSpec = ScanSpecBuilder .Create() .WithColumns() .WithCells("x", "cf", "cq") .WithCells(k2, k1) .WithCells(new[] { k1, k2 }) .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(5, scanSpec.CellCount); Assert.IsTrue(scanSpec.Cells.SequenceEqual(new[] { new Key("x", "cf", "cq"), k2, k1, k1, k2 })); scanSpec = ScanSpecBuilder .CreateOrdered() .WithColumns() .WithCells("x", "cf", "cq") .WithCells(k2, k1) .WithCells(new[] { k1, k2 }) .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(3, scanSpec.CellCount); Assert.IsTrue(scanSpec.Cells.SequenceEqual(new[] { k1, k2, new Key("x", "cf", "cq") })); }
public void TestWithRows() { var scanSpec = ScanSpecBuilder .Create() .WithColumns() .WithRows("a") .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(1, scanSpec.RowCount); Assert.IsTrue(scanSpec.Rows.SequenceEqual(new[] { "a" })); scanSpec = ScanSpecBuilder .Create() .WithColumns() .WithRows("x", "a") .WithRows("b", "a", "z") .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(5, scanSpec.RowCount); Assert.IsTrue(scanSpec.Rows.SequenceEqual(new[] { "x", "a", "b", "a", "z" })); scanSpec = ScanSpecBuilder .Create() .WithColumns() .WithRows("x", "a") .WithRows(new[] { "b", "a", "z" }) .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(5, scanSpec.RowCount); Assert.IsTrue(scanSpec.Rows.SequenceEqual(new[] { "x", "a", "b", "a", "z" })); scanSpec = ScanSpecBuilder .CreateOrdered() .WithColumns() .WithRows("x", "a") .WithRows("b", "a", "z") .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(4, scanSpec.RowCount); Assert.IsTrue(scanSpec.Rows.SequenceEqual(new[] { "a", "b", "x", "z" })); scanSpec = ScanSpecBuilder .CreateOrdered() .WithColumns() .WithRows("x", "a") .WithRows(new[] { "b", "a", "z" }) .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(4, scanSpec.RowCount); Assert.IsTrue(scanSpec.Rows.SequenceEqual(new[] { "a", "b", "x", "z" })); }
public void TestOp() { var scanSpec = ScanSpecBuilder .Create() .WithColumns() .WithRows("a") .StartDateTime(new DateTime(2011, 3, 10, 13, 45, 12, DateTimeKind.Local)) .EndDateTime(new DateTime(2012, 4, 11, 17, 5, 52, DateTimeKind.Utc)) .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(new DateTime(2011, 3, 10, 13, 45, 12, DateTimeKind.Local).ToUniversalTime(), scanSpec.StartDateTime); Assert.AreEqual(new DateTime(2012, 4, 11, 17, 5, 52, DateTimeKind.Utc), scanSpec.EndDateTime); Assert.IsFalse(scanSpec.ScanAndFilter); Assert.IsFalse(scanSpec.KeysOnly); scanSpec = ScanSpecBuilder .Create() .WithColumns() .WithRows("a") .RowOffset(3) .CellOffset(7) .MaxCells(11) .MaxCellsPerColumnFamily(13) .MaxRows(17) .MaxVersions(23) .ScanAndFilter() .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(3, scanSpec.RowOffset); Assert.AreEqual(7, scanSpec.CellOffset); Assert.AreEqual(11, scanSpec.MaxCells); Assert.AreEqual(13, scanSpec.MaxCellsColumnFamily); Assert.AreEqual(17, scanSpec.MaxRows); Assert.AreEqual(23, scanSpec.MaxVersions); Assert.IsTrue(scanSpec.ScanAndFilter); Assert.IsFalse(scanSpec.KeysOnly); scanSpec = ScanSpecBuilder .Create() .WithColumns() .WithRows("a") .Timeout(TimeSpan.FromMilliseconds(12345)) .Flags(ScannerFlags.BypassTableCache) .KeysOnly() .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(TimeSpan.FromMilliseconds(12345), scanSpec.Timeout); Assert.AreEqual(ScannerFlags.BypassTableCache, scanSpec.Flags); Assert.IsFalse(scanSpec.ScanAndFilter); Assert.IsTrue(scanSpec.KeysOnly); }
public void TestWithColumnPredicates() { var cp1 = new ColumnPredicate("x", MatchKind.ValueExact, Encoding.UTF8.GetBytes("xyz")); var cp2 = new ColumnPredicate("a", MatchKind.ValueExact, Encoding.UTF8.GetBytes("xyz")); Assert.IsTrue(cp2 < cp1); var scanSpec = ScanSpecBuilder .Create() .WithColumns() .WithColumnPredicates(cp1) .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(1, scanSpec.ColumnPredicateCount); Assert.IsTrue(scanSpec.ColumnPredicates.SequenceEqual(new[] { cp1 })); scanSpec = ScanSpecBuilder .Create() .WithColumns() .WithColumnPredicates(cp1, cp2) .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(2, scanSpec.ColumnPredicateCount); Assert.IsTrue(scanSpec.ColumnPredicates.SequenceEqual(new[] { cp1, cp2 })); scanSpec = ScanSpecBuilder .CreateOrdered() .WithColumns() .WithColumnPredicates(cp1, cp2) .WithColumnPredicates(new ColumnPredicate("a", MatchKind.ValueExact, Encoding.UTF8.GetBytes("xyz")), cp1) .Build(); Assert.IsNotNull(scanSpec); Assert.AreEqual(2, scanSpec.ColumnPredicateCount); Assert.IsTrue(scanSpec.ColumnPredicates.SequenceEqual(new[] { cp1, cp2 })); }