public void ActiveDifference_Will_Be_OfType_ModelDifferenceObject()
                {
                    var controller = new ViewControllerFactory().CreateAndActivateController<CombineActiveModelDictionaryWithActiveModelDifferenceController>(typeof(ModelDifferenceObject));
                    var queryUserModelDifferenceObject = Isolate.Fake.InstanceAndSwapAll<QueryModelDifferenceObject>();

                    var modelDifferenceObject = controller.GetActiveDifference(new PersistentApplication(Session.DefaultSession),null);

                    Assert.AreEqual(queryUserModelDifferenceObject.GetActiveModelDifference(""), modelDifferenceObject);
                }
Beispiel #2
0
        public void Get_Decorated_Objects(){
            XafTypesInfo.Instance.RegisterEntity(typeof(Party));
            XafTypesInfo.Instance.RegisterEntity(typeof(Person));
            XafTypesInfo.Instance.FindTypeInfo(typeof(Person)).AddAttribute(new HideFromNewMenuAttribute());
            XafTypesInfo.Instance.RegisterEntity(typeof(User));
            XafTypesInfo.Instance.FindTypeInfo(typeof(User)).AddAttribute(new HideFromNewMenuAttribute());
            var controller = new ViewControllerFactory().CreateAndActivateController<HideFromNewMenuViewController>(typeof(Party));

            List<ITypeInfo> persistentBases = controller.GetHiddenTypes();

            Assert.AreEqual(2, persistentBases.Count);
        }
            public void When_Current_UserDifferenceObject_Changed()
            {
                var factory = new ViewControllerFactory();
                var controller = factory.CreateController<CombineActiveUserDifferenceWithUserModelController>(typeof(UserModelDifferenceObject));
                bool combined = false;
                Isolate.WhenCalled(() => controller.CombineWithApplicationUserDiffs()).DoInstead(context => combined = true);
                factory.Activate(controller, new HandleInfo { CurrentObjectChanged = true });

                factory.CurrentObjectChangedHandler.Invoke(this, EventArgs.Empty);

                Assert.IsTrue(combined);

            }
            public void When_UserDifferenceObject_Is_Shown()
            {
                var factory = new ViewControllerFactory();
                var activateController = factory.CreateController<CombineActiveUserDifferenceWithUserModelController>(
                    typeof(UserModelDifferenceObject));
                bool combined = false;
                Isolate.WhenCalled(() => activateController.CombineWithApplicationUserDiffs()).DoInstead(context => combined = true);

                factory.Activate(activateController);

                Assert.IsTrue(combined);

            }
        public void If_CurrentUserDIfferenceObject_Is_Active_One_Then_Combine_It_With_ApplicationDiffs_And_UserDiffs(){
            
            var queryUserModelDifferenceObject = Isolate.Fake.InstanceAndSwapAll<QueryUserModelDifferenceObject>();

            var controller = new ViewControllerFactory().CreateController<CombineActiveUserDifferenceWithUserModelController>(ViewType.DetailView, new UserModelDifferenceObject(Session.DefaultSession));
            var userModelDifferenceObject = ((UserModelDifferenceObject) controller.View.CurrentObject);
            Dictionary dictionary = DefaultDictionary.Clone();
            Isolate.WhenCalled(() => userModelDifferenceObject.GetCombinedModel()).WillReturn(dictionary);
            Dictionary model = controller.Application.Model;
            Isolate.WhenCalled(() => model.GetDiffs()).WillReturn(DefaultDictionary2.Clone());
            Isolate.WhenCalled(() => queryUserModelDifferenceObject.GetActiveModelDifference("")).WillReturn((UserModelDifferenceObject) controller.View.CurrentObject);

            controller.CombineWithApplicationUserDiffs();

            DefaultDictionary.CombineWith(DefaultDictionary2);
            Assert.AreEqual(DefaultDictionary2.RootNode.ToXml(), userModelDifferenceObject.Model.RootNode.ToXml());
        }
Beispiel #6
0
        public void When_Object_Is_Decorated_With_HideFromNewMenu_Attribute_Should_Not_Appear_To_Menu(){
            XafTypesInfo.Instance.RegisterEntity(typeof(Person));
            XafTypesInfo.Instance.FindTypeInfo(typeof (Person)).AddAttribute(new HideFromNewMenuAttribute());
            var controller = new NewObjectViewController();
            controller.NewObjectAction.Items.Add(new ChoiceActionItem("", typeof (Person)));
            var viewControllerFactory = new ViewControllerFactory();
            var hideFromNewMenuViewController = viewControllerFactory.CreateController<HideFromNewMenuViewController>(ViewType.Any, new Person(Session.DefaultSession));
            var frame = Isolate.Fake.Instance<Frame>(Members.CallOriginal);
            frame.RegisterController(controller);
            Isolate.WhenCalled(() => hideFromNewMenuViewController.Frame).WillReturn(frame);
            viewControllerFactory.Activate(hideFromNewMenuViewController, new HandleInfo{ControlsCreated = true});

            viewControllerFactory.ControlsCreatedHandler.Invoke(this,EventArgs.Empty);

            Assert.AreEqual(0, controller.NewObjectAction.Items.Count);

        }
        public void Should_InitializeMembers()
        {

            var controller = new ViewControllerFactory().CreateController<CreateNewDifferenceObjectViewController>(ViewType.DetailView,new ModelDifferenceObject(Session.DefaultSession){PersistentApplication = new PersistentApplication(Session.DefaultSession)});
            
            var modelAspectObject = new ModelDifferenceObject(Session.DefaultSession){PersistentApplication = new PersistentApplication(Session.DefaultSession)};
            bool called = false;
            Isolate.WhenCalled(() => modelAspectObject.InitializeMembers("", "")).DoInstead(context =>
            {
                called = true;
                return modelAspectObject;
            });

            controller.OnObjectCreated(null, new ObjectCreatedEventArgs(modelAspectObject, null));

            Assert.IsTrue(called);
        }
        public void Some_Properties_Should_Change(){
            DateTime dateTime = DateTime.Now;
            Mock mock = MockManager.Mock(typeof (CloneObjectViewController),Constructor.NotMocked);
            mock.CallBase.ExpectAlways("CloneObject");
            var singleChoiceActionExecuteEventArgs = Isolate.Fake.InstanceAndSwapAll<SingleChoiceActionExecuteEventArgs>();
            var data = new ModelDifferenceObject(Session.DefaultSession){Name = "name"};
            Isolate.WhenCalled(() => singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView.CurrentObject).WillReturn(data);
            var persistentApplication = new PersistentApplication(Session.DefaultSession);
            var controller = new ViewControllerFactory().CreateController<CloneObjectViewController>(ViewType.DetailView, new ModelDifferenceObject(Session.DefaultSession){PersistentApplication = persistentApplication});
            controller.CloneObjectAction.Active.Clear();
            
            controller.CloneObjectAction.DoExecute(new ChoiceActionItem(new DictionaryNode(""), data));

            Assert.IsNull(data.Name);
            Assert.IsTrue(data.Disabled);
            Assert.GreaterThan(data.DateCreated, dateTime);
            Assert.AreEqual(persistentApplication, data.PersistentApplication);
            
        }
Beispiel #9
0
 public GameInitializer(SceneWireframe wireframe, ViewControllerFactory factory)
 {
     _wireframe = wireframe;
     _factory   = factory;
 }
 public MainMenuViewController(MainMenuView view, ViewControllerFactory factory) : base(view)
 {
     _factory = factory;
 }
 public HudLevelViewController(HudLevelView view, ViewControllerFactory factory) : base(view)
 {
     _factory = factory;
 }