Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
37.50% covered (danger)
37.50%
3 / 8
60.00% covered (warning)
60.00%
3 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
Calculator
37.50% covered (danger)
37.50%
3 / 8
60.00% covered (warning)
60.00%
3 / 5
11.10
0.00% covered (danger)
0.00%
0 / 1
 add
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 multiply
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 sum
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 squareRoot
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 expensiveBackgroundCalculation
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2namespace Apie\IntegrationTests\Apie\TypeDemo\Actions;
3
4use Apie\Core\Attributes\Context;
5use Apie\Core\Attributes\Route;
6use Apie\Core\BackgroundProcess\SequentialBackgroundProcess;
7use Apie\Core\Lists\ItemHashmap;
8use Apie\Fixtures\BackgroundProcess\SequentialExample;
9
10final class Calculator
11{
12    #[Route('/calc/{numberOne}/plus/{numberTwo}')]
13    public function add(#[Context()] float $numberOne, #[Context()] float $numberTwo): float
14    {
15        return $numberOne + $numberTwo;
16    }
17
18    #[Route('/calc/{numberOne}/times/{numberTwo}')]
19    public function multiply(#[Context()] float $numberOne, #[Context()] float $numberTwo): float
20    {
21        return $numberOne * $numberTwo;
22    }
23
24    public function sum(float... $numbers): float
25    {
26        return array_sum($numbers);
27    }
28
29    public function squareRoot(float $numberOne): float
30    {
31        return sqrt($numberOne);
32    }
33
34    public function expensiveBackgroundCalculation(int $payload): SequentialBackgroundProcess
35    {
36        return new SequentialBackgroundProcess(
37            new SequentialExample(),
38            new ItemHashmap(['payload' => $payload])
39        );
40    }
41}