public void StoreTest() { using var store = new MemoryStore(); store.Delete(new byte[] { 1 }); Assert.AreEqual(null, store.TryGet(new byte[] { 1 })); store.Put(new byte[] { 1 }, new byte[] { 1, 2, 3 }); CollectionAssert.AreEqual(new byte[] { 1, 2, 3 }, store.TryGet(new byte[] { 1 })); store.Put(new byte[] { 2 }, new byte[] { 4, 5, 6 }); CollectionAssert.AreEqual(new byte[] { 1 }, store.Seek(Array.Empty <byte>(), SeekDirection.Forward).Select(u => u.Key).First()); CollectionAssert.AreEqual(new byte[] { 2 }, store.Seek(new byte[] { 2 }, SeekDirection.Backward).Select(u => u.Key).First()); CollectionAssert.AreEqual(new byte[] { 1 }, store.Seek(new byte[] { 1 }, SeekDirection.Backward).Select(u => u.Key).First()); store.Delete(new byte[] { 1 }); store.Delete(new byte[] { 2 }); store.Put(new byte[] { 0x00, 0x00, 0x00 }, new byte[] { 0x00 }); store.Put(new byte[] { 0x00, 0x00, 0x01 }, new byte[] { 0x01 }); store.Put(new byte[] { 0x00, 0x00, 0x02 }, new byte[] { 0x02 }); store.Put(new byte[] { 0x00, 0x00, 0x03 }, new byte[] { 0x03 }); store.Put(new byte[] { 0x00, 0x00, 0x04 }, new byte[] { 0x04 }); var entries = store.Seek(Array.Empty <byte>(), SeekDirection.Backward).ToArray(); Assert.AreEqual(entries.Count(), 0); }
public void BasicCRUD() { var store = new MemoryStore(); var tape = new Tape() { Id = "foo" }; store.Insert(tape); var tape2 = store.Select(tape.Id); Assert.IsNotNull(tape2); // make sure tapes are cloned tape2.Comment = "bar"; var tape3 = store.Select(tape2.Id); Assert.AreNotEqual(tape2.Comment, tape3.Comment); // update store.Update(tape2); tape3 = store.Select(tape2.Id); Assert.AreEqual(tape2.Comment, tape3.Comment); // delete store.Delete(tape3.Id); Assert.AreEqual(0, store.List().Count); }
public void StoreTest() { using var store = new MemoryStore(); store.Delete(new byte[] { 1 }); Assert.AreEqual(null, store.TryGet(new byte[] { 1 })); store.Put(new byte[] { 1 }, new byte[] { 1, 2, 3 }); CollectionAssert.AreEqual(new byte[] { 1, 2, 3 }, store.TryGet(new byte[] { 1 })); store.Put(new byte[] { 2 }, new byte[] { 4, 5, 6 }); CollectionAssert.AreEqual(new byte[] { 1 }, store.Seek(new byte[] { }, SeekDirection.Forward).Select(u => u.Key).First()); CollectionAssert.AreEqual(new byte[] { 2 }, store.Seek(new byte[] { }, SeekDirection.Backward).Select(u => u.Key).First()); CollectionAssert.AreEqual(new byte[] { 1 }, store.Seek(new byte[] { 1 }, SeekDirection.Backward).Select(u => u.Key).First()); store.Delete(new byte[] { 1 }); }