Gittern\Desiccator\TreeDesiccatorTest::testCanDesiccateTreeWithAllRelationsPersisted PHP Method

testCanDesiccateTreeWithAllRelationsPersisted() public method

    public function testCanDesiccateTreeWithAllRelationsPersisted()
    {
        $desiccator = new TreeDesiccator();
        $tree = M::mock('Gittern\\Entity\\GitObject\\Tree');
        $node1_mock = M::mock('Gittern\\Entity\\GitObject\\Node\\TreeNode', array('getOctalModeString' => '040000', 'getName' => 'abacus'));
        $node2_mock = M::mock('Gittern\\Entity\\GitObject\\Node\\BlobNode', array('getOctalModeString' => '100644', 'getName' => 'babacus'));
        $node1_mock->shouldReceive('getRelatedObject')->andReturn($node1_mock);
        $node1_mock->shouldReceive('getSha')->andReturn('935122a4458399ef488c872b42c6e9985f1d1e3b');
        $node2_mock->shouldReceive('getRelatedObject')->andReturn($node2_mock);
        $node2_mock->shouldReceive('getSha')->andReturn('24fb5bad9c8f3b2694412ea309f207091f2309cf');
        $tree->shouldReceive('getNodes')->andReturn(array($node1_mock, $node2_mock));
        $expected = sprintf("040000 abacus%s100644 babacus%s", pack("H*", "935122a4458399ef488c872b42c6e9985f1d1e3b"), pack("H*", "24fb5bad9c8f3b2694412ea309f207091f2309cf"));
        $raw_object = $desiccator->desiccate($tree);
        $this->assertEquals($expected, $raw_object->getData());
        $this->assertEquals('tree', $raw_object->getType());
    }