Skip to content

Commit fa7882f

Browse files
committed
test the immutablity
1 parent 0d6c831 commit fa7882f

3 files changed

Lines changed: 26 additions & 1 deletion

File tree

tests/Unit/Schema/ArraySchemaTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ public function testImmutability(): void
3232
self::assertNotSame($schema, $schema->minItems(1));
3333
self::assertNotSame($schema, $schema->maxItems(1));
3434
self::assertNotSame($schema, $schema->contains('test'));
35+
self::assertNotSame($schema, $schema->filter(static fn (mixed $value) => true));
36+
self::assertNotSame($schema, $schema->map(static fn (mixed $value) => $value));
37+
self::assertNotSame($schema, $schema->sort());
38+
self::assertNotSame($schema, $schema->reduce(static fn (mixed $existing, mixed $current) => $existing, null));
3539
}
3640

3741
public function testParseSuccess(): void

tests/Unit/Schema/DateTimeSchemaTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public function testImmutability(): void
2525
self::assertNotSame($schema, $schema->preParse(static fn (mixed $input) => $input));
2626
self::assertNotSame($schema, $schema->postParse(static fn (\DateTimeInterface $output) => $output));
2727
self::assertNotSame($schema, $schema->catch(static fn (\DateTimeInterface $output, ErrorsException $e) => $output));
28+
self::assertNotSame($schema, $schema->from(new \DateTimeImmutable('2024-01-20T09:15:00+00:00')));
29+
self::assertNotSame($schema, $schema->to(new \DateTimeImmutable('2024-01-20T09:15:00+00:00')));
2830
}
2931

3032
public function testParseSuccess(): void

tests/Unit/Schema/StringSchemaTest.php

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,29 @@ public function testImmutability(): void
2323

2424
self::assertNotSame($schema, $schema->nullable());
2525
self::assertNotSame($schema, $schema->nullable(false));
26-
self::assertNotSame($schema, $schema->default(42));
26+
self::assertNotSame($schema, $schema->default('test'));
2727
self::assertNotSame($schema, $schema->preParse(static fn (mixed $input) => $input));
2828
self::assertNotSame($schema, $schema->postParse(static fn (string $output) => $output));
2929
self::assertNotSame($schema, $schema->catch(static fn (string $output, ErrorsException $e) => $output));
30+
self::assertNotSame($schema, $schema->length(1));
31+
self::assertNotSame($schema, $schema->minLength(1));
32+
self::assertNotSame($schema, $schema->maxLength(1));
33+
self::assertNotSame($schema, $schema->contains('test'));
34+
self::assertNotSame($schema, $schema->startsWith('test'));
35+
self::assertNotSame($schema, $schema->endsWith('test'));
36+
self::assertNotSame($schema, $schema->hostname());
37+
self::assertNotSame($schema, $schema->email());
38+
self::assertNotSame($schema, $schema->ipV4());
39+
self::assertNotSame($schema, $schema->ipV6());
40+
self::assertNotSame($schema, $schema->mac());
41+
self::assertNotSame($schema, $schema->pattern('/.*/'));
42+
self::assertNotSame($schema, $schema->uri());
43+
self::assertNotSame($schema, $schema->uuid());
44+
self::assertNotSame($schema, $schema->trim());
45+
self::assertNotSame($schema, $schema->trimStart());
46+
self::assertNotSame($schema, $schema->trimEnd());
47+
self::assertNotSame($schema, $schema->toLowerCase());
48+
self::assertNotSame($schema, $schema->toUpperCase());
3049
}
3150

3251
public function testParseSuccess(): void

0 commit comments

Comments
 (0)