/**
  * @return \Remotelyliving\PlumbusPhp\Plumbus
  */
 public function make()
 {
     $dinglebop = new DingleBop();
     // re-purpose schleem
     try {
         $this->_schleem = $this->_blamf->smoothDinglebopWithSchleem($dinglebop, $this->_schleem);
     } catch (OutOfSchleemException $e) {
         $this->_schleem = $this->_blamf->smoothDinglebopWithSchleem($dinglebop, new Schleem());
     }
     $grumbo = new Grumbo();
     $grumbo->push($dinglebop);
     $this->_blamf->rubDinglebopWithFleeb($grumbo->dinglebop, $this->_fleeb);
     $this->_schlami->rubDingleBop($grumbo->dinglebop);
     $this->_schlami->spitOnDingleBop($grumbo->dinglebop);
     $this->_blamf->cutFleeb($this->_fleeb);
     $this->_blamf->rubAgainstTheChumbles($grumbo);
     $this->_blamf->shavePloobis($grumbo);
     return new Plumbus($this->_blamf->shaveGrumboAway($grumbo));
 }
 /**
  * @Then spits on it
  */
 public function spitsOnIt()
 {
     $this->_schlami->spitOnDingleBop($this->_grumbo->dinglebop);
 }
 /**
  * @test
  */
 public function rubDingleBop()
 {
     $this->_dinglebop->expects($this->once())->method('setWasRubbedBySchlami')->with(true);
     $this->_sut->rubDingleBop($this->_dinglebop);
 }