private static IRulesProvider MakeMockRuleProvider(Type forModelType, params string[] rulePropertyNames) { var ruleset = new RuleSet(rulePropertyNames.ToLookup(x => x, x => (Rule)new RequiredRule())); var mockProvider = new Moq.Mock<IRulesProvider>(); mockProvider.Expect(x => x.GetRulesFromType(forModelType)).Returns(ruleset); return mockProvider.Object; }
public void IRuleProvider_Has_GetRulesFromType_Method() { // Arrange var arbitraryType = this.GetType(); var mockRuleProvider = new Moq.Mock<IRulesProvider>(); mockRuleProvider.Expect(x => x.GetRulesFromType(arbitraryType)) .Returns(RuleSet.Empty); // Act var actualResult = mockRuleProvider.Object.GetRulesFromType(arbitraryType); // Assert Assert.Same(RuleSet.Empty, actualResult); }
public void GetRulesForType_Can_Handle_Provider_Returning_NULL() { // Arrange var mockProvider = new Moq.Mock<IRulesProvider>(); mockProvider.Expect(x => x.GetRulesFromType(typeof(double))) .Returns((RuleSet)null); ActiveRuleProviders.Providers.Clear(); ActiveRuleProviders.Providers.Add(mockProvider.Object); // Act var rules = ActiveRuleProviders.GetRulesForType(typeof (double)); // Assert Assert.NotNull(rules); Assert.Empty(rules.Keys); }