Skip to content

Commit

Permalink
Merge d2b2723 into 84da591
Browse files Browse the repository at this point in the history
  • Loading branch information
roryprimrose committed Jun 16, 2020
2 parents 84da591 + d2b2723 commit f5f63a1
Show file tree
Hide file tree
Showing 26 changed files with 240 additions and 126 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ public void AddCreationRuleAddsRuleToConfiguration()
{
var sut = new BuildConfiguration();

sut.AddCreationRule<DummyCreationRule>();
var config = sut.AddCreationRule<DummyCreationRule>();

config.Should().Be(sut);

var actual = sut.CreationRules.Single();

Expand All @@ -42,7 +44,9 @@ public void AddCreationRuleWithExpressionAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.AddCreationRule<Person>(x => x.FirstName!, value, priority);
var config = sut.AddCreationRule<Person>(x => x.FirstName, value, priority);

config.Should().Be(sut);

var rule = sut.CreationRules.Single();

Expand All @@ -60,7 +64,7 @@ public void AddCreationRuleWithExpressionThrowsExceptionWithNullConfiguration()
var value = Guid.NewGuid().ToString();

Action action = () =>
BuildConfigurationExtensions.AddCreationRule<Person>(null!, x => x.FirstName!, value, priority);
BuildConfigurationExtensions.AddCreationRule<Person>(null!, x => x.FirstName, value, priority);

action.Should().Throw<ArgumentNullException>();
}
Expand All @@ -73,7 +77,7 @@ public void AddCreationRuleWithExpressionThrowsExceptionWithNullExpression()

var sut = new BuildConfiguration();

Action action = () => sut.AddCreationRule((Expression<Func<Person, object>>) null!, value, priority);
Action action = () => sut.AddCreationRule((Expression<Func<Person, object?>>) null!, value, priority);

action.Should().Throw<ArgumentNullException>();
}
Expand All @@ -88,7 +92,9 @@ public void AddCreationRuleWithParameterPredicateAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.AddCreationRule(x => x.ParameterType == typeof(string), value, priority);
var config = sut.AddCreationRule(x => x.ParameterType == typeof(string), value, priority);

config.Should().Be(sut);

var rule = sut.CreationRules.Single();

Expand All @@ -109,7 +115,9 @@ public void AddCreationRuleWithParameterPredicateGeneratorAddsRuleToConfiguratio

var sut = new BuildConfiguration();

sut.AddCreationRule(x => x.ParameterType == typeof(string), () => value, priority);
var config = sut.AddCreationRule(x => x.ParameterType == typeof(string), () => value, priority);

config.Should().Be(sut);

var rule = sut.CreationRules.Single();

Expand Down Expand Up @@ -193,7 +201,9 @@ public void AddCreationRuleWithPropertyPredicateAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.AddCreationRule(x => x.PropertyType == typeof(string), value, priority);
var config = sut.AddCreationRule(x => x.PropertyType == typeof(string), value, priority);

config.Should().Be(sut);

var rule = sut.CreationRules.Single();

Expand All @@ -213,7 +223,9 @@ public void AddCreationRuleWithPropertyPredicateGeneratorAddsRuleToConfiguration

var sut = new BuildConfiguration();

sut.AddCreationRule(x => x.PropertyType == typeof(string), () => value, priority);
var config = sut.AddCreationRule(x => x.PropertyType == typeof(string), () => value, priority);

config.Should().Be(sut);

var rule = sut.CreationRules.Single();

Expand Down Expand Up @@ -299,7 +311,9 @@ public void AddCreationRuleWithRegularExpressionAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.AddCreationRule(targetType, expression, value, priority);
var config = sut.AddCreationRule(targetType, expression, value, priority);

config.Should().Be(sut);

var rule = sut.CreationRules.Single();

Expand Down Expand Up @@ -363,7 +377,9 @@ public void AddCreationRuleWithStringExpressionAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.AddCreationRule(targetType, expression, value, priority);
var config = sut.AddCreationRule(targetType, expression, value, priority);

config.Should().Be(sut);

var rule = sut.CreationRules.Single();

Expand Down Expand Up @@ -427,7 +443,9 @@ public void AddCreationRuleWithTypePredicateAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.AddCreationRule((Type x) => x == typeof(string), value, priority);
var config = sut.AddCreationRule((Type x) => x == typeof(string), value, priority);

config.Should().Be(sut);

var rule = sut.CreationRules.Single();

Expand All @@ -447,7 +465,9 @@ public void AddCreationRuleWithTypePredicateGeneratorAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.AddCreationRule((Type x) => x == typeof(string), () => value, priority);
var config = sut.AddCreationRule((Type x) => x == typeof(string), () => value, priority);

config.Should().Be(sut);

var rule = sut.CreationRules.Single();

Expand Down Expand Up @@ -524,19 +544,20 @@ public void AddCreationRuleWithTypePredicateThrowsExceptionWithNullPredicate()
[Fact]
public void AddWithCreationRuleAddsRuleToConfiguration()
{
var rule = new ExpressionCreationRule<Person>(x => x.FirstName!, (object) null!, Environment.TickCount);
var rule = new ExpressionCreationRule<Person>(x => x.FirstName, (object) null!, Environment.TickCount);

var sut = new BuildConfiguration();

sut.Add(rule);
var actual = sut.Add(rule);

actual.Should().Be(sut);
sut.CreationRules.Should().Contain(rule);
}

[Fact]
public void AddWithCreationRuleThrowsExceptionWithNullConfiguration()
{
var rule = new ExpressionCreationRule<Person>(x => x.FirstName!, (object) null!, Environment.TickCount);
var rule = new ExpressionCreationRule<Person>(x => x.FirstName, (object) null!, Environment.TickCount);

Action action = () => BuildConfigurationExtensions.Add(null!, rule);

Expand Down Expand Up @@ -572,7 +593,10 @@ public void RemoveCreationRuleRemovesRulesFromConfiguration()
var sut = new BuildConfiguration();

sut.AddCreationRule<DummyCreationRule>();
sut.RemoveCreationRule<DummyCreationRule>();

var config = sut.RemoveCreationRule<DummyCreationRule>();

config.Should().Be(sut);

sut.CreationRules.Should().BeEmpty();
}
Expand Down Expand Up @@ -631,7 +655,9 @@ public void UpdateCreationRuleUpdateMatchingRule()

sut.CreationRules.Add(rule);

sut.UpdateCreationRule<DummyCreationRule>(x => { x.Value = expected; });
var config = sut.UpdateCreationRule<DummyCreationRule>(x => { x.Value = expected; });

config.Should().Be(sut);

rule.Value.Should().Be(expected);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ public void AddExecuteOrderRuleAddsRuleToConfiguration()
{
var sut = new BuildConfiguration();

sut.AddExecuteOrderRule<DummyExecuteOrderRule>();
var config = sut.AddExecuteOrderRule<DummyExecuteOrderRule>();

config.Should().Be(sut);

var actual = sut.ExecuteOrderRules.Single();

Expand All @@ -40,7 +42,9 @@ public void AddExecuteOrderRuleWithExpressionAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.AddExecuteOrderRule<Person>(x => x.FirstName!, priority);
var config = sut.AddExecuteOrderRule<Person>(x => x.FirstName, priority);

config.Should().Be(sut);

var rule = sut.ExecuteOrderRules.Single();

Expand All @@ -59,7 +63,7 @@ public void AddExecuteOrderRuleWithExpressionThrowsExceptionWithNullConfiguratio
var priority = Environment.TickCount;

Action action = () =>
BuildConfigurationExtensions.AddExecuteOrderRule<Person>(null!, x => x.FirstName!, priority);
BuildConfigurationExtensions.AddExecuteOrderRule<Person>(null!, x => x.FirstName, priority);

action.Should().Throw<ArgumentNullException>();
}
Expand All @@ -71,7 +75,7 @@ public void AddExecuteOrderRuleWithExpressionThrowsExceptionWithNullExpression()

var sut = new BuildConfiguration();

Action action = () => sut.AddExecuteOrderRule((Expression<Func<Person, object>>) null!, priority);
Action action = () => sut.AddExecuteOrderRule((Expression<Func<Person, object?>>) null!, priority);

action.Should().Throw<ArgumentNullException>();
}
Expand All @@ -83,7 +87,9 @@ public void AddExecuteOrderRuleWithPredicateAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.AddExecuteOrderRule(x => x.Name == nameof(Person.FirstName), priority);
var config = sut.AddExecuteOrderRule(x => x.Name == nameof(Person.FirstName), priority);

config.Should().Be(sut);

var rule = sut.ExecuteOrderRules.Single();

Expand Down Expand Up @@ -210,7 +216,10 @@ public void RemoveExecuteOrderRuleRemovesRulesFromConfiguration()
var sut = new BuildConfiguration();

sut.AddExecuteOrderRule<DummyExecuteOrderRule>();
sut.RemoveExecuteOrderRule<DummyExecuteOrderRule>();

var config = sut.RemoveExecuteOrderRule<DummyExecuteOrderRule>();

config.Should().Be(sut);

sut.ExecuteOrderRules.Should().BeEmpty();
}
Expand Down Expand Up @@ -269,7 +278,9 @@ public void UpdateExecuteOrderRuleUpdateMatchingRule()

sut.ExecuteOrderRules.Add(rule);

sut.UpdateExecuteOrderRule<DummyExecuteOrderRule>(x => { x.Value = expected; });
var config = sut.UpdateExecuteOrderRule<DummyExecuteOrderRule>(x => { x.Value = expected; });

config.Should().Be(sut);

rule.Value.Should().Be(expected);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,27 @@ public void AddIgnoreRuleAddsRuleToConfiguration()
{
var sut = new BuildConfiguration();

sut.AddIgnoreRule<DummyIgnoreRule>();
var config = sut.AddIgnoreRule<DummyIgnoreRule>();

config.Should().Be(sut);

var actual = sut.IgnoreRules.Single();

actual.Should().BeOfType<DummyIgnoreRule>();
}

[Fact]
public void AddIgnoreRuleSupportsNullablePropertyType()
{
var sut = new BuildConfiguration();

var config = sut.Ignoring<NullableItem>(x => x.Name);

var actual = config.IgnoreRules.Single();

actual.Should().BeOfType<ExpressionIgnoreRule<NullableItem>>();
}

[Fact]
public void AddIgnoreRuleThrowsExceptionWithNullConfiguration()
{
Expand All @@ -39,7 +53,7 @@ public void AddIgnoreRuleWithExpressionAddsRuleToConfiguration()
{
var sut = new BuildConfiguration();

var actual = sut.AddIgnoreRule<Person>(x => x.FirstName!);
var actual = sut.AddIgnoreRule<Person>(x => x.FirstName);

actual.Should().Be(sut);

Expand All @@ -51,7 +65,7 @@ public void AddIgnoreRuleWithExpressionAddsRuleToConfiguration()
[Fact]
public void AddIgnoreRuleWithExpressionThrowsExceptionWithNullConfiguration()
{
Action action = () => BuildConfigurationExtensions.AddIgnoreRule<Person>(null!, x => x.FirstName!);
Action action = () => BuildConfigurationExtensions.AddIgnoreRule<Person>(null!, x => x.FirstName);

action.Should().Throw<ArgumentNullException>();
}
Expand All @@ -61,7 +75,7 @@ public void AddIgnoreRuleWithExpressionThrowsExceptionWithNullExpression()
{
var sut = new BuildConfiguration();

Action action = () => sut.AddIgnoreRule((Expression<Func<Person, object>>) null!);
Action action = () => sut.AddIgnoreRule((Expression<Func<Person, object?>>) null!);

action.Should().Throw<ArgumentNullException>();
}
Expand Down Expand Up @@ -176,19 +190,21 @@ public void AddIgnoreRuleWithStringExpressionThrowsExceptionWithNullConfiguratio
[Fact]
public void AddWithIgnoreRuleAddsRuleToConfiguration()
{
var rule = new ExpressionIgnoreRule<Person>(x => x.FirstName!);
var rule = new ExpressionIgnoreRule<Person>(x => x.FirstName);

var sut = new BuildConfiguration();

sut.Add(rule);
var config = sut.Add(rule);

config.Should().Be(sut);

sut.IgnoreRules.Should().Contain(rule);
}

[Fact]
public void AddWithIgnoreRuleThrowsExceptionWithNullConfiguration()
{
var rule = new ExpressionIgnoreRule<Person>(x => x.FirstName!);
var rule = new ExpressionIgnoreRule<Person>(x => x.FirstName);

Action action = () => BuildConfigurationExtensions.Add(null!, rule);

Expand Down Expand Up @@ -239,7 +255,10 @@ public void RemoveIgnoreRuleRemovesRulesFromConfiguration()
var sut = new BuildConfiguration();

sut.AddIgnoreRule<DummyIgnoreRule>();
sut.RemoveIgnoreRule<DummyIgnoreRule>();

var config = sut.RemoveIgnoreRule<DummyIgnoreRule>();

config.Should().Be(sut);

sut.IgnoreRules.Should().BeEmpty();
}
Expand Down Expand Up @@ -298,7 +317,9 @@ public void UpdateIgnoreRuleUpdateMatchingRule()

sut.IgnoreRules.Add(rule);

sut.UpdateIgnoreRule<DummyIgnoreRule>(x => { x.Value = expected; });
var config = sut.UpdateIgnoreRule<DummyIgnoreRule>(x => { x.Value = expected; });

config.Should().Be(sut);

rule.Value.Should().Be(expected);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ public void AddPostBuildActionAddsRuleToConfiguration()
{
var sut = new BuildConfiguration();

sut.AddPostBuildAction<DummyPostBuildAction>();
var config = sut.AddPostBuildAction<DummyPostBuildAction>();

config.Should().Be(sut);

var actual = sut.PostBuildActions.Single();

Expand All @@ -35,7 +37,9 @@ public void AddWithPostBuildActionAddsRuleToConfiguration()

var sut = new BuildConfiguration();

sut.Add(postBuildAction);
var config = sut.Add(postBuildAction);

config.Should().Be(sut);

sut.PostBuildActions.Should().Contain(postBuildAction);
}
Expand Down Expand Up @@ -79,7 +83,10 @@ public void RemovePostBuildActionRemovesRulesFromConfiguration()
var sut = new BuildConfiguration();

sut.AddPostBuildAction<DummyPostBuildAction>();
sut.RemovePostBuildAction<DummyPostBuildAction>();

var config = sut.RemovePostBuildAction<DummyPostBuildAction>();

config.Should().Be(sut);

sut.PostBuildActions.Should().BeEmpty();
}
Expand Down Expand Up @@ -138,7 +145,9 @@ public void UpdatePostBuildActionUpdateMatchingRule()

sut.PostBuildActions.Add(rule);

sut.UpdatePostBuildAction<DummyPostBuildAction>(x => { x.Value = expected; });
var config = sut.UpdatePostBuildAction<DummyPostBuildAction>(x => { x.Value = expected; });

config.Should().Be(sut);

rule.Value.Should().Be(expected);
}
Expand Down
Loading

0 comments on commit f5f63a1

Please sign in to comment.