function testUnshift() { $list = DataObjectTest_TeamComment::get(); $map = new SS_Map($list, 'Name', 'Comment'); $map->unshift(-1, '(All)'); $this->assertEquals(array(-1 => "(All)", "Joe" => "This is a team comment by Joe", "Bob" => "This is a team comment by Bob", "Phil" => "Phil is a unique guy, and comments on team2"), $map->toArray()); $map->unshift(0, '(Select)'); $this->assertEquals('(All)', $map[-1]); $this->assertEquals('(Select)', $map[0]); $this->assertEquals(array(0 => "(Select)", -1 => "(All)", "Joe" => "This is a team comment by Joe", "Bob" => "This is a team comment by Bob", "Phil" => "Phil is a unique guy, and comments on team2"), $map->toArray()); $map->unshift("Bob", "Replaced"); $this->assertEquals(array("Bob" => "Replaced", 0 => "(Select)", -1 => "(All)", "Joe" => "This is a team comment by Joe", "Phil" => "Phil is a unique guy, and comments on team2"), $map->toArray()); $map->unshift("Phil", "Replaced as well"); $this->assertEquals(array("Phil" => "Replaced as well", "Bob" => "Replaced", 0 => "(Select)", -1 => "(All)", "Joe" => "This is a team comment by Joe"), $map->toArray()); $map->unshift("Joe", "Replaced the last one"); $this->assertEquals(array("Joe" => "Replaced the last one", "Phil" => "Replaced as well", "Bob" => "Replaced", 0 => "(Select)", -1 => "(All)"), $map->toArray()); }
public function testIterationWithPush() { $list = DataObjectTest_TeamComment::get()->sort('ID'); $map = new SS_Map($list, 'Name', 'Comment'); $map->push(1, 'Pushed'); $text = ""; foreach ($map as $k => $v) { $text .= "{$k}: {$v}\n"; } $this->assertEquals("Joe: This is a team comment by Joe\n" . "Bob: This is a team comment by Bob\n" . "Phil: Phil is a unique guy, and comments on team2\n" . "1: Pushed\n", $text); }
public function testReverse() { $list = DataObjectTest_TeamComment::get(); $list = $list->sort('Name'); $list = $list->reverse(); $this->assertEquals('Bob', $list->last()->Name, 'Last comment should be from Bob'); $this->assertEquals('Phil', $list->first()->Name, 'First comment should be from Phil'); }