public function testIteration()
 {
     $this->file[] = new Line($this->spec->getWidth());
     $this->file[] = new Line($this->spec->getWidth());
     $this->recognizer->shouldReceive('recognize')->once()->with($this->file[0], $this->spec)->andReturn('record1')->shouldReceive('recognize')->once()->with($this->file[1], $this->spec)->andReturn('record2');
     $readers = iterator_to_array(new LineToReaderIterator($this->file, $this->spec, $this->recognizer, $this->formatter));
     $this->assertEquals(new LineReader($this->file[0], $this->spec->getRecordSpec('record1'), $this->formatter), $readers[0]);
     $this->assertEquals(new LineReader($this->file[1], $this->spec->getRecordSpec('record2'), $this->formatter), $readers[1]);
 }
Beispiel #2
0
 public function testLineReaderGettersAndIssers()
 {
     $this->file[] = new Line($this->spec->getWidth());
     $this->file[] = new Line($this->spec->getWidth());
     $this->file[1]['34:39'] = 'seeya';
     $this->file[1]['40:42'] = 'ho';
     $this->recognizer->shouldReceive('recognize')->twice()->with($this->file[1], $this->spec)->andReturn('record1');
     $this->assertEquals(new LineReader($this->file[1], $this->spec->getRecordSpec('record1'), $this->formatter), $this->reader->getLineReader(1, 'record1'));
     $this->assertEquals(new LineReader($this->file[1], $this->spec->getRecordSpec('record1'), $this->formatter), $this->reader->getLineReader(1));
     $this->assertTrue(isset($this->reader[1]));
     $this->assertEquals(new LineReader($this->file[1], $this->spec->getRecordSpec('record1'), $this->formatter), $this->reader[1]);
 }
Beispiel #3
0
 public function testAddRecord()
 {
     $this->formatter->shouldReceive('formatToFile')->once()->with($this->spec->getRecordSpec('record1')->getFieldSpec('field1'), 23.34)->andReturn('23.34')->getMock()->shouldReceive('formatToFile')->once()->with($this->spec->getRecordSpec('record1')->getFieldSpec('field2'), 'go')->andReturn('go')->getMock()->shouldReceive('formatToFile')->once()->with($this->spec->getRecordSpec('record1')->getFieldSpec('field1'), 3)->andReturn('x3.00')->getMock()->shouldReceive('formatToFile')->once()->with($this->spec->getRecordSpec('record1')->getFieldSpec('field2'), 'h')->andReturn('hw')->getMock()->shouldReceive('formatToFile')->once()->with($this->spec->getRecordSpec('record2')->getFieldSpec('field3'), 12345)->andReturn('                 12345')->getMock();
     $this->builder->addRecord('record1', array('field2' => 'go'))->addRecord('record1', array('field1' => 3, 'field2' => 'h'))->addRecord('record2', array('field3' => 12345));
     $line1 = new Line($this->spec->getWidth());
     $line2 = new Line($this->spec->getWidth());
     $line3 = new Line($this->spec->getWidth());
     $line1['34:39'] = '23.34';
     $line1['40:42'] = 'go';
     $line2['34:39'] = 'x3.00';
     $line2['40:42'] = 'hw';
     $line3['34:56'] = '                 12345';
     $file = new InMemoryFile($this->fileName, $this->spec->getWidth(), array($line1, $line2, $line3), "\n");
     $this->assertEquals($file, $this->builder->getFile());
 }
Beispiel #4
0
 /**
  * @expectedException \Giftcards\FixedWidth\Spec\SpecNotFoundException
  */
 public function testGetFieldSpecWhereNotThere()
 {
     $spec = new FileSpec($this->getFaker()->word, array(), $this->getFaker()->numberBetween(10, 20), "\r\n");
     $spec->getRecordSpec('record1');
 }