コード例 #1
0
ファイル: ImporterTestCase.php プロジェクト: seytar/psx
 protected function assertRecord(RecordInterface $record)
 {
     // check available fields
     $this->assertTrue($record->getRecordInfo()->hasField('id'));
     $this->assertTrue($record->getRecordInfo()->hasField('title'));
     $this->assertTrue($record->getRecordInfo()->hasField('active'));
     $this->assertTrue($record->getRecordInfo()->hasField('disabled'));
     $this->assertTrue($record->getRecordInfo()->hasField('count'));
     $this->assertTrue($record->getRecordInfo()->hasField('rating'));
     $this->assertFalse($record->getRecordInfo()->hasField('foobar'));
     $this->assertFalse($record->getRecordInfo()->hasField('foo'));
     if ($this->canDetermineType()) {
         $this->assertEquals(1, $record->getId());
         $this->assertEquals('foobar', $record->getTitle());
         $this->assertTrue($record->getActive());
         $this->assertFalse($record->getDisabled());
         $this->assertEquals(12, $record->getCount());
         $this->assertEquals(12.45, $record->getRating());
         $this->assertInternalType('integer', $record->getId());
         $this->assertInternalType('string', $record->getTitle());
         $this->assertInternalType('boolean', $record->getActive());
         $this->assertInternalType('boolean', $record->getDisabled());
         $this->assertInternalType('integer', $record->getCount());
         $this->assertInternalType('float', $record->getRating());
         $this->assertInstanceOf('DateTime', $record->getDate());
     } else {
         $this->assertEquals('1', $record->getId());
         $this->assertEquals('foobar', $record->getTitle());
         // the json reader returns the real php type the xml reader returns
         // the string true or false
         $this->assertTrue($record->getActive() === true || $record->getActive() === 'true');
         $this->assertTrue($record->getDisabled() === false || $record->getDisabled() === 'false');
         $this->assertEquals('12', $record->getCount());
         $this->assertEquals('12.45', $record->getRating());
         $this->assertEquals('2014-01-01T12:34:47+01:00', $record->getDate());
     }
     if ($this->canImportComplexRecord()) {
         $this->assertInstanceOf('PSX\\Data\\Record\\Importer\\Test\\Person', $record->getPerson());
         $this->assertEquals('Foo', $record->getPerson()->getTitle());
         $this->assertEquals(true, is_array($record->getTags()));
         $this->assertEquals(3, count($record->getTags()));
         $this->assertEquals('bar', $record->getTags()[0]);
         $this->assertEquals('foo', $record->getTags()[1]);
         $this->assertEquals('test', $record->getTags()[2]);
         $this->assertEquals(true, is_array($record->getEntry()));
         $this->assertEquals(3, count($record->getEntry()));
         $this->assertEquals('bar', $record->getEntry()[0]->getTitle());
         $this->assertEquals('foo', $record->getEntry()[1]->getTitle());
         $this->assertEquals('test', $record->getEntry()[2]->getTitle());
         foreach ($record->getEntry() as $entry) {
             $this->assertInstanceOf('PSX\\Data\\Record\\Importer\\Test\\Entry', $entry);
         }
         $this->assertInstanceOf('stdClass', $record->getToken());
         $this->assertEquals('bar', $record->getToken()->value);
         $this->assertInstanceOf('PSX\\Url', $record->getUrl());
         $this->assertEquals('http://google.com', $record->getUrl()->__toString());
     }
 }