Exemple #1
0
 public void the_items_with_hash_collision_are_preserved()
 {
     for (uint i = 0; i <= 1; i++)
     {
         var entries = _newtable.GetRange(i, 0, 0).ToArray();
         Assert.AreEqual(2, entries.Length);
     }
 }
Exemple #2
0
        public void range_query_returns_items_when_endkey_is_greater_than_current_max()
        {
            var items = PTable.GetRange(0x010500000000, 0x0000, 0x0010).ToArray();

            Assert.That(items.Length, Is.EqualTo(1));
            Assert.That(items[0].Stream, Is.EqualTo(GetHash(0x010500000000)));
            Assert.That(items[0].Version, Is.EqualTo(0x0001));
            Assert.That(items[0].Position, Is.EqualTo(0x0002));
        }
Exemple #3
0
        public void range_query_returns_correct_item2()
        {
            var items = PTable.GetRange(0x010200000000, 0x0002, 0x0010).ToArray();

            Assert.That(items.Length, Is.EqualTo(1));
            Assert.That(items[0].Stream, Is.EqualTo(GetHash(0x010200000000)));
            Assert.That(items[0].Version, Is.EqualTo(0x0002));
            Assert.That(items[0].Position, Is.EqualTo(0x0004));
        }
        public void range_query_returns_items_when_startkey_is_less_than_current_min()
        {
            var items = PTable.GetRange(0x0101, 0x0000, 0x0010).ToArray();

            Assert.That(items.Length, Is.EqualTo(1));
            Assert.That(items[0].Stream, Is.EqualTo(0x0101));
            Assert.That(items[0].Version, Is.EqualTo(0x0001));
            Assert.That(items[0].Position, Is.EqualTo(0x0001));
        }
Exemple #5
0
        public void throw_exception_if_index_entries_not_descending_during_ptable_get_range_2(byte version, bool skipIndexVerify)
        {
            string ptableFileName = ConstructPTable(version);

            CorruptPTableFile(ptableFileName, version, "maxOutMiddleEntries");
            //loading with a depth of 1 should load only 2 midpoints (first and last index entry)
            PTable pTable = PTable.FromFile(ptableFileName, 1, skipIndexVerify);

            Assert.Throws <MaybeCorruptIndexException>(() => pTable.GetRange(GetOriginalHash(numIndexEntries / 2, version), 1, 1));
            pTable.Dispose();
        }
        public void the_smallest_items_are_returned_in_descending_order()
        {
            var entries = PTable.GetRange(0x010100000000, 0, 0).ToArray();

            Assert.AreEqual(2, entries.Length);
            Assert.AreEqual(GetHash(0x010100000000), entries[0].Stream);
            Assert.AreEqual(0, entries[0].Version);
            Assert.AreEqual(0x0002, entries[0].Position);
            Assert.AreEqual(GetHash(0x010100000000), entries[1].Stream);
            Assert.AreEqual(0, entries[1].Version);
            Assert.AreEqual(0x0001, entries[1].Position);
        }
Exemple #7
0
        public void range_query_returns_correct_items()
        {
            // for now events are returned in order from larger key to lower
            var items = PTable.GetRange(0x010200000000, 0x0000, 0x0010).ToArray();

            Assert.That(items.Length, Is.EqualTo(2));
            Assert.That(items[1].Stream, Is.EqualTo(GetHash(0x010200000000)));
            Assert.That(items[1].Version, Is.EqualTo(0x0001));
            Assert.That(items[1].Position, Is.EqualTo(0x0003));
            Assert.That(items[0].Stream, Is.EqualTo(GetHash(0x010200000000)));
            Assert.That(items[0].Version, Is.EqualTo(0x0002));
            Assert.That(items[0].Position, Is.EqualTo(0x0004));
        }
Exemple #8
0
        public void the_largest_items_are_returned_in_descending_order()
        {
            var entries = PTable.GetRange(1, 0, 0).ToArray();

            Assert.AreEqual(3, entries.Length);
            Assert.AreEqual(1, entries[0].Stream);
            Assert.AreEqual(0, entries[0].Version);
            Assert.AreEqual(0x0005, entries[0].Position);
            Assert.AreEqual(1, entries[1].Stream);
            Assert.AreEqual(0, entries[1].Version);
            Assert.AreEqual(0x0004, entries[1].Position);
            Assert.AreEqual(1, entries[2].Stream);
            Assert.AreEqual(0, entries[2].Version);
            Assert.AreEqual(0x0003, entries[2].Position);
        }
        public void range_query_returns_nothing_for_nonexistent_stream()
        {
            var entries = PTable.GetRange(0x010200000000, 0, long.MaxValue).ToArray();

            Assert.AreEqual(0, entries.Length);
        }
Exemple #10
0
 public void throw_argumentoutofrangeexception_on_range_query_when_provided_with_negative_start_version()
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => _ptable.GetRange(0x0000, -1, int.MaxValue).ToArray());
 }
        public void range_query_of_non_existing_stream_returns_nothing()
        {
            var list = _ptable.GetRange(0x14, 0x01, 0x02).ToArray();

            Assert.AreEqual(0, list.Length);
        }
Exemple #12
0
        public void range_query_returns_no_items_when_no_stream_in_sstable()
        {
            var items = PTable.GetRange(0x0104, 0x0000, 0x0010);

            Assert.That(items.Count(), Is.EqualTo(0));
        }