-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Вильданов Савелий #10
base: master
Are you sure you want to change the base?
Changes from 2 commits
1c75d10
a266c8c
ef5b983
4e7e771
565ab8f
49844bf
467e3e3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,48 @@ | ||
| ||
using NUnit.Framework; | ||
using NUnit.Framework.Legacy; | ||
using NUnit.Framework; | ||
|
||
namespace HomeExercise.Tasks.NumberValidator; | ||
|
||
[TestFixture] | ||
This comment was marked as outdated.
Sorry, something went wrong. |
||
public class NumberValidatorTests | ||
{ | ||
[Test] | ||
public void Test() | ||
[TestCase(-1,2,true,ExpectedResult = true,TestName = "Negative precision")] | ||
[TestCase(1,0,true,ExpectedResult = false,TestName = "Not catch Exception")] | ||
This comment was marked as outdated.
Sorry, something went wrong. |
||
[TestCase(2,5,true,ExpectedResult = true,TestName = "Precision less then scale")] | ||
[TestCase(2,-3,true,ExpectedResult = true,TestName = "Negative scale")] | ||
public bool NumberValidator_Exceptions_Test(int precision, int scale, bool onlyPositive) | ||
This comment was marked as outdated.
Sorry, something went wrong. |
||
{ | ||
Assert.Throws<ArgumentException>(() => new NumberValidator(-1, 2, true)); | ||
Assert.DoesNotThrow(() => new NumberValidator(1, 0, true)); | ||
Assert.Throws<ArgumentException>(() => new NumberValidator(-1, 2, false)); | ||
Assert.DoesNotThrow(() => new NumberValidator(1, 0, true)); | ||
try | ||
This comment was marked as outdated.
Sorry, something went wrong. |
||
{ | ||
new NumberValidator(precision, scale, onlyPositive); | ||
} | ||
catch (ArgumentException) | ||
{ | ||
return true; | ||
} | ||
|
||
return false; | ||
} | ||
|
||
ClassicAssert.IsTrue(new NumberValidator(17, 2, true).IsValidNumber("0.0")); | ||
ClassicAssert.IsTrue(new NumberValidator(17, 2, true).IsValidNumber("0")); | ||
ClassicAssert.IsTrue(new NumberValidator(17, 2, true).IsValidNumber("0.0")); | ||
ClassicAssert.IsFalse(new NumberValidator(3, 2, true).IsValidNumber("00.00")); | ||
ClassicAssert.IsFalse(new NumberValidator(3, 2, true).IsValidNumber("-0.00")); | ||
ClassicAssert.IsTrue(new NumberValidator(17, 2, true).IsValidNumber("0.0")); | ||
ClassicAssert.IsFalse(new NumberValidator(3, 2, true).IsValidNumber("+0.00")); | ||
ClassicAssert.IsTrue(new NumberValidator(4, 2, true).IsValidNumber("+1.23")); | ||
ClassicAssert.IsFalse(new NumberValidator(3, 2, true).IsValidNumber("+1.23")); | ||
ClassicAssert.IsFalse(new NumberValidator(17, 2, true).IsValidNumber("0.000")); | ||
ClassicAssert.IsFalse(new NumberValidator(3, 2, true).IsValidNumber("-1.23")); | ||
ClassicAssert.IsFalse(new NumberValidator(3, 2, true).IsValidNumber("a.sd")); | ||
[Test, TestCaseSource(nameof(NumberValidatorTestCases))] | ||
This comment was marked as outdated.
Sorry, something went wrong. |
||
public bool IsValidNumber(NumberValidator numberValidator, String number) | ||
{ | ||
return numberValidator.IsValidNumber(number); | ||
} | ||
|
||
public static IEnumerable<TestCaseData> NumberValidatorTestCases | ||
{ | ||
get | ||
{ | ||
yield return new TestCaseData(new NumberValidator(8, 2, true), "0.0").Returns(true); | ||
yield return new TestCaseData(new NumberValidator(3, 0, true), "0").Returns(true); | ||
yield return new TestCaseData(new NumberValidator(4, 2, true), "-1.23").Returns(false); | ||
yield return new TestCaseData(new NumberValidator(4, 2, false), "-1.24").Returns(true); | ||
yield return new TestCaseData(new NumberValidator(5, 2, true), "1.253").Returns(false); | ||
yield return new TestCaseData(new NumberValidator(3, 2, false), "a.ds").Returns(false); | ||
yield return new TestCaseData(new NumberValidator(4, 2, true), "").Returns(false); | ||
yield return new TestCaseData(new NumberValidator(5, 2, true), "+-1.25").Returns(false); | ||
yield return new TestCaseData(new NumberValidator(5, 2, true), null).Returns(false); | ||
yield return new TestCaseData(new NumberValidator(3, 0, true), "1234").Returns(false); | ||
This comment was marked as outdated.
Sorry, something went wrong. |
||
} | ||
} | ||
} |
This comment was marked as outdated.
Sorry, something went wrong.