diff options
author | 杨宇千 <crupest@outlook.com> | 2019-10-24 20:15:58 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-24 20:15:58 +0800 |
commit | 7305358a88ffc87f51f7b78deb4f07ef99120beb (patch) | |
tree | 7ca5010a06829cc5fadea1ea17ae72d082fc344c /Timeline.Tests/UsernameValidatorUnitTest.cs | |
parent | 297d0c9029360f1d5334ed843b9b299356740ec1 (diff) | |
parent | a0f3cd7599a48c14fb5492fb1c6e2dbd0a82fb45 (diff) | |
download | timeline-7305358a88ffc87f51f7b78deb4f07ef99120beb.tar.gz timeline-7305358a88ffc87f51f7b78deb4f07ef99120beb.tar.bz2 timeline-7305358a88ffc87f51f7b78deb4f07ef99120beb.zip |
Merge pull request #50 from crupest/refactor
Refactor : A Huge Step
Diffstat (limited to 'Timeline.Tests/UsernameValidatorUnitTest.cs')
-rw-r--r-- | Timeline.Tests/UsernameValidatorUnitTest.cs | 64 |
1 files changed, 24 insertions, 40 deletions
diff --git a/Timeline.Tests/UsernameValidatorUnitTest.cs b/Timeline.Tests/UsernameValidatorUnitTest.cs index 6a635ba1..283e18e2 100644 --- a/Timeline.Tests/UsernameValidatorUnitTest.cs +++ b/Timeline.Tests/UsernameValidatorUnitTest.cs @@ -15,15 +15,9 @@ namespace Timeline.Tests private string FailAndMessage(string username)
{
- var result = _validator.Validate(username, out var message);
+ var (result, messageGenerator) = _validator.Validate(username);
result.Should().BeFalse();
- return message;
- }
-
- private void Succeed(string username)
- {
- _validator.Validate(username, out var message).Should().BeTrue();
- message.Should().Be(ValidationConstants.SuccessMessage);
+ return messageGenerator(null);
}
[Fact]
@@ -35,8 +29,9 @@ namespace Timeline.Tests [Fact]
public void NotString()
{
- var result = _validator.Validate(123, out var message);
+ var (result, messageGenerator) = _validator.Validate(123);
result.Should().BeFalse();
+ var message = messageGenerator(null);
message.Should().ContainEquivalentOf("type");
}
@@ -46,31 +41,14 @@ namespace Timeline.Tests FailAndMessage("").Should().ContainEquivalentOf("empty");
}
- [Fact]
- public void WhiteSpace()
+ [Theory]
+ [InlineData("!")]
+ [InlineData("!abc")]
+ [InlineData("ab c")]
+ public void BadCharactor(string value)
{
- FailAndMessage(" ").Should().ContainEquivalentOf("whitespace");
- FailAndMessage("\t").Should().ContainEquivalentOf("whitespace");
- FailAndMessage("\n").Should().ContainEquivalentOf("whitespace");
-
- FailAndMessage("a b").Should().ContainEquivalentOf("whitespace");
- FailAndMessage("a\tb").Should().ContainEquivalentOf("whitespace");
- FailAndMessage("a\nb").Should().ContainEquivalentOf("whitespace");
- }
-
- [Fact]
- public void BadCharactor()
- {
- FailAndMessage("!").Should().ContainEquivalentOf("regex");
- FailAndMessage("!abc").Should().ContainEquivalentOf("regex");
- FailAndMessage("ab!c").Should().ContainEquivalentOf("regex");
- }
-
- [Fact]
- public void BadBegin()
- {
- FailAndMessage("-").Should().ContainEquivalentOf("regex");
- FailAndMessage("-abc").Should().ContainEquivalentOf("regex");
+ FailAndMessage(value).Should().ContainEquivalentOf("invalid")
+ .And.ContainEquivalentOf("character");
}
[Fact]
@@ -79,14 +57,20 @@ namespace Timeline.Tests FailAndMessage(new string('a', 40)).Should().ContainEquivalentOf("long");
}
- [Fact]
- public void Success()
+ [Theory]
+ [InlineData("abc")]
+ [InlineData("-abc")]
+ [InlineData("_abc")]
+ [InlineData("abc-")]
+ [InlineData("abc_")]
+ [InlineData("a-bc")]
+ [InlineData("a-b-c")]
+ [InlineData("a-b_c")]
+ public void Success(string value)
{
- Succeed("abc");
- Succeed("_abc");
- Succeed("a-bc");
- Succeed("a-b-c");
- Succeed("a-b_c");
+
+ var (result, _) = _validator.Validate(value);
+ result.Should().BeTrue();
}
}
}
|