Nelmio\Alice\Definition\FlagBagTest::testMergingTwoBagsCreatesANewModifiedInstance PHP Метод

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

    public function testMergingTwoBagsCreatesANewModifiedInstance()
    {
        $bag1 = (new FlagBag('bag1'))->withFlag($flag1 = new MutableFlag('flag1', new \stdClass()));
        $bag2 = (new FlagBag('bag2'))->withFlag($flag2 = new MutableFlag('flag2', new \stdClass()));
        $mergedBag = $bag1->mergeWith($bag2);
        $this->assertInstanceOf(FlagBag::class, $mergedBag);
        $this->assertEquals((new FlagBag('bag1'))->withFlag($flag1), $bag1);
        $this->assertEquals((new FlagBag('bag2'))->withFlag(new MutableFlag('flag2', new \stdClass())), $bag2);
        $this->assertEquals((new FlagBag('bag1'))->withFlag(new MutableFlag('flag1', new \stdClass()))->withFlag(new MutableFlag('flag2', new \stdClass())), $mergedBag);
    }