public async Task TestGeoIndex() { var memStore = new OdinMemoryStore(); var store = new OdinGeoSpatial(memStore); await store.Put(new Position { Latitude = 10, Longitude = 5 }, "position1", "value1"); var value = await store.Get("position1"); Assert.IsNotNull(value); Assert.AreEqual("value1", value.Value); Assert.AreEqual(10, value.Latitude); Assert.AreEqual(5, value.Longitude); }
public async Task TestLoadBalancer() { var store = new OdinMemoryStore(); var counter1 = new Counter(store); var counter2 = new Counter(store); var loadBalancer = new LoadBalancer(LoadBalancer.Strategy.RoundRobin, counter1, counter2); await OdinTests.BasicOperations(loadBalancer); Assert.AreNotSame(0, counter1.PutCount); Assert.AreNotSame(0, counter2.PutCount); }
public async Task TestFanOut() { var store1 = new OdinMemoryStore(); var store2 = new OdinMemoryStore(); var fanOut = new FanOut(store1, store2); await OdinTests.BasicOperations(fanOut); await fanOut.Put("X", "X"); Assert.AreEqual("X", await store1.Get("X")); Assert.AreEqual("X", await store2.Get("X")); }
public async Task TestTripleStore() { var memStore = new OdinMemoryStore(); var store = new OdinTriplestore(memStore); await store.Put("Richard", "Loves", "Cheese"); await store.Put("Richard", "Hates", "Marmite"); await store.Put("Dave", "Loves", "Marmite"); Assert.AreEqual(9, (await memStore.Search()).Count()); Assert.AreEqual(1, (await store.Get("Richard", "Loves", "Cheese")).Count()); Assert.AreEqual(2, (await store.Get(subject: "Richard")).Count()); Assert.AreEqual(3, (await store.Get()).Count()); }
public async Task TestJsonConsumer() { var memoryStore = new OdinMemoryStore(); var jsonConsumer = new JsonSerializer.OdinJsonSerializer<Foo>(memoryStore); var foo = new Foo { Bar = "Baz" }; await jsonConsumer.Put("foo", foo); Assert.IsNotNull(await memoryStore.Get("foo")); Assert.AreEqual("Baz", (await jsonConsumer.Get("foo")).Bar); Assert.AreEqual("Baz", (await jsonConsumer.Search()).First().Value.Bar); }
public async Task TestCounter() { var store = new OdinMemoryStore(); var counter = new Counter(store); Assert.AreEqual(0, counter.PutCount); await counter.Put("x", "y"); Assert.AreEqual(1, counter.PutCount); Assert.AreEqual(0, counter.DeleteCount); await counter.Delete("x"); Assert.AreEqual(1, counter.DeleteCount); await OdinTests.BasicOperations(counter); }
public async Task TestSubSubLevel() { var odin = new OdinMemoryStore(); var fooLevel = new Partition(odin, "foo"); await fooLevel.Put("x", "x"); var barLevel = fooLevel.CreateSubPartition("bar"); await OdinTests.BasicOperations(barLevel); await barLevel.Put("y", "y"); Assert.IsNull(await barLevel.Get("x")); Assert.IsNull(await fooLevel.Get("y")); await barLevel.Delete("y"); await fooLevel.Delete("x"); }
public async Task MemoryStore() { var tableStore = new OdinMemoryStore(); await OdinTests.BasicOperations(tableStore); }
public async Task TestTracer() { var odin = new OdinMemoryStore(); var tracer = new OdinTracer(odin); await OdinTests.BasicOperations(tracer); }
public async Task TestCache() { var odin = new OdinMemoryStore(); var cache = new OdinCache(odin, TimeSpan.FromMinutes(1)); await OdinTests.BasicOperations(cache); }
public async Task TestSubLevel() { var odin = new OdinMemoryStore(); var subLevel = new Partition(odin, "foo"); await OdinTests.BasicOperations(subLevel); }
// this looks broken //[TestMethod] public async Task TestRetry() { var counter = new Counter(null); var retry = new Retry(counter); try { await retry.Put("foo", "bar"); } catch { } Assert.AreEqual(5, counter.PutCount); var odin = new OdinMemoryStore(); retry = new Retry(odin); await OdinTests.BasicOperations(retry); }
public async Task TestVersioner() { var odin = new OdinMemoryStore(); var versioner = new OdinVersioner(odin); await versioner.Put("foo", "bar"); var versions = (await versioner.GetVersions("foo")).ToArray(); Assert.AreEqual(1, versions.Length); Assert.AreEqual("bar", versions[0].Value); // allow a few ticks to pass Thread.Sleep(10); await versioner.Put("foo", "baz"); versions = (await versioner.GetVersions("foo")).ToArray(); Assert.AreEqual(2, versions.Length); Assert.AreEqual("baz", versions[1].Value); Assert.AreEqual("bar", versions[0].Value); await OdinTests.BasicOperations(versioner); }