public void AppendFieldDoNotPersistLayoutChangingIfTheFieldIsMovingToAnotherSection() { var section = new ProcessSectionViewModel(new SectionEdit()) { TheProcessFieldsViewModel = new ProcessFieldsViewModel() }; var field = Mock.Create<FieldEdit>(); var fieldVm = Mock.Create<ProcessFieldViewModel>(); section.FieldFactory = new FieldViewModelFactory(); Mock.Arrange(() => section.FieldFactory.CreateFieldVM(field, section)).Returns(() => fieldVm); Mock.NonPublic.Arrange(section, "AssignField", field).DoNothing(); var eventCalled = false; Mock.Arrange(() => section.EventAggregator.Publish(Arg.IsAny<FieldListChangedEvent>())).DoInstead(() => eventCalled = true); section.AppendField(field); Assert.IsTrue(eventCalled); eventCalled = false; section.AppendField(field, true); Assert.IsFalse(eventCalled); }