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