public void AddAssemblyFrom_Adds_Contained_Rules_To_ActiveRules() { _catalog.AddAssemblyFrom(GetType().Assembly.Location); Assert.That(_catalog.Rules.Count(), Is.EqualTo(1)); Assert.That(_catalog.ActiveRules.Count(), Is.EqualTo(1)); Assert.That(_catalog.InactiveRules.Count(), Is.EqualTo(0)); IJudgeSql rule = _catalog.ActiveRules.First(); Assert.That(rule, Is.InstanceOf(typeof(StubbedRule))); }
public void RunBeforeEachTest() { _engine = null; _parser1 = MockRepository.GenerateMock<IParseSql>(); _parser2 = MockRepository.GenerateMock<IParseSql>(); _parsers = new List<IParseSql> { _parser1, _parser2 }; _rule1 = MockRepository.GenerateMock<IJudgeSql>(); _rule2 = MockRepository.GenerateMock<IJudgeSql>(); _activeRules = new List<IJudgeSql> { _rule1, _rule2 }; _catalog = MockRepository.GenerateMock<ICatalogRules>(); _catalog.Stub(c => c.ActiveRules).Return(_activeRules); }
private void LoadTypesFromAssembly(Assembly a) { foreach (Type type in a.GetExportedTypes()) { if (type.IsClass && typeof(IJudgeSql).IsAssignableFrom(type)) { try { object o = type.GetConstructor(Type.EmptyTypes) .Invoke(null); IJudgeSql rule = (IJudgeSql)o; AddActiveRule(rule); } catch (NullReferenceException) {} catch (InvalidCastException) {} } } }
private void AddRule(IJudgeSql rule, List<IJudgeSql> target) { if(rule == null) { throw new ArgumentNullException("rule"); } List<IJudgeSql> other = target == _activeRules? _inactiveRules : _activeRules; other.RemoveAll(r => r.CanonicalName == rule.CanonicalName); IEnumerable<IJudgeSql> found; found = target.Where(r => r.CanonicalName == rule.CanonicalName); if(found.Count() > 0 && found.Any(r => !r.Equals(rule))) { throw new DuplicateCanonicalNameException(rule.CanonicalName); } else if(found.Count() == 0) { target.Add(rule); } }
public void AddInactive(IJudgeSql rule) { AddRule(rule, _inactiveRules); }
public void AddActive(IJudgeSql rule) { AddRule(rule, _activeRules); }
protected void AddActiveRule(IJudgeSql rule) { _catalog.AddActive(rule); }