/** * 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'); }
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'); }
/** * @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()); }