Example #1
0
        public void Test_Cache_Clear_All()
        {
            var cache = Container.Resolve <IEntityCache>();

            var msr = new ManualResetEvent(false);

            Task.Run(async() =>
            {
                var item1 = new MyObject {
                    ItemName = "Item1"
                };
                var item2 = new MyObject {
                    ItemName = "Item2"
                };

                var item1a = new MyOtherObject {
                    ItemName = "Item1"
                };
                var item2a = new MyOtherObject {
                    ItemName = "Item2"
                };


                await cache.SetEntity(item1.ItemName, item1);
                await cache.SetEntity(item2.ItemName, item2);
                await cache.SetEntity(item1a.ItemName, item1a);
                await cache.SetEntity(item2a.ItemName, item2a);

                var result1 = await cache.GetEntity <MyObject>(item1.ItemName);
                var result2 = await cache.GetEntity <MyObject>(item2.ItemName);
                var result3 = await cache.GetEntity <MyOtherObject>(item1a.ItemName);
                var result4 = await cache.GetEntity <MyOtherObject>(item2a.ItemName);

                Assert.IsNotNull(result1);
                Assert.IsNotNull(result2);
                Assert.IsNotNull(result3);
                Assert.IsNotNull(result4);

                await cache.Clear();

                var result1_e = await cache.GetEntity <MyObject>(item1.ItemName);
                var result2_e = await cache.GetEntity <MyObject>(item2.ItemName);
                var result3_e = await cache.GetEntity <MyOtherObject>(item1a.ItemName);
                var result4_e = await cache.GetEntity <MyOtherObject>(item2a.ItemName);

                Assert.IsNull(result1_e);
                Assert.IsNull(result2_e);
                Assert.IsNull(result3_e);
                Assert.IsNull(result4_e);


                msr.Set();
            });

            var msrResult = msr.WaitOne(20000);

            Assert.IsTrue(msrResult, "MSR not set, means assertion failed in task");
        }
Example #2
0
        public void Test_Cache_Clear_All()
        {
            var cache = Container.Resolve<IEntityCache>();

            var msr = new ManualResetEvent(false);

            Task.Run(async () =>
            {

                var item1 = new MyObject { ItemName = "Item1" };
                var item2 = new MyObject { ItemName = "Item2" };

                var item1a = new MyOtherObject { ItemName = "Item1" };
                var item2a = new MyOtherObject { ItemName = "Item2" };


                await cache.SetEntity(item1.ItemName, item1);
                await cache.SetEntity(item2.ItemName, item2);
                await cache.SetEntity(item1a.ItemName, item1a);
                await cache.SetEntity(item2a.ItemName, item2a);

                var result1 = await cache.GetEntity<MyObject>(item1.ItemName);
                var result2 = await cache.GetEntity<MyObject>(item2.ItemName);
                var result3 = await cache.GetEntity<MyOtherObject>(item1a.ItemName);
                var result4 = await cache.GetEntity<MyOtherObject>(item2a.ItemName);

                Assert.IsNotNull(result1);
                Assert.IsNotNull(result2);
                Assert.IsNotNull(result3);
                Assert.IsNotNull(result4);

                await cache.Clear();

                var result1_e = await cache.GetEntity<MyObject>(item1.ItemName);
                var result2_e = await cache.GetEntity<MyObject>(item2.ItemName);
                var result3_e = await cache.GetEntity<MyOtherObject>(item1a.ItemName);
                var result4_e = await cache.GetEntity<MyOtherObject>(item2a.ItemName);

                Assert.IsNull(result1_e);
                Assert.IsNull(result2_e);
                Assert.IsNull(result3_e);
                Assert.IsNull(result4_e);


                msr.Set();
            });

            var msrResult = msr.WaitOne(20000);
            Assert.IsTrue(msrResult, "MSR not set, means assertion failed in task");
        }
 public MyObject(IMyFirstDependency dependency, IMySecondDependency dependencyTwo)
 {
     otherObj = new MyOtherObject(dependencyTwo);
 }