@@ -49,66 +49,63 @@ public static function requiredType()
49
49
yield [Types::DATETIMETZ_MUTABLE , new TypeGuess ('Symfony\Component\Form\Extension\Core\Type\DateTimeType ' , [], Guess::HIGH_CONFIDENCE )];
50
50
}
51
51
52
- /**
53
- * @dataProvider requiredProvider
54
- */
55
- public function testRequiredGuesser ($ classMetadata , $ expected )
56
- {
57
- $ this ->assertEquals ($ expected , $ this ->getGuesser ($ classMetadata )->guessRequired ('TestEntity ' , 'field ' ));
58
- }
59
-
60
- public function requiredProvider ()
52
+ public function testRequiredGuesserSimpleFieldNotNullable ()
61
53
{
62
- $ return = [];
63
-
64
- // Simple field, not nullable
65
54
$ classMetadata = $ this ->createMock (ClassMetadata::class);
66
55
$ classMetadata ->fieldMappings ['field ' ] = true ;
67
56
$ classMetadata ->expects ($ this ->once ())->method ('isNullable ' )->with ('field ' )->willReturn (false );
68
57
69
- $ return [] = [$ classMetadata , new ValueGuess (true , Guess::HIGH_CONFIDENCE )];
58
+ $ this ->assertEquals (new ValueGuess (true , Guess::HIGH_CONFIDENCE ), $ this ->getGuesser ($ classMetadata )->guessRequired ('TestEntity ' , 'field ' ));
59
+ }
70
60
71
- // Simple field, nullable
61
+ public function testRequiredGuesserSimpleFieldNullable ()
62
+ {
72
63
$ classMetadata = $ this ->createMock (ClassMetadata::class);
73
64
$ classMetadata ->fieldMappings ['field ' ] = true ;
74
65
$ classMetadata ->expects ($ this ->once ())->method ('isNullable ' )->with ('field ' )->willReturn (true );
75
66
76
- $ return [] = [$ classMetadata , new ValueGuess (false , Guess::MEDIUM_CONFIDENCE )];
67
+ $ this ->assertEquals (new ValueGuess (false , Guess::MEDIUM_CONFIDENCE ), $ this ->getGuesser ($ classMetadata )->guessRequired ('TestEntity ' , 'field ' ));
68
+ }
77
69
78
- // One-to-one, nullable (by default)
70
+ public function testRequiredGuesserOneToOneNullable ()
71
+ {
79
72
$ classMetadata = $ this ->createMock (ClassMetadata::class);
80
73
$ classMetadata ->expects ($ this ->once ())->method ('isAssociationWithSingleJoinColumn ' )->with ('field ' )->willReturn (true );
81
74
82
75
$ mapping = ['joinColumns ' => [[]]];
83
76
$ classMetadata ->expects ($ this ->once ())->method ('getAssociationMapping ' )->with ('field ' )->willReturn ($ mapping );
84
77
85
- $ return [] = [$ classMetadata , new ValueGuess (false , Guess::HIGH_CONFIDENCE )];
78
+ $ this ->assertEquals (new ValueGuess (false , Guess::HIGH_CONFIDENCE ), $ this ->getGuesser ($ classMetadata )->guessRequired ('TestEntity ' , 'field ' ));
79
+ }
86
80
87
- // One-to-one, nullable (explicit)
81
+ public function testRequiredGuesserOneToOneExplicitNullable ()
82
+ {
88
83
$ classMetadata = $ this ->createMock (ClassMetadata::class);
89
84
$ classMetadata ->expects ($ this ->once ())->method ('isAssociationWithSingleJoinColumn ' )->with ('field ' )->willReturn (true );
90
85
91
86
$ mapping = ['joinColumns ' => [['nullable ' => true ]]];
92
87
$ classMetadata ->expects ($ this ->once ())->method ('getAssociationMapping ' )->with ('field ' )->willReturn ($ mapping );
93
88
94
- $ return [] = [$ classMetadata , new ValueGuess (false , Guess::HIGH_CONFIDENCE )];
89
+ $ this ->assertEquals (new ValueGuess (false , Guess::HIGH_CONFIDENCE ), $ this ->getGuesser ($ classMetadata )->guessRequired ('TestEntity ' , 'field ' ));
90
+ }
95
91
96
- // One-to-one, not nullable
92
+ public function testRequiredGuesserOneToOneNotNullable ()
93
+ {
97
94
$ classMetadata = $ this ->createMock (ClassMetadata::class);
98
95
$ classMetadata ->expects ($ this ->once ())->method ('isAssociationWithSingleJoinColumn ' )->with ('field ' )->willReturn (true );
99
96
100
97
$ mapping = ['joinColumns ' => [['nullable ' => false ]]];
101
98
$ classMetadata ->expects ($ this ->once ())->method ('getAssociationMapping ' )->with ('field ' )->willReturn ($ mapping );
102
99
103
- $ return [] = [$ classMetadata , new ValueGuess (true , Guess::HIGH_CONFIDENCE )];
100
+ $ this ->assertEquals (new ValueGuess (true , Guess::HIGH_CONFIDENCE ), $ this ->getGuesser ($ classMetadata )->guessRequired ('TestEntity ' , 'field ' ));
101
+ }
104
102
105
- // One-to-many, no clue
103
+ public function testRequiredGuesserOneToMany ()
104
+ {
106
105
$ classMetadata = $ this ->createMock (ClassMetadata::class);
107
106
$ classMetadata ->expects ($ this ->once ())->method ('isAssociationWithSingleJoinColumn ' )->with ('field ' )->willReturn (false );
108
107
109
- $ return [] = [$ classMetadata , null ];
110
-
111
- return $ return ;
108
+ $ this ->assertNull ($ this ->getGuesser ($ classMetadata )->guessRequired ('TestEntity ' , 'field ' ));
112
109
}
113
110
114
111
private function getGuesser (ClassMetadata $ classMetadata )
0 commit comments