Example #1
0
 /**
  * Get the merge of all total_delivery_time ranges from the items
  * By getting the maximum min and max amounts.
  * @return Jam_Range
  */
 public function total_delivery_time()
 {
     $times = array_map(function ($item) {
         return $item->total_delivery_time();
     }, $this->items->as_array());
     return Jam_Range::merge($times, 'Model_Shipping::format_shipping_time');
 }
Example #2
0
 public function delivery_time()
 {
     $delivery_times = $this->groups->as_array(NULL, 'delivery_time');
     if (!$delivery_times) {
         return NULL;
     }
     return Jam_Range::merge(array_filter($delivery_times), 'Model_Shipping::format_shipping_time');
 }
Example #3
0
 /**
  * @covers Jam_Range::merge
  */
 public function test_merge()
 {
     $range1 = new Jam_Range(array(10, 30));
     $range2 = new Jam_Range(array(3, 12));
     $range3 = new Jam_Range(array(5, 42));
     $merge = Jam_Range::merge(array($range1, $range2, $range3));
     $this->assertInstanceOf('Jam_Range', $merge);
     $this->assertEquals(array(10, 42), $merge->as_array());
 }