public void ValidSwaps() { ISideEffectObject target1 = (ISideEffectObject)ObjectFactory.GetObject("target1"); ISideEffectObject target2 = (ISideEffectObject)ObjectFactory.GetObject("target2"); ISideEffectObject proxied = (ISideEffectObject)ObjectFactory.GetObject("swappable"); // assertEquals(target1, ((Advised) proxied).getTarget()); Assert.AreEqual(target1.Count, proxied.Count); proxied.doWork(); Assert.AreEqual(INITIAL_COUNT + 1, proxied.Count); HotSwappableTargetSource swapper = (HotSwappableTargetSource)ObjectFactory.GetObject("swapper"); Object old = swapper.Swap(target2); Assert.AreEqual(target1, old, "Correct old target was returned"); // TODO should be able to make this assertion: need to fix target handling // in AdvisedSupport //assertEquals(target2, ((Advised) proxied).getTarget()); Assert.AreEqual(20, proxied.Count); proxied.doWork(); Assert.AreEqual(21, target2.Count); // Swap it back swapper.Swap(target1); Assert.AreEqual(target1.Count, proxied.Count); }
public void SwapDoesIndeedReturnTheOldTarget() { HotSwappableTargetSource source = new HotSwappableTargetSource(this); object foo = source.Swap(new SideEffectObject()); Assert.IsTrue(object.ReferenceEquals(this, foo), "Swap() is not returning the old target."); }
public void RejectsSwapToNull() { HotSwappableTargetSource source = new HotSwappableTargetSource(null); source.Swap(null); }
public void RejectsSwapToNull() { HotSwappableTargetSource source = new HotSwappableTargetSource(null); Assert.Throws <ArgumentNullException>(() => source.Swap(null)); }
public void SwapDoesIndeedReturnTheOldTarget() { HotSwappableTargetSource source = new HotSwappableTargetSource(this); object foo = source.Swap(new SideEffectObject()); Assert.IsTrue(object.ReferenceEquals(this, foo), "Swap() is not returning the old target."); }
public void RejectsSwapToNull() { HotSwappableTargetSource source = new HotSwappableTargetSource(null); source.Swap(null); }
public void RejectsSwapToNull() { HotSwappableTargetSource source = new HotSwappableTargetSource(null); Assert.Throws<ArgumentNullException>(() => source.Swap(null)); }