Example #1
0
 /**
  * Returns an object instance.
  */
 public static function Factory()
 {
     if (!isset(self::$me)) {
         self::$me = new DhlQuote();
     }
     return self::$me;
 }
Example #2
0
 public function testQuote()
 {
     $dhl = DHLQuote::Factory();
     $this->assertEquals($dhl->calculate(1.3, 'VN'), 193.38 * 1.2);
     $this->assertEquals($dhl->calculate(2.7, 'PT'), 147.73 * 1.2 * 1.2);
     $this->assertEquals($dhl->calculate(5, 'FR'), 152.36 * 1.2 * 1.2);
     // Test with package sizes.
     $dhl->setAllowedPackageSizes(array(1, 2, 3, 4, 7, 9, 10));
     // 7 kg.
     $price = 9.4 * 1.2 * 1.2;
     $this->assertEquals($dhl->calculate(4.5, 'FR'), $price);
     $this->assertEquals($dhl->calculate(5, 'FR'), $price);
     $this->assertEquals($dhl->calculate(7, 'FR'), $price);
     // Test chaining.
     $this->assertEquals($dhl->setAllowedPackagesizes(array(1, 7, 9))->calculate(2, 'FR'), $price);
 }