public function testFluentChain() { $node1 = m::mock(FileNodeInterface::class); $node2 = m::mock(NodeInterface::class); $collection = new NodeCollection([$node1, $node2]); $result = Flow::create()->filter(function (NodeInterface $node) { return $node instanceof FileNodeInterface; })->first()->flow($collection); static::assertSame($result, $node1); }