Skip to content

Commit e524223

Browse files
Testes.
1 parent 7634386 commit e524223

13 files changed

+339
-11
lines changed

composer.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
"require": {},
1313
"autoload": {
1414
"psr-4": {
15-
"ArrayUtils\\": "src/",
16-
"Test\\ArrayUtils\\": "test/"
15+
"ArrayUtils\\": ["src/", "test/"]
1716
}
1817
},
1918
"require-dev": {

src/ValidationRules/DateValidation.php

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public function getIdentifier() {
1515
}
1616

1717
private function validateWithFormat($value) {
18-
$date = DateTime::createFromFormat($this->format, $value);
18+
$date = \DateTime::createFromFormat($this->format, $value);
1919

2020
if (!$date || $date->format($this->format) != $value) {
2121
return array("A data fornecida não respeita o padrão '" . $this->format . "'.");
@@ -30,8 +30,8 @@ private function validateWithFormat($value) {
3030
* @return array
3131
*/
3232
public function validate($value) {
33-
if ($value === null) {
34-
return array();
33+
if (!is_string($value) && !is_numeric($value)) {
34+
return array("O campo deve ser um valor numérico ou string.");
3535
}
3636

3737
return $this->validateDateStructure($value);
@@ -50,10 +50,6 @@ public function setParams($params) {
5050
* @return array
5151
*/
5252
private function validateDateStructure($value) {
53-
if (!is_string($value) || !is_numeric($value)) {
54-
return array("O campo deve ser um valor numérico ou string.");
55-
}
56-
5753
if ($this->format) {
5854
return $this->validateWithFormat($value);
5955
}

src/ValidationRules/RequiredValidation.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
namespace ArrayUtils\ValidationRules;
1010

11+
use ArrayUtils\AttributeAccessors\AttributeNotExists;
1112
use ArrayUtils\ValidationRule;
1213

1314
class RequiredValidation implements ValidationRule {
@@ -25,7 +26,7 @@ public function getIdentifier() {
2526
* @return array
2627
*/
2728
public function validate($value) {
28-
if (!isset($value)) {
29+
if (!isset($value) || $value instanceof AttributeNotExists) {
2930
return array("Campo obrigatório.");
3031
}
3132

src/ValidationRules/StringValidation.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public function getIdentifier() {
1818
* @return array
1919
*/
2020
public function validate($value) {
21-
return is_string($value) || $value === null ? array() : array("O campo deve ser uma string.");
21+
return is_string($value) ? array() : array("O campo deve ser uma string.");
2222
}
2323

2424
/**
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
namespace ArrayUtils\ValidationRules;
4+
5+
use ArrayUtils\AttributeAccessors\AttributeNotExists;
6+
use ArrayUtils\ValidationRule;
7+
8+
class BooleanValidationTest extends \PHPUnit_Framework_TestCase {
9+
10+
public function testInstance() {
11+
$boolValidation = new BooleanValidation();
12+
13+
$this->assertInstanceOf(ValidationRule::class, $boolValidation);
14+
}
15+
16+
public function testValidValues() {
17+
$boolValidation = new BooleanValidation();
18+
19+
$this->assertEmpty($boolValidation->validate(true));
20+
$this->assertEmpty($boolValidation->validate(false));
21+
}
22+
23+
public function testInvalidValues() {
24+
$boolValidation = new BooleanValidation();
25+
26+
$this->assertNotEmpty($boolValidation->validate(1));
27+
$this->assertNotEmpty($boolValidation->validate(0));
28+
$this->assertNotEmpty($boolValidation->validate("1"));
29+
$this->assertNotEmpty($boolValidation->validate("0"));
30+
$this->assertNotEmpty($boolValidation->validate("teste"));
31+
$this->assertNotEmpty($boolValidation->validate("false"));
32+
$this->assertNotEmpty($boolValidation->validate("true"));
33+
$this->assertNotEmpty($boolValidation->validate(null));
34+
$this->assertNotEmpty($boolValidation->validate(AttributeNotExists::instance()));
35+
}
36+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
3+
namespace ArrayUtils\ValidationRules;
4+
5+
use ArrayUtils\AttributeAccessors\AttributeNotExists;
6+
use ArrayUtils\ValidationRule;
7+
8+
class DateValidationTest extends \PHPUnit_Framework_TestCase {
9+
10+
public function testInstance() {
11+
$validation = new DateValidation();
12+
13+
$this->assertInstanceOf(ValidationRule::class, $validation);
14+
}
15+
16+
public function testValidValues() {
17+
$validation = new DateValidation();
18+
19+
$this->assertEmpty($validation->validate("2017-01-01"));
20+
$this->assertEmpty($validation->validate("now"));
21+
$this->assertEmpty($validation->validate("today"));
22+
23+
$validation->setParams(["d-m-Y"]);
24+
25+
$this->assertEmpty($validation->validate("31-01-2017"));
26+
}
27+
28+
public function testInvalidValues() {
29+
$validation = new DateValidation();
30+
31+
32+
$this->assertNotEmpty($validation->validate("ABC"));
33+
$this->assertNotEmpty($validation->validate("hoje"));
34+
$this->assertNotEmpty($validation->validate(null));
35+
$this->assertNotEmpty($validation->validate(array()));
36+
$this->assertNotEmpty($validation->validate(AttributeNotExists::instance()));
37+
38+
$validation->setParams(["d-m-Y"]);
39+
40+
$this->assertEmpty($validation->validate("01-31-2017"));
41+
}
42+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
3+
namespace ArrayUtils\ValidationRules;
4+
5+
use ArrayUtils\AttributeAccessors\AttributeNotExists;
6+
use ArrayUtils\ValidationRule;
7+
8+
class InValidationTest extends \PHPUnit_Framework_TestCase {
9+
10+
public function testInstance() {
11+
$validation = new InValidation();
12+
13+
$this->assertInstanceOf(ValidationRule::class, $validation);
14+
}
15+
16+
public function testValidValues() {
17+
$validation = new InValidation();
18+
$validation->setParams([1,"2", "tres"]);
19+
20+
$this->assertEmpty($validation->validate("1"));
21+
$this->assertEmpty($validation->validate(2));
22+
$this->assertEmpty($validation->validate("tres"));
23+
}
24+
25+
public function testInvalidValues() {
26+
$validation = new InValidation();
27+
28+
29+
$this->assertNotEmpty($validation->validate("um"));
30+
$this->assertNotEmpty($validation->validate("dois"));
31+
$this->assertNotEmpty($validation->validate("3"));
32+
$this->assertNotEmpty($validation->validate(array()));
33+
$this->assertNotEmpty($validation->validate(AttributeNotExists::instance()));
34+
}
35+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
namespace ArrayUtils\ValidationRules;
4+
5+
use ArrayUtils\AttributeAccessors\AttributeNotExists;
6+
use ArrayUtils\ValidationRule;
7+
8+
class IsPresentValidationTest extends \PHPUnit_Framework_TestCase {
9+
10+
public function testInstance() {
11+
$validation = new IsPresentValidation();
12+
13+
$this->assertInstanceOf(ValidationRule::class, $validation);
14+
}
15+
16+
public function testValidValues() {
17+
$validation = new IsPresentValidation();
18+
19+
$this->assertEmpty($validation->validate("1"));
20+
$this->assertEmpty($validation->validate(""));
21+
$this->assertEmpty($validation->validate(2));
22+
$this->assertEmpty($validation->validate(10));
23+
$this->assertEmpty($validation->validate(-10));
24+
$this->assertEmpty($validation->validate(0));
25+
$this->assertEmpty($validation->validate(null));
26+
$this->assertEmpty($validation->validate(array()));
27+
}
28+
29+
public function testInvalidValues() {
30+
$validation = new IsPresentValidation();
31+
32+
$this->assertNotEmpty($validation->validate(AttributeNotExists::instance()));
33+
}
34+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?php
2+
3+
namespace ArrayUtils\ValidationRules;
4+
5+
use ArrayUtils\AttributeAccessors\AttributeNotExists;
6+
use ArrayUtils\ValidationRule;
7+
8+
class MaxValueValidationTest extends \PHPUnit_Framework_TestCase {
9+
10+
public function testInstance() {
11+
$validation = new MaxValueValidation();
12+
13+
$this->assertInstanceOf(ValidationRule::class, $validation);
14+
}
15+
16+
public function testValidValues() {
17+
$validation = new MaxValueValidation();
18+
$validation->setParams([10]);
19+
20+
$this->assertEmpty($validation->validate("1"));
21+
$this->assertEmpty($validation->validate(2));
22+
$this->assertEmpty($validation->validate("4"));
23+
$this->assertEmpty($validation->validate("10"));
24+
$this->assertEmpty($validation->validate(10));
25+
$this->assertEmpty($validation->validate(-10));
26+
$this->assertEmpty($validation->validate(0));
27+
}
28+
29+
public function testInvalidValues() {
30+
$validation = new MaxValueValidation();
31+
$validation->setParams([10]);
32+
33+
$this->assertNotEmpty($validation->validate("um"));
34+
$this->assertNotEmpty($validation->validate("dois"));
35+
$this->assertNotEmpty($validation->validate("30"));
36+
$this->assertNotEmpty($validation->validate(11));
37+
$this->assertNotEmpty($validation->validate("11"));
38+
$this->assertNotEmpty($validation->validate("10.1"));
39+
$this->assertNotEmpty($validation->validate(array()));
40+
$this->assertNotEmpty($validation->validate(null));
41+
$this->assertNotEmpty($validation->validate(AttributeNotExists::instance()));
42+
}
43+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
3+
namespace ArrayUtils\ValidationRules;
4+
5+
use ArrayUtils\AttributeAccessors\AttributeNotExists;
6+
use ArrayUtils\ValidationRule;
7+
8+
class NotInValidationTest extends \PHPUnit_Framework_TestCase {
9+
10+
public function testInstance() {
11+
$validation = new NotInValidation();
12+
13+
$this->assertInstanceOf(ValidationRule::class, $validation);
14+
}
15+
16+
public function testValidValues() {
17+
$validation = new NotInValidation();
18+
$validation->setParams([1,"2", "tres"]);
19+
20+
$this->assertEmpty($validation->validate("um"));
21+
$this->assertEmpty($validation->validate("dois"));
22+
$this->assertEmpty($validation->validate("3"));
23+
}
24+
25+
public function testInvalidValues() {
26+
$validation = new NotInValidation();
27+
28+
$this->assertNotEmpty($validation->validate("1"));
29+
$this->assertNotEmpty($validation->validate("2"));
30+
$this->assertNotEmpty($validation->validate("tres"));
31+
$this->assertNotEmpty($validation->validate(array()));
32+
$this->assertNotEmpty($validation->validate(AttributeNotExists::instance()));
33+
}
34+
}

0 commit comments

Comments
 (0)