<?php namespace Todaymade\Daux\Tree; use Todaymade\Daux\Config; class DirectoryTest extends \PHPUnit_Framework_TestCase { public function providerSort() { return array( array(["005_Fifth", "01_First"], ["01_First", "005_Fifth"]), array(["005_Fifth", "Another", "01_First"], ["01_First", "005_Fifth", "Another"]), array(["005_Fifth", "Another", "-Sticky", "01_First"], ["01_First", "005_Fifth", "Another", "-Sticky"]), array(['01_before', '-Down'], ['01_before', '-Down']), array(['01_before', '-Down-after', '-Down'], ['01_before', '-Down', '-Down-after']), array(["01_numeric", "01_before"], ["01_before", "01_numeric"]), array(["A_File", "01_A_File"], ["01_A_File", "A_File"]), array(["A_File", "01_Continuing", "-01_Coming", "-02_Soon"], ["01_Continuing", "A_File", "-01_Coming", "-02_Soon"]), array(["01_Getting_Started", "API_Calls", "200_Something_Else-Cool", "_5_Ways_to_Be_Happy"], ["01_Getting_Started", "200_Something_Else-Cool", "_5_Ways_to_Be_Happy", "API_Calls"]), array(["01_Getting_Started", "API_Calls", "index", "200_Something_Else-Cool", "_5_Ways_to_Be_Happy"], ["index", "01_Getting_Started", "200_Something_Else-Cool", "_5_Ways_to_Be_Happy", "API_Calls"]), array(["Before_but_after", "A_File", "Continuing"], ["A_File", "Before_but_after", "Continuing"]), array(["01_GitHub_Flavored_Markdown", "Code_Test", "05_Code_Highlighting"], ["01_GitHub_Flavored_Markdown", "05_Code_Highlighting", "Code_Test"]), ); } /** * @dataProvider providerSort */ public function testSort($list, $expected) { shuffle($list); $directory = new Directory(new Root(new Config(), ''), 'dir'); foreach ($list as $value) { $entry = new Content($directory, $value); $entry->setName($value); } $directory->sort(); $final = []; foreach ($directory->getEntries() as $obj) { $final[] = $obj->getName(); } $this->assertEquals($expected, $final); } }