izzum\statemachine\EntityBuilderTest::testDefaultBuilder PHP Метод

testDefaultBuilder() публичный Метод

public testDefaultBuilder ( )
    public function testDefaultBuilder()
    {
        //create Entity in default state. this is enough to pass it
        //to the builder
        $object_1 = new Identifier(-1, 'order');
        $object_2 = new Identifier(-2, 'order');
        $this->assertNotEquals($object_1, $object_2);
        //scenario: call it twice with same object
        $builder = new EntityBuilder();
        $result_1 = $builder->getEntity($object_1);
        $this->assertEquals($object_1, $result_1);
        //same result when we call it again (should be cached, but we can only test
        //this when we override the protected build() method of the builder).
        $result_2 = $builder->getEntity($object_1);
        $this->assertEquals($object_1, $result_2);
        $this->assertEquals($result_1, $result_2, 'obviously');
        $this->assertEquals('izzum\\statemachine\\EntityBuilder', $builder->toString());
        //scenario: call it with different objects
        $builder = new EntityBuilder();
        $result_1 = $builder->getEntity($object_1);
        $this->assertEquals($object_1, $result_1);
        //different result when we call it again
        $result_2 = $builder->getEntity($object_2);
        $this->assertEquals($object_2, $result_2);
        $this->assertContains('EntityBuilder', $builder . '', '__toString()');
    }