Skip to content

Commit 96fdc98

Browse files
author
Kirill Nesmeyanov
committed
Add more tests
1 parent b4cbb52 commit 96fdc98

File tree

4 files changed

+78
-38
lines changed

4 files changed

+78
-38
lines changed

tests/Feature/Type/string.feature

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -9,51 +9,61 @@ Feature: Checking the "StringType" type behavior
99
When denormalize
1010
Then match of "<value>" must return <is_matched>
1111
Examples:
12-
| value | is_matched |
13-
| 42 | false |
14-
| 42.1 | false |
15-
| INF | false |
16-
| -INF | false |
17-
| NAN | false |
18-
| "string" | true |
19-
| null | false |
20-
| (object)[] | false |
21-
| [] | false |
22-
| true | false |
23-
| false | false |
12+
| value | is_matched |
13+
| 42 | false |
14+
| 42.1 | false |
15+
| INF | false |
16+
| -INF | false |
17+
| NAN | false |
18+
| "string" | true |
19+
| null | false |
20+
| true | false |
21+
| false | false |
22+
| [] | false |
23+
| (object)[] | false |
24+
| TypeLang\Mapper\Tests\Stub\IntBackedEnumStub::CASE | false |
25+
| TypeLang\Mapper\Tests\Stub\StringBackedEnumStub::CASE | false |
26+
| TypeLang\Mapper\Tests\Stub\UnitEnumStub::CASE | false |
27+
2428

2529
Scenario Outline: Normalize "<value>" by the StringType
2630
When normalize
2731
Then cast of "<value>" must return <result>
2832
Examples:
29-
| value | result |
30-
| 42 | "42" |
31-
| -9223372036854775808 | "-9.2233720368548E+18" |
32-
| 42.1 | "42.1" |
33-
| INF | "inf" |
34-
| -INF | "-inf" |
35-
| NAN | "nan" |
36-
| "string" | "string" |
37-
| null | "" |
38-
| (object)[] | <error: Passed value {} is invalid> |
39-
| [] | <error: Passed value [] is invalid> |
40-
| true | "true" |
41-
| false | "false" |
33+
| value | result |
34+
| 42 | "42" |
35+
| -9223372036854775808 | "-9.2233720368548E+18" |
36+
| 42.1 | "42.1" |
37+
| INF | "inf" |
38+
| -INF | "-inf" |
39+
| NAN | "nan" |
40+
| "string" | "string" |
41+
| null | "" |
42+
| true | "true" |
43+
| false | "false" |
44+
| [] | <error: Passed value [] is invalid> |
45+
| (object)[] | <error: Passed value {} is invalid> |
46+
| TypeLang\Mapper\Tests\Stub\IntBackedEnumStub::CASE | "3735928559" |
47+
| TypeLang\Mapper\Tests\Stub\StringBackedEnumStub::CASE | "case" |
48+
| TypeLang\Mapper\Tests\Stub\UnitEnumStub::CASE | <error: Passed value {"name": "CASE"} is invalid> |
4249

4350
Scenario Outline: Denormalize "<value>" by the StringType
4451
When denormalize
4552
Then cast of "<value>" must return <result>
4653
Examples:
47-
| value | result |
48-
| 42 | <error: Passed value 42 is invalid> |
49-
| -9223372036854775808 | <error: Passed value -9.2233720368548E+18 is invalid> |
50-
| 42.1 | <error: Passed value 42.1 is invalid> |
51-
| INF | <error: Passed value INF is invalid> |
52-
| -INF | <error: Passed value -INF is invalid> |
53-
| NAN | <error: Passed value NAN is invalid> |
54-
| "string" | "string" |
55-
| null | <error: Passed value null is invalid> |
56-
| (object)[] | <error: Passed value {} is invalid> |
57-
| [] | <error: Passed value [] is invalid> |
58-
| true | <error: Passed value true is invalid> |
59-
| false | <error: Passed value false is invalid> |
54+
| value | result |
55+
| 42 | <error: Passed value 42 is invalid> |
56+
| -9223372036854775808 | <error: Passed value -9.2233720368548E+18 is invalid> |
57+
| 42.1 | <error: Passed value 42.1 is invalid> |
58+
| INF | <error: Passed value INF is invalid> |
59+
| -INF | <error: Passed value -INF is invalid> |
60+
| NAN | <error: Passed value NAN is invalid> |
61+
| "string" | "string" |
62+
| null | <error: Passed value null is invalid> |
63+
| true | <error: Passed value true is invalid> |
64+
| false | <error: Passed value false is invalid> |
65+
| [] | <error: Passed value [] is invalid> |
66+
| (object)[] | <error: Passed value {} is invalid> |
67+
| TypeLang\Mapper\Tests\Stub\IntBackedEnumStub::CASE | <error: Passed value {"name": "CASE", "value": 3735928559} is invalid> |
68+
| TypeLang\Mapper\Tests\Stub\StringBackedEnumStub::CASE | <error: Passed value {"name": "CASE", "value": "case"} is invalid> |
69+
| TypeLang\Mapper\Tests\Stub\UnitEnumStub::CASE | <error: Passed value {"name": "CASE"} is invalid> |

tests/Stub/IntBackedEnumStub.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace TypeLang\Mapper\Tests\Stub;
6+
7+
enum IntBackedEnumStub: int
8+
{
9+
case CASE = 0xDEAD_BEEF;
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace TypeLang\Mapper\Tests\Stub;
6+
7+
enum StringBackedEnumStub: string
8+
{
9+
case CASE = 'case';
10+
}

tests/Stub/UnitEnumStub.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace TypeLang\Mapper\Tests\Stub;
6+
7+
enum UnitEnumStub
8+
{
9+
case CASE;
10+
}

0 commit comments

Comments
 (0)