1. Go to this page and download the library: Download php-kitchen/code-specs library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
php-kitchen / code-specs example snippets
namespace Specs\Unit;
use PHPKitchen\CodeSpecs\Base\Specification;
use PHPKitchen\CodeSpecs\Actor\I;
/**
* Specification of {@link IncomeCalculator}
*
* @author Dima Kolodko <[email protected]>
*/
class IncomeCalculatorTest extends Specification {
private const EXPECTED_TAX_FOR_FIRST_LEVEL_TAX_RULE = 4500;
private const EXPECTED_TAX_FOR_SECOND_LEVEL_TAX_RULE = 7200;
private const EXPECTED_TAX_FOR_THIRD_LEVEL_TAX_RULE = 30000;
private const INCOME_AFTER_APPLYING_FIRST_LEVEL_TAX_RULE = 300000;
/**
* @test
*/
public function calculateTaxBehavior() {
$clientsPayments = []; // dummy variable, just for example
$hoursSpentWorking = 160; // dummy variable, just for example
$service = new IncomeCalculator($clientsPayments, $hoursSpentWorking);
I::describe('income tax calculations');
I::expect('for income less that 50 000 calculator use 10% tax rule', function () use ($service) {
I::lookAt('first level income tax')
->seeNumber($service->calculateTax())
->isNotEmpty()
->isEqualTo(self::EXPECTED_TAX_FOR_FIRST_LEVEL_TAX_RULE);
});
I::expect('for income between 50 000 and 100 000 calculator use 12% tax rule', function () use ($service) {
I::lookAt('second level income tax')
->seeNumber($service->calculateTax())
->isNotEmpty()
->isEqualTo(self::EXPECTED_TAX_FOR_SECOND_LEVEL_TAX_RULE);
});
I::expect('for income more than 100 000 calculator use 20% tax rule', function () use ($service) {
I::lookAt('second level income tax')
->seeNumber($service->calculateTax())
->isNotEmpty()
->isEqualTo(self::EXPECTED_TAX_FOR_THIRD_LEVEL_TAX_RULE);
});
}
/**
* @test
*/
public function calculateWithTaxBehavior() {
$clientsPayments = []; // dummy variable, just for example
$hoursSpentWorking = 160; // dummy variable, just for example
$service = new IncomeCalculator($clientsPayments, $hoursSpentWorking);
I::describe('Net income calculation');
I::expect('calculator calculates income with tax using 10% tax rule for income less that 50 000');
I::lookAt('income tax')
->seeNumber($service->calculateWithTax())
->isNotEmpty()
->isEqualTo(self::INCOME_AFTER_APPLYING_FIRST_LEVEL_TAX_RULE);
}
}
use PHPKitchen\CodeSpecs\Base\Specification;
class YourTest extends Specification {
/**
* @test
*/
public function myMethodBehavior() {
I::lookAt('my dummy variable')
->seeBool(true)
->isFalse();
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.