public DaemonService(PeerBus bus, IOntologyLog ontology, ILogStore logs, IRecordStore records, RecordEvents events, IOptionsMonitor <WebServerOptions> options, ILogger <DaemonService> logger) { _bus = bus; _ontology = ontology; _logs = logs; _records = records; _events = events; _options = options; _logger = logger; }
public void TestCrudEvents() { var recorder = new RecordEvents <int, string>(); var test = new LurchTable <int, string>(LurchTableOrder.Access, 3, 1103, 10, 10, EqualityComparer <int> .Default); test.ItemAdded += recorder.ItemAdded; test.ItemUpdated += recorder.ItemUpdated; test.ItemRemoved += recorder.ItemRemoved; test[1] = "a"; Assert.AreEqual("a", recorder.LastAdded.Value); test[2] = "b"; Assert.AreEqual("b", recorder.LastAdded.Value); test[3] = "c"; Assert.AreEqual("c", recorder.LastAdded.Value); Assert.AreEqual(3, test.Count); Assert.AreEqual("b", test[2]); //access moves to front.. test[4] = "d"; Assert.AreEqual("d", recorder.LastAdded.Value); Assert.AreEqual("a", recorder.LastRemove.Value); test[5] = "e"; Assert.AreEqual("e", recorder.LastAdded.Value); Assert.AreEqual("c", recorder.LastRemove.Value); test[2] = "B"; Assert.AreEqual("B", recorder.LastUpdate.Value); test[6] = "f"; Assert.AreEqual("f", recorder.LastAdded.Value); Assert.AreEqual("d", recorder.LastRemove.Value); Assert.AreEqual(3, test.Count); // still 3 items string value; Assert.IsTrue(test.TryRemove(5, out value)); Assert.AreEqual("e", value); Assert.AreEqual("e", recorder.LastRemove.Value); Assert.AreEqual("B", test.Dequeue().Value); Assert.AreEqual("f", test.Dequeue().Value); Assert.AreEqual(0, test.Count); }