@@ -57,6 +57,43 @@ public function implementsPositionable(): void
5757 self ::assertInstanceOf (Positionable::class, $ this ->subject );
5858 }
5959
60+ /**
61+ * @test
62+ */
63+ public function getLineNumberByDefaultReturnsNull (): void
64+ {
65+ $ result = $ this ->subject ->getLineNumber ();
66+
67+ self ::assertNull ($ result );
68+ }
69+
70+ /**
71+ * @return array<non-empty-string, array{0: int<1, max>}>
72+ */
73+ public function provideLineNumber (): array
74+ {
75+ return [
76+ 'line 1 ' => [1 ],
77+ 'line 42 ' => [42 ],
78+ ];
79+ }
80+
81+ /**
82+ * @test
83+ *
84+ * @param int<1, max> $lineNumber
85+ *
86+ * @dataProvider provideLineNumber
87+ */
88+ public function getLineNumberReturnsLineNumberPassedToConstructor (int $ lineNumber ): void
89+ {
90+ $ subject = new DeclarationBlock ($ lineNumber );
91+
92+ $ result = $ subject ->getLineNumber ();
93+
94+ self ::assertSame ($ lineNumber , $ result );
95+ }
96+
6097 /**
6198 * @return array<non-empty-string, array{0: non-empty-string}>
6299 */
@@ -214,4 +251,30 @@ public function getRuleSetReturnsObjectWithRulesSet(array $propertyNamesToSet):
214251
215252 self ::assertSame ($ rules , $ result ->getRules ());
216253 }
254+
255+ /**
256+ * @test
257+ */
258+ public function getRuleSetByDefaultReturnsObjectWithNullLineNumber (): void
259+ {
260+ $ result = $ this ->subject ->getRuleSet ();
261+
262+ self ::assertNull ($ result ->getLineNumber ());
263+ }
264+
265+ /**
266+ * @test
267+ *
268+ * @param int<1, max> $lineNumber
269+ *
270+ * @dataProvider provideLineNumber
271+ */
272+ public function getRuleSetReturnsObjectWithLineNumberPassedToConstructor (int $ lineNumber ): void
273+ {
274+ $ subject = new DeclarationBlock ($ lineNumber );
275+
276+ $ result = $ subject ->getRuleSet ();
277+
278+ self ::assertSame ($ lineNumber , $ subject ->getLineNumber ());
279+ }
217280}
0 commit comments