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"); }