public void PublicPropertiesGetSetTests()
        {
            var dvm = new DashboardPageViewModel { Model = new DashboardPageEdit() };
            TestsHelper.TestPublicPropertiesGetSet(dvm);

            dvm = new DashboardPageViewModel();
            TestsHelper.TestPublicDeclaredPropertiesGetSet(dvm, true);

        }
 public void AddGadgetCommand_WhenCalled()
 {
     var dvm = new DashboardPageViewModel { Model = new DashboardPageEdit() };
     var popupMock = Mock.Create<PopupFactory>(Behavior.Loose);
     var popupBuilderMock = Mock.Create<PopupBuilder>(Behavior.CallOriginal);
     Mock.Arrange(() => popupBuilderMock.SetCustomViewModel(Arg.IsAny<INotificationViewModel>())).Returns(popupBuilderMock);
     Mock.Arrange(() => popupBuilderMock.SetIsModal(Arg.AnyBool)).Returns(popupBuilderMock);
     Mock.Arrange(() => popupBuilderMock.SetCaption(Arg.AnyString)).Returns(popupBuilderMock);
     Mock.Arrange(() => popupBuilderMock.SetPosition(Arg.IsAny<PopupPosition>())).Returns(popupBuilderMock);
     
     Action onOk = null;
     Mock.Arrange(() => popupBuilderMock.Show(Arg.IsAny<Action>(), Arg.IsAny<Func<bool>>())).DoInstead<Action, Func<bool>>((ok, cancel) => { onOk = ok; });
     Mock.Arrange(() => popupMock.Popup()).Returns(popupBuilderMock);
     dvm.ThePopupFactory = popupMock;
     dvm.GadgetListVM = Mock.Create<GadgetListViewModel>();
     dvm.GadgetViewModelFactory =
         Mock.Create<IEnumerable<ExportFactory<IGadgetViewModel, IExportAsGadgetViewModelAttributeMetadata>>>();
     dvm.AddGadgetCommand.Execute(null);
     onOk();
 }
        public void WhenGadgetIsRemoved_ItIsDisposed()
        {
            // Arrange.
            var gadget1 = Mock.Create<IGadgetViewModel>(Behavior.Loose);
            var gadget2 = Mock.Create<IGadgetViewModel>(Behavior.Loose);
            var gadget3 = Mock.Create<IGadgetViewModel>(Behavior.Loose);
            var page = new DashboardPageViewModel();

            page.Gadgets.Add(gadget1);
            page.Gadgets.Add(gadget2);
            page.Gadgets.Add(gadget3);

            // Act.
            page.Gadgets.Remove(gadget1);
            page.Gadgets.Clear();

            // Assert.
            Mock.Assert(() => gadget1.CleanUp(), Occurs.Once());
            Mock.Assert(() => gadget2.CleanUp(), Occurs.Once());
            Mock.Assert(() => gadget3.CleanUp(), Occurs.Once());
        }
        public void DbSizeChanged_SetsDBWidth()
        {
            //Arrange
            var vm = new DashboardPageViewModel();
            var sizeChangedArgsMock = Mock.Create<SizeChangedEventArgs>();
            var size = new Size(123, 456);
            Mock.Arrange(() => sizeChangedArgsMock.NewSize).Returns(size);

            //Act
            vm.DbSizeChanged(null, sizeChangedArgsMock);

            //Assert
            Assert.AreEqual(vm.DbWidth, size.Width);
        }
        public void RecreateGadgets_WhenCalled_CallsBeginGetDashboardGadgetList()
        {
            //Arrange
            var vm = new DashboardPageViewModel();
            vm.Model = new DashboardPageEdit{Id = 1};
            var dashboardElementsFactoryMock = Mock.Create<IDashboardElementsFactory>();
            Mock.Arrange(()=>dashboardElementsFactoryMock.BeginGetDashboardGadgetList(Arg.AnyInt, Arg.IsAny<EventHandler<DataPortalResult<DashboardGadgetList>>>())).MustBeCalled();
            vm.DashboardElementsFactory = dashboardElementsFactoryMock;

            //Act
            vm.RecreateGadgets();

            //Assert
            dashboardElementsFactoryMock.AssertAll();
        }
        public void ArrangeGadgetsCommand_WhenCalled_SetsAutoArrangeGadgets()
        {
            //Arrange
            var vm = new DashboardPageViewModel();

            //Act
            vm.ArangeGadgetsCommand.Execute(null);            

            //Assert
            Assert.IsTrue(vm.AutoArrangeGadgets);
        }