| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | <?php
require_once 'Swift/CharacterReader/GenericFixedWidthReader.php';
class Swift_CharacterReader_GenericFixedWidthReaderTest
  extends UnitTestCase
{
  public function testInitialByteSizeMatchesWidth()
  {
    $reader = new Swift_CharacterReader_GenericFixedWidthReader(1);
    $this->assertIdentical(1, $reader->getInitialByteSize());
    $reader = new Swift_CharacterReader_GenericFixedWidthReader(4);
    $this->assertIdentical(4, $reader->getInitialByteSize());
  }
  public function testValidationValueIsBasedOnOctetCount()
  {
    $reader = new Swift_CharacterReader_GenericFixedWidthReader(4);
    $this->assertIdentical(
      1, $reader->validateByteSequence(array(0x01, 0x02, 0x03), 3)
      ); //3 octets
    $this->assertIdentical(
      2, $reader->validateByteSequence(array(0x01, 0x0A), 2)
      ); //2 octets
    $this->assertIdentical(
      3, $reader->validateByteSequence(array(0xFE), 1)
      ); //1 octet
    $this->assertIdentical(
      0, $reader->validateByteSequence(array(0xFE, 0x03, 0x67, 0x9A), 4)
      ); //All 4 octets
  }
  public function testValidationFailsIfTooManyOctets()
  {
    $reader = new Swift_CharacterReader_GenericFixedWidthReader(6);
    $this->assertIdentical(-1, $reader->validateByteSequence(
      array(0xFE, 0x03, 0x67, 0x9A, 0x10, 0x09, 0x85), 7
      )); //7 octets
  }
}
 |