public function testIteration(array $attributes, Node $node)
{
// Iteration is simple object iteration over properties,
// not over subnodes
$i = 0;
foreach ($node as $key => $value) {
if ($i === 0) {
$this->assertSame('subNode1', $key);
$this->assertSame('value1', $value);
} else {
if ($i === 1) {
$this->assertSame('subNode2', $key);
$this->assertSame('value2', $value);
} else {
if ($i === 2) {
$this->assertSame('notSubNode', $key);
$this->assertSame('value3', $value);
} else {
throw new \Exception();
}
}
}
$i++;
}
$this->assertSame(3, $i);
}