コード例 #1
0
        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);
        }