public function testSimpleInsert() { $R = new Object(array(Object::ACTIVITYID => 1, Object::POOL_LENGTH => 2500, Object::STROKE => array(25, 20, 15, 20), Object::STROKETYPE => array(2, 2, 2, 2))); $I = new Inserter($this->PDO, $R); $I->setAccountID(1); $I->insert(); $data = $this->PDO->query('SELECT * FROM `' . PREFIX . 'swimdata` WHERE `activityid`=1')->fetch(PDO::FETCH_ASSOC); $N = new Object($data); $this->assertEquals(1, $data[Inserter::ACCOUNTID]); $this->assertEquals(2500, $N->poollength()); $this->assertEquals(array(25, 20, 15, 20), $N->stroke()); $this->assertEquals(array(2, 2, 2, 2), $N->stroketype()); }
/** * Calculate swim values */ protected function calculateSwimValues() { if (null !== $this->Trackdata && null !== $this->Swimdata) { if ($this->Swimdata->stroke()) { $this->Object->set(Object::TOTAL_STROKES, array_sum($this->Swimdata->stroke())); } if ($this->Object->totalStrokes() && $this->Trackdata->totalTime()) { $num = $this->Trackdata->num(); $totaltime = $this->Trackdata->totalTime(); $totalstrokes = $this->Object->totalStrokes(); if (!empty($totalstrokes) && !empty($totaltime) & !empty($num) && $totalstrokes != 0) { $this->Object->set(Object::SWOLF, round(($totalstrokes + $totaltime) / $num)); } } } }
public function testSimpleUpdate() { $Inserter = new Inserter($this->PDO); $Inserter->setAccountID(1); $Inserter->insert(new Object(array(Object::ACTIVITYID => 1, Object::STROKE => array(25, 20, 15, 20)))); $Swimdata = new Object($this->PDO->query('SELECT * FROM `' . PREFIX . 'swimdata` WHERE `activityid`=1')->fetch(PDO::FETCH_ASSOC)); $Swimdata->set(Object::STROKE, array()); $Changed = clone $Swimdata; $Changed->set(Object::STROKETYPE, array(2, 2, 2, 2)); $Updater = new Updater($this->PDO, $Changed, $Swimdata); $Updater->setAccountID(1); $Updater->update(); $Result = new Object($this->PDO->query('SELECT * FROM `' . PREFIX . 'swimdata` WHERE `activityid`=1')->fetch(PDO::FETCH_ASSOC)); $this->assertEquals(array(25, 20, 15, 20), $Result->stroke()); $this->assertEquals(array(2, 2, 2, 2), $Result->stroketype()); }