public function testWriteShufflingState()
 {
     $shufflingGroup = new ShufflingGroup(new IdentifierCollection(array('id1', 'id2', 'id3')));
     $shufflingGroup->setFixedIdentifiers(new IdentifierCollection(array('id2')));
     $shufflingGroups = new ShufflingGroupCollection(array($shufflingGroup));
     $shuffling = new Shuffling('RESPONSE', $shufflingGroups);
     $stream = new MemoryStream();
     $stream->open();
     $access = new QtiBinaryStreamAccessFsFile($stream);
     $access->writeShufflingState($shuffling);
     $stream->rewind();
     $shufflingState = $access->readShufflingState();
     $this->assertEquals('RESPONSE', $shufflingState->getResponseIdentifier());
     $shufflingGroups = $shufflingState->getShufflingGroups();
     $this->assertEquals(array('id1', 'id2', 'id3'), $shufflingGroups[0]->getIdentifiers()->getArrayCopy());
     $this->assertEquals(array('id2'), $shufflingGroups[0]->getFixedIdentifiers()->getArrayCopy());
 }