public function testSetAndGetAttributes()
 {
     $attributes = array('name' => 'Mindaugas Bujanauskas');
     $this->blueprint->setAttributes($attributes);
     $this->assertEquals($attributes, $this->blueprint->getAttributes());
 }
 public function testMakeWithVariousAttributes()
 {
     $className = 'stdClass';
     $attributes = array('attribute' => 'Mindaugas', 'attributeOverride' => 'Bujanauskas', 'attributeLazy' => function () {
         return 'Short';
     }, 'attributeLazyOverride' => function () {
         return 'Time is very precious';
     });
     $sequences = array('sequence' => function ($i) {
         return $i;
     }, 'sequenceOverride' => function () {
         return 'Override me';
     });
     $attributeOverrides = array('attributeOverride' => 'MindaugasBujanauskas', 'attributeLazyOverride' => function () {
         return 'Diff';
     }, ':sequences' => array('sequenceOverride' => function ($i) {
         return "Instance #{$i}";
     }));
     $blueprint = new Blueprint();
     $blueprint->setAttributes($attributes);
     $blueprint->setSequences($sequences);
     $instance = $this->runner->make($className, $blueprint, $attributeOverrides);
     $this->assertInstanceOf($className, $instance);
     $this->assertEquals($attributes['attribute'], $instance->attribute);
     $this->assertEquals('Short', $instance->attributeLazy);
     $this->assertEquals(1, $instance->sequence);
     $this->assertEquals($attributeOverrides['attributeOverride'], $instance->attributeOverride);
     $this->assertEquals('Diff', $instance->attributeLazyOverride);
     $this->assertEquals('Instance #1', $instance->sequenceOverride);
 }