示例#1
0
        public void Should_add_items()
        {
            var item1 = Item.CreateItem(Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
            var item2 = Item.CreateItem(Guid.NewGuid().ToString(), Guid.NewGuid().ToString());

            memTable.Add(item1);
            memTable.Add(item2);

            var itemFromTable1 = memTable.Get(item1.Key);
            var itemFromTable2 = memTable.Get(item2.Key);

            itemFromTable1.Should().Be(item1);
            itemFromTable2.Should().Be(item2);
        }
示例#2
0
        public void Should_apply_operation_from_opLog()
        {
            var opLogManager    = new OpLogManager(new File(filePath), new OperationSerializer());
            var olApplier       = new OpLogApplier(opLogManager);
            var initialMemTable = new MemTable(opLogManager);

            var item1 = Item.CreateItem(Guid.NewGuid().ToString(), Guid.NewGuid().ToString());
            var item2 = Item.CreateItem(Guid.NewGuid().ToString(), Guid.NewGuid().ToString());

            initialMemTable.Add(item1);
            initialMemTable.Add(item2);

            var newMemTable = new MemTable(opLogManager);

            olApplier.Apply(newMemTable);

            var itemFromTable1 = newMemTable.Get(item1.Key);
            var itemFromTable2 = newMemTable.Get(item2.Key);

            itemFromTable1.Should().Be(item1);
            itemFromTable2.Should().Be(item2);
        }