public void FlushCount() { var nulunk = new Nulunk("nulunk-integration-tests",1000); for (var x = 0; x < 999; x++) { nulunk.Store("test"); } Assert.Equal(nulunk.StoreCount(), 999); }
public void TaskedProducer() { var nulunk = new Nulunk("nulunk-integration-tests"); var producer1 = Task.Factory.StartNew(() => Producer(nulunk, "Producer1")); var producer2 = Task.Factory.StartNew(() => Producer(nulunk, "Producer2")); var producer3 = Task.Factory.StartNew(() => Producer(nulunk, "Producer3")); var producer4 = Task.Factory.StartNew(() => Producer(nulunk, "Producer4")); var flusher1 = nulunk.FlushAsync(); var flusher2 = nulunk.FlushAsync(); var t = new Task[6] { producer1, producer2, producer3, producer4, flusher1, flusher2 }; Task.WaitAll(t); nulunk.Flush(); }
public void FlushContention() { var nulunk = new Nulunk("nulunk-integration-tests", 1000); for (var x = 0; x < 999; x++) { nulunk.Store("test"); } var flushComplete = nulunk.FlushAsync(); var flushContended = nulunk.FlushAsync(); flushContended.Wait(); Assert.Equal(flushContended.Result, false); flushComplete.Wait(); Assert.Equal(nulunk.StoreCount(), 0); }
private bool Producer(Nulunk nulunk, string name) { var r = new Random(); for (var x = 0; x < 1000; x++) { var uPerson = new GenericClass() { Name = name, Random = r.Next() }; if (x % 2 == 0) nulunk.Store(uPerson); else { nulunk.Store(JsonConvert.SerializeObject(uPerson)); } } return true; }
public void Full() { var nulunk = new Nulunk("nulunk-integration-tests"); var r = new Random(); for (var x = 0; x < 1000; x++) { var uPerson = new GenericStruct() { DateTime = DateTime.Now, Name = "Q", Random = r.Next() }; if (x % 2 == 0) nulunk.Store(uPerson); else { nulunk.Store(JsonConvert.SerializeObject(uPerson)); } } var t = nulunk.FlushAsync(); t.Wait(); }