Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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")));
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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());
        }