Exemple #1
0
        public void TestDeattach01()
        {
            //Initial setup
            IController controller = new ControllerTest();

//             view = new ViewTest();
//             view.ViewType = ViewTest.ViewTestType;
//             model = new ModelTest();
//             controller.Attach(model, view);

            //test call
            controller.Deattach();

            //post Condition check
            Accessor controllerAccessor = ReflectionAccessor.Wrap(controller);

            Assert.IsNull(controllerAccessor.GetField("m_View"));
            Assert.IsNull(controllerAccessor.GetField("m_Model"));

            Accessor notifyManagerAccessor = ReflectionAccessor.Wrap(NotifyManager.GetInstance());
            Dictionary <IObserver, IObserver> observerMap = (Dictionary <IObserver, IObserver>)notifyManagerAccessor.GetField("m_ObserverMap");

            Assert.IsFalse(observerMap.ContainsKey(controller));
        }