Skip to content

Commit 07c28cd

Browse files
committed
Creating ArraySchemaTest
1 parent de1b258 commit 07c28cd

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

tests/Schemas/ArraySchemaTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace Webdevcave\SchemaValidator\Tests\Schemas;
4+
5+
use PHPUnit\Framework\Attributes\CoversClass;
6+
use stdClass;
7+
use Webdevcave\SchemaValidator\Schemas\ArraySchema;
8+
use PHPUnit\Framework\TestCase;
9+
use Webdevcave\SchemaValidator\Schemas\BaseSchema;
10+
use Webdevcave\SchemaValidator\Validator;
11+
12+
#[CoversClass(Validator::class)]
13+
#[CoversClass(BaseSchema::class)]
14+
#[CoversClass(ArraySchema::class)]
15+
class ArraySchemaTest extends TestCase
16+
{
17+
public function testTypeCheck(): void
18+
{
19+
$schema = new ArraySchema();
20+
21+
$this->assertFalse($schema->validate(1), "Array schema should not validate integers");
22+
$this->assertFalse($schema->validate(1.1), "Array schema should not validate floats");
23+
$this->assertFalse($schema->validate('str'), "Array schema should not validate strings");
24+
$this->assertFalse($schema->validate(new stdClass()), "Array schema should not validate objects");
25+
26+
$this->assertTrue($schema->validate([1,2,3]), "Array schema should validate arrays");
27+
}
28+
}

0 commit comments

Comments
 (0)