/**
  * test deserializing packets
  */
 public function testDeserializingPackets()
 {
     $testData = new AmfTestData();
     /*
               template
      //Packet with
     */
     //Packet with null header
     $deserializer = new Amfphp_Core_Amf_Deserializer($testData->sNullHeaderPacket);
     $deserialized = $deserializer->deserialize(array(), array(), $testData->sNullHeaderPacket);
     $expectedDeserialized = $testData->dNullHeaderPacket;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //Packet with string header
     $deserializer = new AmfDeserializerWrapper($testData->sStringHeaderPacket);
     $deserialized = $deserializer->deserialize(array(), array(), $testData->sStringHeaderPacket);
     $expectedDeserialized = $testData->dStringHeaderPacket;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //Packet with null Message
     $deserializer = new AmfDeserializerWrapper($testData->sNullMessagePacket);
     $deserialized = $deserializer->deserialize(array(), array(), $testData->sNullMessagePacket);
     $expectedDeserialized = $testData->dNullMessagePacket;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //Packet with string Message
     $deserializer = new AmfDeserializerWrapper($testData->sStringMessagePacket);
     $deserialized = $deserializer->deserialize(array(), array(), $testData->sStringMessagePacket);
     $expectedDeserialized = $testData->dStringMessagePacket;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //Packet with 2 headers and 2 Messages
     $deserializer = new AmfDeserializerWrapper($testData->s2Headers2MessagesPacket);
     $deserialized = $deserializer->deserialize(array(), array(), $testData->s2Headers2MessagesPacket);
     $expectedDeserialized = $testData->d2Headers2MessagesPacket;
     $this->assertEquals($expectedDeserialized, $deserialized);
 }
 /**
  * test basic methods
  */
 public function testBasicMethods()
 {
     $testData = new Amf3TestData();
     //template
     /*
             $deserializer = new AmfDeserializerWrapper($testData->s);
             $deserialized = $deserializer->readAmf3Data();
             $expectedDeserialized = $testData->d;
             $this->assertEquals($expectedDeserialized, $deserialized);
     */
     //undefined
     $deserializer = new AmfDeserializerWrapper($testData->sUndefined);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dUndefined;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //null
     $deserializer = new AmfDeserializerWrapper($testData->sNull);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = null;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //false
     $deserializer = new AmfDeserializerWrapper($testData->sFalse);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = false;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //true
     $deserializer = new AmfDeserializerWrapper($testData->sTrue);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = true;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //integer
     $deserializer = new AmfDeserializerWrapper($testData->sInt1);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dInt1;
     $this->assertEquals($expectedDeserialized, $deserialized);
     $deserializer = new AmfDeserializerWrapper($testData->sInt2);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dInt2;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //double
     $deserializer = new AmfDeserializerWrapper($testData->sDouble);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dDouble;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //string
     $deserializer = new AmfDeserializerWrapper($testData->sEmptyString);
     $deserialized = $deserializer->readAmf3String();
     $expectedDeserialized = $testData->dEmptyString;
     $this->assertEquals($expectedDeserialized, $deserialized);
     $deserializer = new AmfDeserializerWrapper($testData->sString);
     $deserialized = $deserializer->readAmf3String();
     $expectedDeserialized = $testData->dString;
     $this->assertEquals($expectedDeserialized, $deserialized);
     $deserializer = new AmfDeserializerWrapper($testData->sStringTwice);
     $deserialized = $deserializer->readAmf3String();
     $expectedDeserialized = $testData->dString;
     $this->assertEquals($expectedDeserialized, $deserialized);
     $deserialized = $deserializer->readAmf3String();
     $expectedDeserialized = $testData->dString;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //xml
     $deserializer = new AmfDeserializerWrapper($testData->sXmlDocument);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dXmlDocument;
     $this->assertEquals($expectedDeserialized, $deserialized);
     $deserializer = new AmfDeserializerWrapper($testData->sDate);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dDate;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //array
     $deserializer = new AmfDeserializerWrapper($testData->sEmptyArray);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dEmptyArray;
     $this->assertEquals($expectedDeserialized, $deserialized);
     $deserializer = new AmfDeserializerWrapper($testData->sDenseArray);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dDenseArray;
     $this->assertEquals($expectedDeserialized, $deserialized);
     $deserializer = new AmfDeserializerWrapper($testData->sMixedArray);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dMixedArray;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //object
     $deserializer = new AmfDeserializerWrapper($testData->sObject);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dObject;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //ByteArray
     $deserializer = new AmfDeserializerWrapper($testData->sByteArray);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dByteArray;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //VectorInt
     $deserializer = new AmfDeserializerWrapper($testData->sVectorInt);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dVectorInt;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //VectorUint
     $deserializer = new AmfDeserializerWrapper($testData->sVectorUint);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dVectorUint;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //VectorDouble
     $deserializer = new AmfDeserializerWrapper($testData->sVectorDouble);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dVectorDouble;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //VectorObject
     $deserializer = new AmfDeserializerWrapper($testData->sVectorObject);
     $deserialized = $deserializer->readAmf3Data();
     $expectedDeserialized = $testData->dVectorObject;
     $this->assertEquals($expectedDeserialized, $deserialized);
     //Dictionary
     /* not supported
        $deserializer = new AmfDeserializerWrapper($testData->sDictionary);
        $deserialized = $deserializer->readAmf3Data();
        $expectedDeserialized = $testData->dDictionary;
        $this->assertEquals($expectedDeserialized, $deserialized);
         * 
         */
 }