public void CanSortOrGroupLayout() { // arrange var vm = new ProcessLayoutsViewModel(); var model = Mock.Create<ProcessEdit>(Behavior.Loose); model.SystemName = Constants.CalendarProcessName; Mock.Arrange(() => vm.Model).Returns(model); // act var privateAccessor = new PrivateAccessor(vm); var result = (bool)privateAccessor.CallMethod("CanSortOrGroupLayout", new object[] { null }); // assert Assert.IsFalse(result); // arrage model.SystemName = "eCar_p"; // act result = (bool)privateAccessor.CallMethod("CanSortOrGroupLayout", new object[] { null }); // assert Assert.IsTrue(result); }
public void Ctor() { // arrange // act var vm = new ProcessLayoutsViewModel(); // assert Assert.IsNotNull(vm.LayoutList); }
public void SelectedLayoutProperty_MustBeCall_LockSortAndGroupControls() { // arrange var vm = new ProcessLayoutsViewModel(); var layoutSetupViewModel = Mock.Create<ILayoutSetupViewModel>(Behavior.CallOriginal); var privateAccessor = new PrivateAccessor(vm); Mock.NonPublic.Arrange<bool>(vm, "CanSortOrGroupLayout", ArgExpr.IsAny<object>()) .DoInstead(() => privateAccessor.SetField("_selectedLayoutSetup", layoutSetupViewModel)) .Returns(false); var called = false; Mock.Arrange(() => layoutSetupViewModel.LockSortAndGroupControls()).DoInstead(() => called = true); privateAccessor.SetField("_allFields", new List<FieldEdit>()); var layoutViewModel = Mock.Create<ILayoutViewModel>(Behavior.Loose); // act vm.SelectedLayout = layoutViewModel; // assert Assert.IsTrue(called); }
public void SelecLayoutEvenIfNameIsEmpty() { // arraange var vm = new ProcessLayoutsViewModel(); Mock.NonPublic.Arrange<bool>(vm, "CanSortOrGroupLayout", new object[] { ArgExpr.IsNull<object>() }).Returns(true); vm.EditLayoutVM = new Lazy<EditLayoutViewModel>(); var model = Mock.Create<ProcessEdit>(); model.LayoutList = new ProcessLayoutList(); Mock.Arrange(() => vm.Model).Returns(model); var popupBuilder = new PopupBuilder(); var popupFactory = new PopupFactory { PopupFactoryFactory = new ExportFactory<PopupBuilder>(() => new Tuple<PopupBuilder, Action>(popupBuilder, () => { })) }; Mock.Arrange(() => popupBuilder.Show(Arg.IsAny<Action>(), Arg.IsAny<Func<bool>>())).DoInstead((Action ok, Action cancel) => ok()); Mock.Arrange(() => popupFactory.Popup()).Returns(popupBuilder); vm.ThePopupFactory = popupFactory; var newLayoutViewModelFactory = Mock.Create<INewLayoutViewModelFactory>(); Mock.Arrange(() => newLayoutViewModelFactory.CreateLayoutVM(Arg.IsAny<ProcessLayoutEdit>())).Returns<ProcessLayoutEdit>((l) => new NewLayoutViewModel(l) { Name = l.Name, Id = l.Id, LayoutString = l.LayoutInfo }); vm.TheLayoutFactory = newLayoutViewModelFactory; vm.LayoutAddCommand.Execute(null); vm.LayoutAddCommand.Execute(null); vm.SelectedLayout = vm.LayoutList[0]; vm.SelectedLayout.Name = string.Empty; vm.SelectedLayout = vm.LayoutList[1]; // act vm.SelectedLayout = vm.LayoutList[0]; // assert Assert.IsTrue(vm.SelectedLayout.GetHashCode() == vm.LayoutList[0].GetHashCode()); }