public void AddCreationRuleAddsRuleToCompilerTest() { var target = new BuildStrategyCompiler(); target.AddCreationRule<DummyCreationRule>(); var actual = target.CreationRules.Single(); actual.Should().BeOfType<DummyCreationRule>(); }
public void AddCreationRuleWithExpressionThrowsExceptionWithNullExpressionTest() { var priority = Environment.TickCount; var value = Guid.NewGuid().ToString(); var target = new BuildStrategyCompiler(); Action action = () => target.AddCreationRule((Expression<Func<Person, object>>) null, priority, value); action.ShouldThrow<ArgumentNullException>(); }
public void AddCreationRuleWithExpressionAddsRuleToCompilerTest() { var priority = Environment.TickCount; var value = Guid.NewGuid().ToString(); var target = new BuildStrategyCompiler(); target.AddCreationRule<Person>(x => x.FirstName, priority, value); var rule = target.CreationRules.Single(); rule.Priority.Should().Be(priority); var actual = rule.Create(typeof(Person), nameof(Person.FirstName), null); actual.Should().Be(value); }
public void RemoveCreationRuleRemovesRulesFromCompilerTest() { var target = new BuildStrategyCompiler(); target.AddCreationRule<DummyCreationRule>(); target.RemoveCreationRule<DummyCreationRule>(); target.CreationRules.Should().BeEmpty(); }