public function testDispatchAfterHandleEvent()
 {
     $calculator = new BaseCalculator(['handler' => $this->getCalculatorHandlerMock()]);
     $package = new Package();
     $calculator->getDispatcher()->addListener('after_handle', function ($e) use($calculator, $package) {
         /** @var AfterHandleEvent $e */
         $this->assertInstanceOf(AfterHandleEvent::class, $e);
         $this->assertSame($calculator, $e->getCalculator());
         $this->assertSame($calculator->getHandler(), $e->getHandler());
         $this->assertInstanceOf(Result::class, $e->getResult());
     });
     $calculator->calculate($package);
 }
 public function testDispatchAfterHandleEvent()
 {
     $calculator = new BaseCalculator(['handler' => $this->getCalculatorHandlerMock()]);
     $package = new Package();
     $calculator->getDispatcher()->addListener('after_handle', function ($e) use($calculator, $package) {
         /** @var AfterHandleEvent $e */
         $this->assertInstanceOf('EsteIt\\ShippingCalculator\\Event\\AfterHandleEvent', $e);
         $this->assertSame($calculator, $e->getCalculator());
         $this->assertSame($calculator->getHandler(), $e->getHandler());
         $this->assertInstanceOf('EsteIt\\ShippingCalculator\\Model\\CalculationResultInterface', $e->getResult());
     });
     $calculator->calculate($package);
 }