csv_minute_cost_calc = new CsvMinuteCostCalc(); // Replace CsvMinuteCostCalc with the actual class name $this->csv_minute_cost_calc->partner_organization = 'PartnerOrg'; // Set up the partner organization $this->csv_minute_cost_calc->price_partner = [ 'high' => 100, 'normal' => 50, 'low' => 25, '0' => 0 ]; $this->csv_minute_cost_calc->price_client = [ 'high' => 200, 'normal' => 100, 'low' => 50, '0' => 0 ]; } public function testSelectCorrectCostForPartnerHighPriority() { $result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/PartnerOrg', 'Priority/critical'); $this->assertEquals(100, $result); } public function testSelectCorrectCostForPartnerMediumPriority() { $result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/PartnerOrg', 'Priority/medium'); $this->assertEquals(50, $result); } public function testSelectCorrectCostForClientHighPriority() { $result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/Client', 'Priority/critical'); $this->assertEquals(200, $result); } public function testSelectCorrectCostForClientLowPriority() { $result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/Client', 'Priority/low'); $this->assertEquals(50, $result); } public function testSelectCorrectCostWithUnknownPriority() { $result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/Client', 'Priority/unknown'); $this->assertEquals(0, $result); } public function testSelectCorrectCostForPartnerLowPriority() { $result = $this->csv_minute_cost_calc->select_correct_cost('RequestedBy/PartnerOrg', 'Priority/low'); $this->assertEquals(25, $result); } public function testSelectCorrectCostWithExceptionHandling() { $result = $this->csv_minute_cost_calc->select_correct_cost('', ''); $this->assertEquals(0, $result); // Assuming default is 0 } }