From 655faf0c390437f7bf61c33dd955fd95c9e62e6c Mon Sep 17 00:00:00 2001 From: Will Rossiter Date: Fri, 30 Apr 2010 00:06:08 +0000 Subject: [PATCH] APICHANGE: changed the modulus offset to 1 to correctly order sets git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@103792 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- core/ViewableData.php | 6 +++--- tests/DataObjectSetTest.php | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core/ViewableData.php b/core/ViewableData.php index 290bfb3db..5114b05f5 100755 --- a/core/ViewableData.php +++ b/core/ViewableData.php @@ -611,16 +611,16 @@ class ViewableData extends Object implements IteratorAggregate { /** * Returns the modulus of the numerical position of the item in the data set. - * The count starts from $startIndex, which defaults to 0. + * The count starts from $startIndex, which defaults to 1. * @param int $Mod The number to perform Mod operation to. * @param int $startIndex Number to start count from. * @return int */ - public function Modulus($mod, $startIndex = 0) { + public function Modulus($mod, $startIndex = 1) { return ($this->iteratorPos + $startIndex) % $mod; } - public function MultipleOf($factor, $offset = 0) { + public function MultipleOf($factor, $offset = 1) { return ($this->Modulus($factor, $offset) == 0); } diff --git a/tests/DataObjectSetTest.php b/tests/DataObjectSetTest.php index dfc4cc7a1..ad9101c09 100644 --- a/tests/DataObjectSetTest.php +++ b/tests/DataObjectSetTest.php @@ -80,7 +80,7 @@ class DataObjectSetTest extends SapphireTest { public function testMultipleOf() { $comments = DataObject::get('PageComment', '', "\"ID\" ASC"); $commArr = $comments->toArray(); - $multiplesOf3 = 0; + $multiplesOf3 = 1; foreach($comments as $comment) { if($comment->MultipleOf(3)) { @@ -93,13 +93,13 @@ class DataObjectSetTest extends SapphireTest { $this->assertEquals(3, $multiplesOf3); - $this->assertTrue($commArr[0]->IsMultipleOf3); + $this->assertFalse($commArr[0]->IsMultipleOf3); $this->assertFalse($commArr[1]->IsMultipleOf3); - $this->assertFalse($commArr[2]->IsMultipleOf3); - $this->assertTrue($commArr[3]->IsMultipleOf3); + $this->assertTrue($commArr[2]->IsMultipleOf3); + $this->assertFalse($commArr[3]->IsMultipleOf3); $this->assertFalse($commArr[4]->IsMultipleOf3); - $this->assertFalse($commArr[5]->IsMultipleOf3); - $this->assertTrue($commArr[6]->IsMultipleOf3); + $this->assertTrue($commArr[5]->IsMultipleOf3); + $this->assertFalse($commArr[6]->IsMultipleOf3); foreach($comments as $comment) { if($comment->MultipleOf(3, 1)) {