From 4b3edcd7dccdab636245c0503296be69faad2fd8 Mon Sep 17 00:00:00 2001 From: lebaongan Date: Mon, 27 Jul 2020 17:38:58 +0700 Subject: [PATCH 1/2] [NganLTB] Issue #3 Test C0 --- tests/C0/ProcessRunnerTest.php | 29 +++++++++++++- tests/C0/UsernameValidationTest.php | 60 ++++++++++++++++++++++++++++- 2 files changed, 87 insertions(+), 2 deletions(-) diff --git a/tests/C0/ProcessRunnerTest.php b/tests/C0/ProcessRunnerTest.php index 4966ff0..73f2762 100644 --- a/tests/C0/ProcessRunnerTest.php +++ b/tests/C0/ProcessRunnerTest.php @@ -2,9 +2,36 @@ namespace Tests\C0; +use App\ProcessRunner; use PHPUnit\Framework\TestCase; class ProcessRunnerTest extends TestCase { - // TODO: write 2 tests to coverage 100% code + public function test_return_2_WHEN_pass_case_1_case_3_run_test() + { + $sut = new ProcessRunner; + + $actualResult = $sut->run(12, 1); + + $expectedResult = 2; + $this->assertEquals($expectedResult, $actualResult); + $this->assertTrue($sut->wasProcess1Called()); + $this->assertTrue($sut->wasProcess3Called()); + $this->assertFalse($sut->wasProcess2Called()); + $this->assertFalse($sut->wasProcess4Called()); + } + + public function test_return_2_WHEN_pass_case_2_case_4_run_test() + { + $sut = new ProcessRunner; + + $actualResult = $sut->run(1, 1); + + $expectedResult = 2; + $this->assertEquals($expectedResult, $actualResult); + $this->assertTrue($sut->wasProcess2Called()); + $this->assertTrue($sut->wasProcess4Called()); + $this->assertFalse($sut->wasProcess1Called()); + $this->assertFalse($sut->wasProcess3Called()); + } } diff --git a/tests/C0/UsernameValidationTest.php b/tests/C0/UsernameValidationTest.php index d78a816..cd4b7cd 100644 --- a/tests/C0/UsernameValidationTest.php +++ b/tests/C0/UsernameValidationTest.php @@ -2,9 +2,67 @@ namespace Tests\C0; +use App\UsernameValidation; use PHPUnit\Framework\TestCase; class UsernameValidationTest extends TestCase { - // TODO: write 6 tests to coverage 100% code + public function test_return_false_when_user_name_lt_min_length_is_valid_test() + { + $sut = new UsernameValidation; + + $actualResult = $sut->isValid(''); + + $this->assertFalse($actualResult); + $this->assertEquals('Minimum length is 1', $sut->getMessage()); + } + + public function test_return_false_when_user_name_gt_max_length_is_valid_test() + { + $sut = new UsernameValidation; + + $actualResult = $sut->isValid('012345678901234567890'); + + $this->assertFalse($actualResult); + $this->assertEquals('Maximum length is 20', $sut->getMessage()); + } + + public function test_return_false_when_user_name_not_allow_dash_begin_or_end_is_valid_test() + { + $sut = new UsernameValidation; + + $actualResult = $sut->isValid('-1234'); + + $this->assertFalse($actualResult); + $this->assertEquals('- cannot appear at begin or end of name', $sut->getMessage()); + } + + public function test_return_false_when_user_name_not_allow_double_dash_is_valid_test() + { + $sut = new UsernameValidation; + + $actualResult = $sut->isValid('1--2'); + + $this->assertFalse($actualResult); + $this->assertEquals('Only single - is allowed', $sut->getMessage()); + } + + public function test_return_false_when_user_name_not_allow_invalid_character_is_valid_test() + { + $sut = new UsernameValidation; + + $actualResult = $sut->isValid('@'); + + $this->assertFalse($actualResult); + $this->assertEquals('Invalid character. Use only letters, digits and -', $sut->getMessage()); + } + + public function test_return_true_when_user_name_valid_is_valid_test() + { + $sut = new UsernameValidation; + + $actualResult = $sut->isValid('lethibaongan'); + + $this->assertTrue($actualResult); + } } From 4e7e0b4a6be621c8f6f56e8c92f772332a90d4f3 Mon Sep 17 00:00:00 2001 From: lebaongan Date: Mon, 3 Aug 2020 18:15:16 +0700 Subject: [PATCH 2/2] fix test case name --- tests/C0/ProcessRunnerTest.php | 4 ++-- tests/C0/UsernameValidationTest.php | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/C0/ProcessRunnerTest.php b/tests/C0/ProcessRunnerTest.php index 73f2762..f8fc040 100644 --- a/tests/C0/ProcessRunnerTest.php +++ b/tests/C0/ProcessRunnerTest.php @@ -7,7 +7,7 @@ class ProcessRunnerTest extends TestCase { - public function test_return_2_WHEN_pass_case_1_case_3_run_test() + public function test_return_2_WHEN_pass_case_1_case_3() { $sut = new ProcessRunner; @@ -21,7 +21,7 @@ public function test_return_2_WHEN_pass_case_1_case_3_run_test() $this->assertFalse($sut->wasProcess4Called()); } - public function test_return_2_WHEN_pass_case_2_case_4_run_test() + public function test_return_2_WHEN_pass_case_2_case_4() { $sut = new ProcessRunner; diff --git a/tests/C0/UsernameValidationTest.php b/tests/C0/UsernameValidationTest.php index cd4b7cd..76b4a3c 100644 --- a/tests/C0/UsernameValidationTest.php +++ b/tests/C0/UsernameValidationTest.php @@ -7,7 +7,7 @@ class UsernameValidationTest extends TestCase { - public function test_return_false_when_user_name_lt_min_length_is_valid_test() + public function test_return_false_when_user_name_lt_min_length() { $sut = new UsernameValidation; @@ -17,7 +17,7 @@ public function test_return_false_when_user_name_lt_min_length_is_valid_test() $this->assertEquals('Minimum length is 1', $sut->getMessage()); } - public function test_return_false_when_user_name_gt_max_length_is_valid_test() + public function test_return_false_when_user_name_gt_max_length() { $sut = new UsernameValidation; @@ -27,7 +27,7 @@ public function test_return_false_when_user_name_gt_max_length_is_valid_test() $this->assertEquals('Maximum length is 20', $sut->getMessage()); } - public function test_return_false_when_user_name_not_allow_dash_begin_or_end_is_valid_test() + public function test_return_false_when_user_name_not_allow_dash_begin_or_end() { $sut = new UsernameValidation; @@ -37,7 +37,7 @@ public function test_return_false_when_user_name_not_allow_dash_begin_or_end_is_ $this->assertEquals('- cannot appear at begin or end of name', $sut->getMessage()); } - public function test_return_false_when_user_name_not_allow_double_dash_is_valid_test() + public function test_return_false_when_user_name_not_allow_double_dash() { $sut = new UsernameValidation; @@ -47,7 +47,7 @@ public function test_return_false_when_user_name_not_allow_double_dash_is_valid_ $this->assertEquals('Only single - is allowed', $sut->getMessage()); } - public function test_return_false_when_user_name_not_allow_invalid_character_is_valid_test() + public function test_return_false_when_user_name_not_allow_invalid_character() { $sut = new UsernameValidation; @@ -57,7 +57,7 @@ public function test_return_false_when_user_name_not_allow_invalid_character_is_ $this->assertEquals('Invalid character. Use only letters, digits and -', $sut->getMessage()); } - public function test_return_true_when_user_name_valid_is_valid_test() + public function test_return_true_when_user_name_valid() { $sut = new UsernameValidation;