File: AggregateExceptionSpec.php

package info (click to toggle)
php-phpspec-prophecy 1.22.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,376 kB
  • sloc: php: 9,909; makefile: 16
file content (63 lines) | stat: -rw-r--r-- 1,789 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php

namespace spec\Prophecy\Exception\Prediction;

use PhpSpec\ObjectBehavior;
use Prophecy\Exception\Prediction\FailedPredictionException;
use Prophecy\Exception\Prediction\PredictionException;
use Prophecy\Prophecy\ObjectProphecy;

class AggregateExceptionSpec extends ObjectBehavior
{
    function let()
    {
        $this->beConstructedWith('');
    }

    function it_is_prediction_exception()
    {
        $this->shouldBeAnInstanceOf('RuntimeException');
        $this->shouldBeAnInstanceOf('Prophecy\Exception\Prediction\PredictionException');
    }

    function it_can_store_objectProphecy_link(ObjectProphecy $object)
    {
        $this->setObjectProphecy($object);
        $this->getObjectProphecy()->shouldReturn($object);
    }

    function it_should_not_have_exceptions_at_the_beginning()
    {
        $this->getExceptions()->shouldHaveCount(0);
    }

    function it_should_append_exception_through_append_method()
    {
        $exception = new FailedPredictionException();

        $this->append($exception);

        $this->getExceptions()->shouldReturn(array($exception));
    }

    function it_should_update_message_during_append()
    {
        $exception = new FailedPredictionException('Exception #1');

        $this->append($exception);

        $this->getMessage()->shouldReturn('Exception #1');
    }

    function it_should_update_message_during_append_more_exceptions(
        PredictionException $exception1,
        PredictionException $exception2
    ) {
        $exception1 = new FailedPredictionException('Exception #1');
        $exception2 = new FailedPredictionException('Exception #2');

        $this->append($exception1);
        $this->append($exception2);
        $this->getMessage()->shouldReturn("Exception #1\nException #2");
    }
}