@@ 33-52 (lines=20) @@ | ||
30 | static::assertInstanceOf(FlowInterface::class, $runner); |
|
31 | } |
|
32 | ||
33 | public function testRunSequentially() |
|
34 | { |
|
35 | $flow1 = m::mock(FlowInterface::class); |
|
36 | $flow2 = m::mock(FlowInterface::class); |
|
37 | ||
38 | $runner = new Run($flow1, $flow2); |
|
39 | ||
40 | $node1 = m::mock(NodeInterface::class); |
|
41 | $node2 = m::mock(NodeInterface::class); |
|
42 | $node3 = m::mock(NodeInterface::class); |
|
43 | ||
44 | $flow1->shouldReceive('flow') |
|
45 | ->with($node1) |
|
46 | ->andReturn($node2); |
|
47 | $flow2->shouldReceive('flow') |
|
48 | ->with($node2) |
|
49 | ->andReturn($node3); |
|
50 | ||
51 | static::assertEquals($node3, $runner->flow($node1)); |
|
52 | } |
|
53 | ||
54 | public function testStaticInstance() |
|
55 | { |
|
@@ 54-73 (lines=20) @@ | ||
51 | static::assertEquals($node3, $runner->flow($node1)); |
|
52 | } |
|
53 | ||
54 | public function testStaticInstance() |
|
55 | { |
|
56 | $flow1 = m::mock(FlowInterface::class); |
|
57 | $flow2 = m::mock(FlowInterface::class); |
|
58 | ||
59 | $runner = Flow::run($flow1, $flow2); |
|
60 | ||
61 | $node1 = m::mock(NodeInterface::class); |
|
62 | $node2 = m::mock(NodeInterface::class); |
|
63 | $node3 = m::mock(NodeInterface::class); |
|
64 | ||
65 | $flow1->shouldReceive('flow') |
|
66 | ->with($node1) |
|
67 | ->andReturn($node2); |
|
68 | $flow2->shouldReceive('flow') |
|
69 | ->with($node2) |
|
70 | ->andReturn($node3); |
|
71 | ||
72 | static::assertEquals($node3, $runner->flow($node1)); |
|
73 | } |
|
74 | ||
75 | public function testInvokeFlow() |
|
76 | { |
|
@@ 75-94 (lines=20) @@ | ||
72 | static::assertEquals($node3, $runner->flow($node1)); |
|
73 | } |
|
74 | ||
75 | public function testInvokeFlow() |
|
76 | { |
|
77 | $flow1 = m::mock(FlowInterface::class); |
|
78 | $flow2 = m::mock(FlowInterface::class); |
|
79 | ||
80 | $runner = Flow::run($flow1, $flow2); |
|
81 | ||
82 | $node1 = m::mock(NodeInterface::class); |
|
83 | $node2 = m::mock(NodeInterface::class); |
|
84 | $node3 = m::mock(NodeInterface::class); |
|
85 | ||
86 | $flow1->shouldReceive('flow') |
|
87 | ->with($node1) |
|
88 | ->andReturn($node2); |
|
89 | $flow2->shouldReceive('flow') |
|
90 | ->with($node2) |
|
91 | ->andReturn($node3); |
|
92 | ||
93 | static::assertEquals($node3, call_user_func($runner, $node1)); |
|
94 | } |
|
95 | } |
|
96 |