public void UpdateTest() { var key = new Int32Key(42); var content = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; var changedContent = new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; var storage = new CompositeStorage(new MemoryCompositeStorageConfigurator()); var actual = storage.TryAdd(key, content); Assert.AreEqual(true, actual, "Unexpectedly failed to add content"); actual = storage.TryUpdate(key, changedContent); Assert.AreEqual(true, actual, "Unexpectedly failed to update content"); }
public void RemoveTest() { var entry = new Entry { Key = new Int32Key(1), ValueOffset = 0, ValueLength = 200 }; var store = new FakeBinaryStore(EntryBinaryConverter.Instance.Convert(entry)); bool isFragmented; var key = new Int32Key(1); var tableOfContent = TableOfContent.From(store, out isFragmented); Assert.IsFalse(isFragmented); Assert.IsTrue(tableOfContent.Contains(key)); Assert.IsTrue(tableOfContent.TryRemove(key)); Assert.IsFalse(tableOfContent.Contains(key)); tableOfContent = TableOfContent.From(store, out isFragmented); Assert.IsTrue(isFragmented); Assert.IsFalse(tableOfContent.Contains(key)); }
public void AddMultileAndRemoveTest() { var entry = new Entry { Key = new Int32Key(1), ValueOffset = 0, ValueLength = 200 }; var store = new FakeBinaryStore(EntryBinaryConverter.Instance.Convert(entry)); bool isFragmented; var tableOfContent = TableOfContent.From(store, out isFragmented); Assert.IsFalse(isFragmented); tableOfContent.Add(new Int32Key(2), 200, 215); tableOfContent.Add(new Int32Key(3), 415, 215); tableOfContent.Add(new Int32Key(4), 630, 230); tableOfContent.Add(new Int32Key(5), 860, 640); tableOfContent.Add(new Int32Key(6), 1500, 500); Assert.AreEqual(22 * 6, store.Length); Assert.AreEqual(22 * 6, store.CurrentOffset); var key1 = new Int32Key(1); var key2 = new Int32Key(2); var key3 = new Int32Key(3); Assert.IsTrue(tableOfContent.Contains(key1)); Assert.IsTrue(tableOfContent.Contains(key2)); Assert.IsTrue(tableOfContent.Contains(key3)); Assert.IsTrue(tableOfContent.TryRemove(key2)); Assert.IsTrue(tableOfContent.Contains(key1)); Assert.IsFalse(tableOfContent.Contains(key2)); Assert.IsTrue(tableOfContent.Contains(key3)); Assert.IsTrue(tableOfContent.TryRemove(key3)); Assert.IsTrue(tableOfContent.Contains(key1)); Assert.IsFalse(tableOfContent.Contains(key2)); Assert.IsFalse(tableOfContent.Contains(key3)); tableOfContent = TableOfContent.From(store, out isFragmented); Assert.IsTrue(isFragmented); Assert.IsTrue(tableOfContent.Contains(key1)); Assert.IsFalse(tableOfContent.Contains(key2)); Assert.IsFalse(tableOfContent.Contains(key3)); }