示例#1
0
        public void TestContextCanBePurgedForType()
        {
            var persistedString = new[]
            {
                new PersistedString {
                    Content = "content", Id = "Id"
                },
                new PersistedString {
                    Content = "content2", Id = "Id2"
                },
            };
            var persistedObjects = new[]
            {
                new PersistedObject {
                    Content = "content", Id = "Id"
                },
                new PersistedObject {
                    Content = "content2", Id = "Id2"
                },
            };

            PersistanceStore.Save <PersistedObject>(persistedObjects);
            PersistanceStore.Save <PersistedObject>(persistedObjects, "unsafe");
            PersistanceStore.Save <PersistedString>(persistedString);
            PersistanceStore.Save <PersistedString>(persistedString, "unsafe");
            var retrived = PersistanceStore.GetAll <PersistedString>("unsafe");

            Assert.AreEqual(2, retrived.Count());
            var retrived2 = PersistanceStore.GetAll <PersistedObject>("unsafe");

            Assert.AreEqual(2, retrived2.Count());

            PersistanceStore.Purge <PersistedObject>("unsafe");
            retrived = PersistanceStore.GetAll <PersistedString>("unsafe");
            Assert.AreEqual(2, retrived.Count());
            retrived2 = PersistanceStore.GetAll <PersistedObject>("unsafe");
            Assert.AreEqual(0, retrived2.Count());
            retrived = PersistanceStore.GetAll <PersistedString>();
            Assert.AreEqual(2, retrived.Count());
            retrived2 = PersistanceStore.GetAll <PersistedObject>();
            Assert.AreEqual(2, retrived2.Count());
            PersistanceStore.Purge <PersistedString>();
            retrived = PersistanceStore.GetAll <PersistedString>();
            Assert.AreEqual(0, retrived.Count());
            retrived2 = PersistanceStore.GetAll <PersistedObject>();
            Assert.AreEqual(2, retrived2.Count());

            // No-op
            PersistanceStore.Purge();
            PersistanceStore.Purge <PersistedString>();
            PersistanceStore.Purge <PersistedObject>("unsafe");
        }