1<?php
2
3/*
4 * This file is part of the Prophecy.
5 * (c) Konstantin Kudryashov <ever.zet@gmail.com>
6 *     Marcello Duarte <marcello.duarte@gmail.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Prophecy\Prediction;
13
14use Prophecy\Call\Call;
15use Prophecy\Prophecy\ObjectProphecy;
16use Prophecy\Prophecy\MethodProphecy;
17
18/**
19 * Prediction interface.
20 * Predictions are logical test blocks, tied to `should...` keyword.
21 *
22 * @author Konstantin Kudryashov <ever.zet@gmail.com>
23 */
24interface PredictionInterface
25{
26    /**
27     * Tests that double fulfilled prediction.
28     *
29     * @param Call[]        $calls
30     * @param ObjectProphecy $object
31     * @param MethodProphecy $method
32     *
33     * @throws object
34     * @return void
35     */
36    public function check(array $calls, ObjectProphecy $object, MethodProphecy $method);
37}
38