@@ -866,6 +866,53 @@ public function setRulesWithRuleWithCompletePositionPreservesPosition(): void
866866 self ::assertSame (64 , $ ruleToSet ->getColumnNumber (), 'column number not preserved ' );
867867 }
868868
869+ /**
870+ * @test
871+ *
872+ * @param list<string> $propertyNamesToSet
873+ *
874+ * @dataProvider providePropertyNames
875+ */
876+ public function getRulesReturnsRulesSet (array $ propertyNamesToSet ): void
877+ {
878+ $ rulesToSet = self ::createRulesFromPropertyNames ($ propertyNamesToSet );
879+ $ this ->subject ->setRules ($ rulesToSet );
880+
881+ $ result = $ this ->subject ->getRules ();
882+
883+ self ::assertSame ($ rulesToSet , $ result );
884+ }
885+
886+ /**
887+ * @test
888+ */
889+ public function getRulesOrdersByLineNumber (): void
890+ {
891+ $ first = (new Rule ('color ' ))->setPosition (1 , 64 );
892+ $ second = (new Rule ('display ' ))->setPosition (19 , 42 );
893+ $ third = (new Rule ('color ' ))->setPosition (55 , 11 );
894+ $ this ->subject ->setRules ([$ third , $ second , $ first ]);
895+
896+ $ result = $ this ->subject ->getRules ();
897+
898+ self ::assertSame ([$ first , $ second , $ third ], $ result );
899+ }
900+
901+ /**
902+ * @test
903+ */
904+ public function getRulesOrdersRulesWithSameLineNumberByColumnNumber (): void
905+ {
906+ $ first = (new Rule ('color ' ))->setPosition (1 , 11 );
907+ $ second = (new Rule ('display ' ))->setPosition (1 , 42 );
908+ $ third = (new Rule ('color ' ))->setPosition (1 , 64 );
909+ $ this ->subject ->setRules ([$ third , $ second , $ first ]);
910+
911+ $ result = $ this ->subject ->getRules ();
912+
913+ self ::assertSame ([$ first , $ second , $ third ], $ result );
914+ }
915+
869916 /**
870917 * @param list<string> $propertyNames
871918 */
0 commit comments