public function testSimpleSortingGroups()
{
$suite = new TestSuite('suite1', 'suite1');
$suite->addTest(new Test('test1'), array('g1'));
$suite->addTest(new Test('test2'), array('g1'));
$suite->addTest(new Test('test3'), array('g1'));
$suite->addTest(new Test('test4'), array('g1'));
$tests = $suite->tests();
$this->assertSame('test1', $tests[0]->getName());
$this->assertSame('test2', $tests[1]->getName());
$this->assertSame('test3', $tests[2]->getName());
$this->assertSame('test4', $tests[3]->getName());
$groupDetails = Util::getInvisibleProperty($suite, 'groups', 'getGroupDetails');
$tests = $groupDetails['g1'];
$this->assertSame('test1', $tests[0]->getName());
$this->assertSame('test2', $tests[1]->getName());
$this->assertSame('test3', $tests[2]->getName());
$this->assertSame('test4', $tests[3]->getName());
$sorter = new PrioritySorter(array(array('class' => 'PHPUnit\\Runner\\CleverAndSmart\\Unit\\Test', 'test' => 'test2')));
$sorter->sort($suite);
$tests = $suite->tests();
$this->assertSame('test2', $tests[0]->getName());
$this->assertSame('test1', $tests[1]->getName());
$this->assertSame('test3', $tests[2]->getName());
$this->assertSame('test4', $tests[3]->getName());
$groupDetails = Util::getInvisibleProperty($suite, 'groups', 'getGroupDetails');
$tests = $groupDetails['g1'];
$this->assertSame('test2', $tests[0]->getName());
$this->assertSame('test1', $tests[1]->getName());
$this->assertSame('test3', $tests[2]->getName());
$this->assertSame('test4', $tests[3]->getName());
}