public function testRemoveDuplicates()
 {
     Injector::inst()->get('URLArrayObject')->addUrls(array('test1' => 1, 'test2' => 1, 'test3' => 1));
     Injector::inst()->get('URLArrayObject')->addUrls(array('test2' => 2, 'test3' => 2));
     Injector::inst()->get('URLArrayObject')->addUrls(array('test2' => 3));
     $test1Objs = DataObject::get('StaticPagesQueue', '"URLSegment" = \'test1\'');
     $test2Objs = DataObject::get('StaticPagesQueue', '"URLSegment" = \'test2\'');
     $test3Objs = DataObject::get('StaticPagesQueue', '"URLSegment" = \'test3\'');
     $this->assertEquals(1, $test1Objs->Count());
     $this->assertEquals(3, $test2Objs->Count());
     $this->assertEquals(2, $test3Objs->Count());
     StaticPagesQueue::remove_duplicates($test1Objs->First()->ID);
     $test1Objs = DataObject::get('StaticPagesQueue', '"URLSegment" = \'test1\'');
     $test2Objs = DataObject::get('StaticPagesQueue', '"URLSegment" = \'test2\'');
     $test3Objs = DataObject::get('StaticPagesQueue', '"URLSegment" = \'test3\'');
     $this->assertEquals(1, $test1Objs->Count(), 'Keeps original instance without any duplicates found');
     $this->assertEquals(3, $test2Objs->Count(), 'Doesnt remove unrelated duplicates');
     $this->assertEquals(2, $test3Objs->Count(), 'Doesnt remove unrelated duplicates');
     StaticPagesQueue::remove_duplicates($test2Objs->First()->ID);
     $test2Objs = DataObject::get('StaticPagesQueue', '"URLSegment" = \'test2\'');
     $this->assertEquals(1, $test2Objs->Count(), 'Removing a single duplicate');
     StaticPagesQueue::remove_duplicates($test3Objs->First()->ID);
     $test3Objs = DataObject::get('StaticPagesQueue', '"URLSegment" = \'test3\'');
     $this->assertEquals(1, $test3Objs->Count(), 'Removing multiple duplicates');
 }