Skip to content

Instantly share code, notes, and snippets.

View vanbrabantf's full-sized avatar
😃

Frederick Vanbrabant vanbrabantf

😃
View GitHub Profile
<?php
declare(strict_types=1);
final class CustomerName
{
private $firstName;
private $lastName;
public function __construct(string $firstName, string $lastName)
<?php
declare(strict_types=1);
namespace Tests\Car\Rent;
use Car\Rent\DateRangePriceCalculator;
class DateRangePriceCalculatorTest extends TestCase
{
/**
<?php
final class DateRangePriceCalculator
{
public function calculate(int $days, int $pricePerDay): int
{
return $days * $pricePerDay;
}
}
<?php
public function calculate(CarRental $carRental): int
{
$startDate = $carRental->getStartDate();
$endDate = $carRental->getEndDate();
$days = $startDate->diff($endDate);
$dayPrice = $this->dateRangePriceCalculator->calculate(
$days,
$carRental->getPricePerDay()
<?php
declare(strict_types=1);
namespace Car\Rent;
final class DayDistanceCalculator
{
public function calculate(int $dayPrice, int $distancePrice): int
{
return $dayPrice + $distancePrice;
<?php
declare(strict_types=1);
namespace Car\Rent;
final class DistancePriceCalculator
{
public function calculate(int $distance, int $pricePerKm): int
{
return $distance * $pricePerKm;
<?php
declare(strict_types=1);
namespace Car\Rent;
final class DateRangePriceCalculator
{
public function calculate(int $days, int $pricePerDay) :int
{
return $days * $pricePerDay;
<?php
declare(strict_types=1);
namespace Car\Rent;
final class PriceCalculator
{
private $dateRangePriceCalculator;
private $distancePriceCalculator;
private $dayDistanceCalculator;
<?php
declare(strict_types=1);
namespace Tests\Car\Rent;
class PriceCalculatorTest extends TestCase
{
/**
* @test
<?php
declare(strict_types=1);
namespace Car\Rent;
final class PriceCalculator
{
public function calculate(CarRental $carRental): int
{