/** * @return CompositeAction */ public function build() { $actions = $this->actions; ksort($actions); $result = new CompositeAction(); foreach ($actions as $arr) { foreach ($arr as $action) { $result->add($action); } } return $result; }
public function test_to_string_returns_json_debug_tree_string() { $innerComposite = new CompositeAction([new FooAction(), new BarAction()]); $this->assertCount(2, $innerComposite->getChildren()); $outerComposite = new CompositeAction([new FooAction(), $innerComposite, new BarAction()]); $this->assertCount(3, $outerComposite->getChildren()); $actualValue = (string) $outerComposite; $expectedValue = <<<EOT { "LightSaml\\\\Action\\\\CompositeAction": { "LightSaml\\\\Tests\\\\Mock\\\\Action\\\\FooAction": [], "LightSaml\\\\Action\\\\CompositeAction": { "LightSaml\\\\Tests\\\\Mock\\\\Action\\\\FooAction": [], "LightSaml\\\\Tests\\\\Mock\\\\Action\\\\BarAction": [] }, "LightSaml\\\\Tests\\\\Mock\\\\Action\\\\BarAction": [] } } EOT; $this->assertEquals($expectedValue, $actualValue); }