Пример #1
0
        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);
        }
Пример #2
0
        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.");
        }
Пример #3
0
        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));
		}