public void MaxSelectedOptionsRuleCheck( ConfigurationItem configurationItem, MaxSelectedOptionsRule rule, out string error) { error = string.Empty; var selectedCount = configurationItem.ConfigurationItemOptions.Count(o => o.IsSelected); if (selectedCount > rule.Count) { error = $"{configurationItem.Name} requires at least {rule.Count} option(s)"; } }
public void MinSelectedOptionsRuleCheck( ConfigurationItem configurationItem, MinSelectedOptionsRule rule, out string error) { error = string.Empty; var selectedCount = configurationItem.ConfigurationItemOptions.Count(o => o.IsSelected); if (selectedCount < rule.Count) { error = $"{configurationItem.Name} can have no more than {rule.Count} option(s)"; } }
public void Min_Selected_Options_Rule_Does_Not_Return_An_Error() { var checker = new ConfigurationRulesChecker(); var configItem = new ConfigurationItem(); configItem.ConfigurationItemOptions.Add(new ConfigurationItemOption { Name = "Test", IsSelected = true}); string error; checker.MinSelectedOptionsRuleCheck(configItem, new MinSelectedOptionsRule { Count = 1 }, out error); Assert.IsEmpty(error); }