public function testCast()
 {
     $index = 0;
     $name = "name";
     $type = "intval";
     $header = CSVHeader::create($index, $name, $type);
     $value = $header->cast("666");
     $this->assertInternalType("int", $value);
     $this->assertEquals(666, $value);
 }
 public function testGetHeader()
 {
     $name = "header1";
     $type = "strval";
     $header = CSVHeader::create(0, $name, $type);
     $schema = CSVSchema::create()->withHeader($name, $type);
     $this->assertEquals($header, $schema->getHeader(0));
     $this->assertEquals($header, $schema->getHeader($name));
 }
 public function testArrayAccess()
 {
     $headers = CSVHeaders::create();
     $this->assertEquals(0, count($headers));
     $headers[0] = CSVHeader::create(0, "name", "intval");
     $this->assertEquals(0, count($headers));
     $header1 = $headers->add("header1", "intval");
     unset($headers[$header1->getIndex()]);
     $this->assertEquals(1, count($headers));
     $this->assertTrue(isset($headers[$header1->getIndex()]));
     $this->assertTrue(isset($headers[$header1->getName()]));
     $this->assertEquals($header1, $headers[$header1->getIndex()]);
     $this->assertEquals($header1, $headers[$header1->getName()]);
 }