public void Execute() { // arrange var rule = new ScheduleFrequencyPatternRule(null, null); var context = Mock.Create<RuleContext>(Constructor.Mocked, Behavior.CallOriginal); Mock.Arrange(() => context.InputPropertyValues) .Returns(new Dictionary<IPropertyInfo, object> { { ProcessScheduleEdit.HighlightScheduleFrequencyPatternProperty, 0 }, { ProcessScheduleEdit.ScheduleFrequencyPatternIdProperty, 0 } }); var ruleWasThrown = false; Mock.Arrange(() => context.AddErrorResult(Arg.IsAny<IPropertyInfo>(), Arg.AnyString)).DoInstead(() => ruleWasThrown = true); // act var privateAccessor = new PrivateAccessor(rule); privateAccessor.CallMethod("Execute", new object[] { context }); // assert Assert.IsTrue(ruleWasThrown); // arrange ruleWasThrown = false; Mock.Arrange(() => context.InputPropertyValues) .Returns(new Dictionary<IPropertyInfo, object> { { ProcessScheduleEdit.HighlightScheduleFrequencyPatternProperty, 0 }, { ProcessScheduleEdit.ScheduleFrequencyPatternIdProperty, 1 } }); // act privateAccessor.CallMethod("Execute", new object[] { context }); // assert Assert.IsFalse(ruleWasThrown); }
public void Ctor() { // arrange var inputProperties = new List<IPropertyInfo> { ProcessScheduleEdit.HighlightScheduleFrequencyPatternProperty, ProcessScheduleEdit.ScheduleFrequencyPatternIdProperty }; var affectedProperties = new List<IPropertyInfo> { ProcessScheduleEdit.HighlightScheduleFrequencyPatternProperty, ProcessScheduleEdit.ScheduleFrequencyPatternIdProperty }; // act var rule = new ScheduleFrequencyPatternRule(ProcessScheduleEdit.HighlightScheduleFrequencyPatternProperty, ProcessScheduleEdit.ScheduleFrequencyPatternIdProperty); // assert CollectionAssert.AreEqual(inputProperties, rule.InputProperties); CollectionAssert.AreEqual(affectedProperties, rule.AffectedProperties); }