public function testIntegerCollection() { $collection = new IntegerCollection(array(10, 11, 12)); $ctx = $this->createMarshallingContext(); $scalarMarshaller = new PhpScalarMarshaller($ctx, $collection[0]); $scalarMarshaller->marshall(); $scalarMarshaller->setToMarshall($collection[1]); $scalarMarshaller->marshall(); $scalarMarshaller->setToMarshall($collection[2]); $scalarMarshaller->marshall(); $collectionMarshaller = new PhpCollectionMarshaller($ctx, $collection); $collectionMarshaller->marshall(); $expected = "\$integer_0 = 10;\n"; $expected .= "\$integer_1 = 11;\n"; $expected .= "\$integer_2 = 12;\n"; $expected .= "\$array_0 = array(\$integer_0, \$integer_1, \$integer_2);\n"; $expected .= "\$integercollection_0 = new qtism\\common\\collections\\IntegerCollection(\$array_0);\n"; $this->assertEquals($expected, $this->getStream()->getBinary()); }
public function testOnlyScalarPropertiesConstructorAndProperties() { $component = new ItemSessionControl(); $ctx = $this->createMarshallingContext(); $scalarMarshaller = new PhpScalarMarshaller($ctx, $component->getMaxAttempts()); $scalarMarshaller->marshall(); $scalarMarshaller->setToMarshall($component->mustShowFeedback()); $scalarMarshaller->marshall(); $scalarMarshaller->setToMarshall($component->doesAllowReview()); $scalarMarshaller->marshall(); $scalarMarshaller->setToMarshall($component->mustShowSolution()); $scalarMarshaller->marshall(); $scalarMarshaller->setToMarshall($component->doesAllowComment()); $scalarMarshaller->marshall(); $scalarMarshaller->setToMarshall($component->mustValidateResponses()); $scalarMarshaller->marshall(); $scalarMarshaller->setToMarshall($component->doesAllowSkipping()); $scalarMarshaller->marshall(); $componentMarshaller = new PhpQtiComponentMarshaller($ctx, $component); $componentMarshaller->marshall(); $expected = "\$integer_0 = 1;\n"; $expected .= "\$boolean_0 = false;\n"; $expected .= "\$boolean_1 = true;\n"; $expected .= "\$boolean_2 = false;\n"; $expected .= "\$boolean_3 = false;\n"; $expected .= "\$boolean_4 = false;\n"; $expected .= "\$boolean_5 = true;\n"; $expected .= "\$itemsessioncontrol_0 = new qtism\\data\\ItemSessionControl();\n"; $expected .= "\$itemsessioncontrol_0->setMaxAttempts(\$integer_0);\n"; $expected .= "\$itemsessioncontrol_0->setShowFeedback(\$boolean_0);\n"; $expected .= "\$itemsessioncontrol_0->setAllowReview(\$boolean_1);\n"; $expected .= "\$itemsessioncontrol_0->setShowSolution(\$boolean_2);\n"; $expected .= "\$itemsessioncontrol_0->setAllowComment(\$boolean_3);\n"; $expected .= "\$itemsessioncontrol_0->setValidateResponses(\$boolean_4);\n"; $expected .= "\$itemsessioncontrol_0->setAllowSkipping(\$boolean_5);\n"; $this->assertEquals($expected, $this->getStream()->getBinary()); }