public void AllowRichText() { // arrange var vm = Mock.Create<ProcessFieldTextOptionsStepViewModel>(Constructor.Mocked, Behavior.CallOriginal); var data = new TextOptionsStepEdit(); Mock.Arrange(() => vm.Data).Returns(data); var parentField = Mock.Create<FieldEdit>(Constructor.Mocked, Behavior.Loose); var parentFieldViewModel = Mock.Create<ProcessFieldViewModel>(Constructor.Mocked, Behavior.Loose); Mock.Arrange(() => parentFieldViewModel.Model).Returns(parentField); Mock.Arrange(() => vm.ParentField).Returns(parentFieldViewModel); var eventAggregatorCalled = false; vm.EventAggregator = Mock.Create<IEventAggregator>(Behavior.CallOriginal); Mock.Arrange(() => vm.EventAggregator.Publish(Arg.IsAny<IsRichTextAllowedChangedEvent>())).DoInstead(() => eventAggregatorCalled = true); var allowRichTextRaises = false; Mock.NonPublic.Arrange(vm, "RaisePropertyChanged", "AllowRichText").DoInstead(() => { allowRichTextRaises = true; }); var isMaskOptionsAvailableRaises = false; Mock.NonPublic.Arrange(vm, "RaisePropertyChanged", "IsMaskOptionsAvailable").DoInstead(() => { isMaskOptionsAvailableRaises = true; }); // act vm.AllowRichText = true; // assert Assert.IsTrue(data.AllowRichText); Assert.IsTrue(eventAggregatorCalled); Assert.IsTrue(allowRichTextRaises); Assert.IsTrue(isMaskOptionsAvailableRaises); Assert.AreEqual(2000, vm.NumberOfCharacters); }
public void Ctor() { // arrange var textOptionsStepEdit = new TextOptionsStepEdit(); var stepInfo = new StepInfo(1); var processFieldViewModel = new ProcessFieldViewModel(null, null); // act var vm = new ProcessFieldTextOptionsStepViewModel(textOptionsStepEdit, stepInfo, processFieldViewModel); // assert Assert.IsNotNull(vm); }
public void NumberOfCharacters() { // arrange var vm = Mock.Create<ProcessFieldTextOptionsStepViewModel>(Constructor.Mocked, Behavior.CallOriginal); var data = new TextOptionsStepEdit(); Mock.Arrange(() => vm.Data).Returns(data); var raises = false; Mock.NonPublic.Arrange(vm, "RaisePropertyChanged", "NumberOfCharacters").DoInstead(() => { raises = true; }); // act vm.NumberOfCharacters = 1; // assert Assert.AreEqual(1, data.NumberOfCharacters); Assert.AreEqual(1, vm.NumberOfCharacters); Assert.IsTrue(raises); // arrange var privateAccessor = new PrivateAccessor(vm); privateAccessor.SetField("_numberOfCharacters", TextOptionsStepEdit.NumberOfCharactersProperty.DefaultValue); // act var numberOfCharacters = vm.NumberOfCharacters; // assert Assert.AreEqual(TextOptionsStepEdit.NumberOfCharactersProperty.DefaultValue, numberOfCharacters); // arrange Mock.Arrange(() => vm.AllowRichText).Returns(true); // act numberOfCharacters = vm.NumberOfCharacters; // assert Assert.AreEqual(2000, numberOfCharacters); }
public void WhenAllowRichTextIsEnabled_AllowLocalizedDataIsDisabled() { // Arrange. var vm = Mock.Create<ProcessFieldTextOptionsStepViewModel>(Constructor.Mocked, Behavior.CallOriginal); vm.EventAggregator = Mock.Create<IEventAggregator>(Behavior.Loose); var data = new TextOptionsStepEdit(); Mock.Arrange(() => vm.Data).Returns(data); var parentField = Mock.Create<FieldEdit>(Constructor.Mocked, Behavior.Loose); parentField.AllowLocalizedData = true; var parentFieldViewModel = Mock.Create<ProcessFieldViewModel>(Constructor.Mocked, Behavior.Loose); Mock.Arrange(() => parentFieldViewModel.Model).Returns(parentField); Mock.Arrange(() => vm.ParentField).Returns(parentFieldViewModel); // Act. vm.AllowRichText = true; // Assert. Assert.IsFalse(parentField.AllowLocalizedData); }