public void TestReadIsThreadSafe() { var items = new PersistedString[100]; try { for (var count = 0; count < items.Length; count++) { items[count] = new PersistedString { Content = Guid.NewGuid().ToString() }; } PersistanceStore.Save <PersistedString>(items); Parallel.ForEach(items, item => { PersistanceStore.GetAll <PersistedString>(); }); } finally { for (var count = 0; count < items.Length; count++) { PersistanceStore.Delete <PersistedString>(items[count].Id); } } }
public void TestIdGeneratorCanBeSupplied() { var query = new QueryPersistance(); PersistanceStore = new TypeBasedPersistance(new TestStoreSelector(query), new TestGenerator()); var toSave = new PersistedString(); PersistanceStore.Save(toSave); Assert.AreEqual("123", toSave.Id); }
public void TestObjectsExistanceCanBeVerified() { var persistedObject = new PersistedString { Content = "content", Id = "Id" }; var exist = PersistanceStore.Any <PersistedString>(); Assert.IsFalse(exist); PersistanceStore.Save(persistedObject); exist = PersistanceStore.Any <PersistedString>(); Assert.IsTrue(exist); }
public void TestContextNameIsNotCaseSensitive() { var defaultContext = new PersistedString { Content = "context1", Id = "Id" }; PersistanceStore.Save(defaultContext, "context"); var contextValue = PersistanceStore.Get <PersistedString>("Id", "ConText"); Assert.IsNotNull(contextValue); Assert.AreEqual("context1", contextValue.GetContent()); }
public void TestIdIsNotcaseSensitive() { var persistedObject = new PersistedString { Id = "Id", Content = "content" }; PersistanceStore.Save(persistedObject); var saved = PersistanceStore.Get <PersistedString>(persistedObject.Id); Assert.IsNotNull(saved); saved = PersistanceStore.Get <PersistedString>("iD"); Assert.IsNotNull(saved); }
public void TestObjectCanBeStored() { var persistedObject = new PersistedString { Content = "content", Id = "Id" }; PersistanceStore.Save(persistedObject); var saved = PersistanceStore.Get <PersistedString>("Id"); Assert.IsNotNull(saved); Assert.AreEqual("Id", saved.Id); Assert.AreEqual("content", saved.Content); }
public void TestIdCanBeAutoGenerated() { var persistedObject = new PersistedString { Content = "content" }; Assert.IsTrue(string.IsNullOrEmpty(persistedObject.Id)); PersistanceStore.Save(persistedObject); Assert.IsFalse(string.IsNullOrEmpty(persistedObject.Id)); var saved = PersistanceStore.Get <PersistedString>(persistedObject.Id); Assert.IsNotNull(saved); Assert.AreEqual("content", saved.Content); }
public void TestObjectsCanBeDeleted() { var persistedObject = new PersistedString { Content = "content", Id = "Id" }; PersistanceStore.Save(persistedObject); var saved = PersistanceStore.Get <PersistedString>("Id"); Assert.IsNotNull(saved); PersistanceStore.Delete <PersistedString>("Id"); saved = PersistanceStore.Get <PersistedString>("Id"); Assert.IsNull(saved); }
public void TestAllObjectsCanBeRetrievedAtOnce() { var persistedObject = new PersistedString { Content = "content", Id = "Id" }; var persistedObject2 = new PersistedString { Content = "content2", Id = "Id2" }; PersistanceStore.Save <PersistedString>(new[] { persistedObject, persistedObject2 }); var saved = PersistanceStore.GetAll <PersistedString>().ToArray(); Assert.AreEqual(2, saved.Count()); Assert.IsTrue(saved.Any(x => x.Id == "Id" && Equals(x.Content, "content"))); Assert.IsTrue(saved.Any(x => x.Id == "Id" && Equals(x.GetContent <string>(), "content"))); Assert.IsTrue(saved.Any(x => x.Id == "Id2" && Equals(x.Content, "content2"))); Assert.IsTrue(saved.Any(x => x.Id == "Id2" && Equals(x.GetContent <string>(), "content2"))); }
public void TestObjectCanBeStoredAsBatch() { var persistedObject = new PersistedString { Content = "content", Id = "Id" }; var persistedObject2 = new PersistedString { Content = "content2", Id = "Id2" }; PersistanceStore.Save <PersistedString>(new [] { persistedObject, persistedObject2 }); var saved = PersistanceStore.Get <PersistedString>("Id"); Assert.IsNotNull(saved); Assert.AreEqual("Id", saved.Id); Assert.AreEqual("content", saved.GetContent()); saved = PersistanceStore.Get <PersistedString>("Id2"); Assert.IsNotNull(saved); Assert.AreEqual("Id2", saved.Id); Assert.AreEqual("content2", saved.Content); }
public void TestObjectsCanBeStoredInDifferentContexts() { var defaultContext = new PersistedString { Content = "context1", Id = "Id" }; var context2 = new PersistedString { Content = "context2", Id = "Id" }; PersistanceStore.Save(defaultContext); PersistanceStore.Save(context2, "context2"); var defaultContextValue = PersistanceStore.Get <PersistedString>("Id"); var context2Value = PersistanceStore.Get <PersistedString>("Id", "context2"); Assert.IsNotNull(defaultContextValue); Assert.IsNotNull(context2Value); Assert.AreNotSame(defaultContextValue, context2Value); Assert.AreEqual("context1", defaultContextValue.GetContent()); Assert.AreEqual("context2", context2Value.GetContent()); }