88use MariaStan \Analyser \ReferencedSymbol \Table ;
99use MariaStan \Analyser \ReferencedSymbol \TableColumn ;
1010use MariaStan \TestCaseHelper ;
11+ use PHPUnit \Framework \Attributes \DataProvider ;
1112use PHPUnit \Framework \TestCase ;
1213
1314class AnalyserReferencedSymbolTest extends TestCase
@@ -26,32 +27,32 @@ public static function provideTestData(): iterable
2627
2728 yield 'invalid query ' => [
2829 'query ' => 'asdasasd ' ,
29- 'expected symbols ' => null ,
30+ 'expectedReferencedSymbols ' => null ,
3031 ];
3132
3233 yield 'SELECT 1 ' => [
3334 'query ' => 'SELECT 1 ' ,
34- 'expected symbols ' => [],
35+ 'expectedReferencedSymbols ' => [],
3536 ];
3637
3738 $ table = new Table ('analyser_referenced_symbol_test ' , TestCaseHelper::getDefaultDbName ());
3839
3940 yield 'SELECT 1 FROM analyser_referenced_symbol_test ' => [
4041 'query ' => 'SELECT 1 FROM analyser_referenced_symbol_test ' ,
41- 'expected symbols ' => [$ table ],
42+ 'expectedReferencedSymbols ' => [$ table ],
4243 ];
4344
4445 yield 'SELECT id FROM analyser_referenced_symbol_test ' => [
4546 'query ' => 'SELECT id FROM analyser_referenced_symbol_test ' ,
46- 'expected symbols ' => [
47+ 'expectedReferencedSymbols ' => [
4748 $ table ,
4849 new TableColumn ($ table , 'id ' ),
4950 ],
5051 ];
5152
5253 yield 'SELECT * FROM analyser_referenced_symbol_test ' => [
5354 'query ' => 'SELECT * FROM analyser_referenced_symbol_test ' ,
54- 'expected symbols ' => [
55+ 'expectedReferencedSymbols ' => [
5556 $ table ,
5657 new TableColumn ($ table , 'id ' ),
5758 new TableColumn ($ table , 'name ' ),
@@ -60,78 +61,78 @@ public static function provideTestData(): iterable
6061
6162 yield 'SELECT * FROM CTE ' => [
6263 'query ' => 'WITH t AS (SELECT 1) SELECT * FROM t ' ,
63- 'expected symbols ' => [],
64+ 'expectedReferencedSymbols ' => [],
6465 ];
6566
6667 yield 'reference table twice ' => [
6768 'query ' => 'SELECT 1 FROM analyser_referenced_symbol_test, analyser_referenced_symbol_test ' ,
68- 'expected symbols ' => [$ table ],
69+ 'expectedReferencedSymbols ' => [$ table ],
6970 ];
7071
7172 yield 'reference column twice ' => [
7273 'query ' => 'SELECT id, id FROM analyser_referenced_symbol_test ' ,
73- 'expected symbols ' => [
74+ 'expectedReferencedSymbols ' => [
7475 $ table ,
7576 new TableColumn ($ table , 'id ' ),
7677 ],
7778 ];
7879
7980 yield 'reference column from parent query - field list ' => [
8081 'query ' => 'SELECT (SELECT id) FROM analyser_referenced_symbol_test ' ,
81- 'expected symbols ' => [
82+ 'expectedReferencedSymbols ' => [
8283 $ table ,
8384 new TableColumn ($ table , 'id ' ),
8485 ],
8586 ];
8687
8788 yield 'reference column from parent query - field list, semi-ambiguous ' => [
8889 'query ' => 'SELECT 1 id, (SELECT id) FROM analyser_referenced_symbol_test ' ,
89- 'expected symbols ' => [
90+ 'expectedReferencedSymbols ' => [
9091 $ table ,
9192 new TableColumn ($ table , 'id ' ),
9293 ],
9394 ];
9495
9596 yield 'reference column from parent query - WHERE ' => [
9697 'query ' => 'SELECT 1 id FROM analyser_referenced_symbol_test WHERE (SELECT id) = 1 ' ,
97- 'expected symbols ' => [
98+ 'expectedReferencedSymbols ' => [
9899 $ table ,
99100 new TableColumn ($ table , 'id ' ),
100101 ],
101102 ];
102103
103104 yield 'reference column from table - GROUP BY - ambiguous ' => [
104105 'query ' => 'SELECT 1 id FROM analyser_referenced_symbol_test GROUP BY id = 1 ' ,
105- 'expected symbols ' => [
106+ 'expectedReferencedSymbols ' => [
106107 $ table ,
107108 new TableColumn ($ table , 'id ' ),
108109 ],
109110 ];
110111
111112 yield 'reference column from parent query - GROUP BY ' => [
112113 'query ' => 'SELECT 1 id FROM analyser_referenced_symbol_test GROUP BY (SELECT id) = 1 ' ,
113- 'expected symbols ' => [
114+ 'expectedReferencedSymbols ' => [
114115 $ table ,
115116 new TableColumn ($ table , 'id ' ),
116117 ],
117118 ];
118119
119120 yield 'reference column from field list - HAVING ' => [
120121 'query ' => 'SELECT 1 id FROM analyser_referenced_symbol_test HAVING id = 1 ' ,
121- 'expected symbols ' => [$ table ],
122+ 'expectedReferencedSymbols ' => [$ table ],
122123 ];
123124
124125 yield 'reference column from parent query - HAVING ' => [
125126 'query ' => 'SELECT 1 id FROM analyser_referenced_symbol_test HAVING (SELECT id) = 1 ' ,
126- 'expected symbols ' => [
127+ 'expectedReferencedSymbols ' => [
127128 $ table ,
128129 new TableColumn ($ table , 'id ' ),
129130 ],
130131 ];
131132
132133 yield 'reference field from parent query - HAVING (SELECT WHERE) ' => [
133134 'query ' => 'SELECT "aa" id FROM analyser_referenced_symbol_test HAVING (SELECT 1 WHERE id = "aa") = 1 ' ,
134- 'expected symbols ' => [
135+ 'expectedReferencedSymbols ' => [
135136 $ table ,
136137 new TableColumn ($ table , 'id ' ),
137138 ],
@@ -143,20 +144,20 @@ public static function provideTestData(): iterable
143144 FROM analyser_referenced_symbol_test
144145 HAVING (SELECT 1 FROM (SELECT 1 x UNION SELECT 2) t GROUP BY x = id) = 1
145146 ' ,
146- 'expected symbols ' => [
147+ 'expectedReferencedSymbols ' => [
147148 $ table ,
148149 new TableColumn ($ table , 'id ' ),
149150 ],
150151 ];
151152
152153 yield 'reference field from parent query - HAVING (SELECT HAVING) ' => [
153154 'query ' => 'SELECT "aa" id FROM analyser_referenced_symbol_test HAVING (SELECT 1 HAVING id = "aa") = 1 ' ,
154- 'expected symbols ' => [$ table ],
155+ 'expectedReferencedSymbols ' => [$ table ],
155156 ];
156157
157158 yield 'SELECT * FROM (SELECT * FROM analyser_referenced_symbol_test) t ' => [
158159 'query ' => 'SELECT * FROM (SELECT * FROM analyser_referenced_symbol_test) t ' ,
159- 'expected symbols ' => [
160+ 'expectedReferencedSymbols ' => [
160161 $ table ,
161162 new TableColumn ($ table , 'id ' ),
162163 new TableColumn ($ table , 'name ' ),
@@ -165,7 +166,7 @@ public static function provideTestData(): iterable
165166
166167 yield 'detect valid table references even if invalid tables are referenced ' => [
167168 'query ' => 'SELECT * FROM analyser_referenced_symbol_test, missing_table ' ,
168- 'expected symbols ' => [
169+ 'expectedReferencedSymbols ' => [
169170 $ table ,
170171 new TableColumn ($ table , 'id ' ),
171172 new TableColumn ($ table , 'name ' ),
@@ -174,7 +175,7 @@ public static function provideTestData(): iterable
174175
175176 yield 'detect valid table references even if invalid tables are referenced - flipped ' => [
176177 'query ' => 'SELECT * FROM missing_table, analyser_referenced_symbol_test ' ,
177- 'expected symbols ' => [
178+ 'expectedReferencedSymbols ' => [
178179 $ table ,
179180 new TableColumn ($ table , 'id ' ),
180181 new TableColumn ($ table , 'name ' ),
@@ -183,17 +184,15 @@ public static function provideTestData(): iterable
183184
184185 yield 'detect valid column references even if invalid columns are referenced ' => [
185186 'query ' => 'SELECT aaa, name FROM analyser_referenced_symbol_test ' ,
186- 'expected symbols ' => [
187+ 'expectedReferencedSymbols ' => [
187188 $ table ,
188189 new TableColumn ($ table , 'name ' ),
189190 ],
190191 ];
191192 }
192193
193- /**
194- * @dataProvider provideTestData
195- * @param ?array<ReferencedSymbol> $expectedReferencedSymbols
196- */
194+ /** @param ?array<ReferencedSymbol> $expectedReferencedSymbols */
195+ #[DataProvider('provideTestData ' )]
197196 public function testValid (string $ query , ?array $ expectedReferencedSymbols ): void
198197 {
199198 $ analyser = TestCaseHelper::createAnalyser ();
0 commit comments