Example #1
0
        public void InterpolationContextCacheDecoratorTest()
        {
            var iccd = new InterpolationContextCacheDecorator(new Stub1(), new Stub2());

            var c1 = new Stub3(1.0, 1.0);
            var c2 = new Stub3(1.0, 2.0);
            var c3 = new Stub3(2.0, 2.0);
            var c4 = new Stub3(3.0, 3.0);

            var cont1 = iccd.GetInterpolationContext(c1);
            var cont2 = iccd.GetInterpolationContext(c2);
            var cont3 = iccd.GetInterpolationContext(c3);
            var cont4 = iccd.GetInterpolationContext(c4);

            Assert.AreEqual((int)cont1, (int)cont2);
            Assert.AreNotEqual((int)cont1, (int)cont3);
            Assert.AreNotEqual((int)cont1, (int)cont4);
        }
        public async Task  InterpolationContextCacheDecoratorTest()
        {
            var iccd = new AsyncMapCacheDecorator <INodes, int>(new HashBasedEquatibleINodesConverter(), new Stub1());

            var c1 = new Stub3(1.0, 1.0);
            var c2 = new Stub3(1.0, 1.0);
            var c3 = new Stub3(1.0, 2.0);
            var c4 = new Stub3(3.0, 3.0);

            var cont1 = await iccd.GetAsync(c1);

            var cont2 = await iccd.GetAsync(c2);

            var cont3 = await iccd.GetAsync(c3);

            var cont4 = await iccd.GetAsync(c4);

            Assert.AreEqual(cont1, cont2);
            Assert.AreNotEqual(cont1, cont3);
            Assert.AreNotEqual(cont1, cont4);
        }