예제 #1
0
 public void WriteTest()
 {
     var store = new FakeBinaryStore();
     var entryWriter = new EntryWriter(store);
     entryWriter.Write(TestEntry);
     Assert.AreEqual(22, store.Length);
 }
예제 #2
0
        public void WriteRemoveTest()
        {
            var entryData = EntryBinaryConverter.Instance.Convert(TestEntry);
            var store = new FakeBinaryStore(entryData);
            var entryWriter = new EntryWriter(store);

            var data = store.Stream.ToArray();
            Assert.AreEqual(1, data[EntryBinaryConverter.IsActiveValueOffset]);

            entryWriter.WriteRemove(TestEntry);
            Assert.AreEqual(22, store.Length);

            data = store.Stream.ToArray();
            Assert.AreEqual(0, data[EntryBinaryConverter.IsActiveValueOffset]);
        }
예제 #3
0
 public TableOfContent(IBinaryStore store, IDictionary<IKey, Entry> entries)
 {
     _entries = new ConcurrentDictionary<IKey, Entry>(entries);
     _store = store;
     _entryWriter = new EntryWriter(store);
 }