Issues (3)

tests/ConverterTest.php (1 issue)

Labels
Severity
1
<?php
2
3
declare(strict_types=1);
4
5
namespace MeepozZza\tests;
6
7
use MeepozZza\CyrillicCurrencyConverter\Converter;
8
use PHPUnit\Framework\Attributes\Test;
0 ignored issues
show
The type PHPUnit\Framework\Attributes\Test was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
9
10
class ConverterTest extends \PHPUnit\Framework\TestCase
11
{
12
    #[Test]
13
    public function basic_numbers()
14
    {
15
        $converter = new Converter(true);
16
17
        $this->assertEquals('ноль рублей 00 копеек', $converter->convertNumberToString(0));
18
        $this->assertEquals('один рубль 00 копеек', $converter->convertNumberToString(1));
19
        $this->assertEquals('два рубля 00 копеек', $converter->convertNumberToString(2));
20
        $this->assertEquals('пять рублей 00 копеек', $converter->convertNumberToString(5));
21
    }
22
23
    #[Test]
24
    public function tens_and_hundreds()
25
    {
26
        $converter = new Converter(true);
27
28
        $this->assertEquals('десять рублей 00 копеек', $converter->convertNumberToString(10));
29
        $this->assertEquals('двенадцать рублей 00 копеек', $converter->convertNumberToString(12));
30
        $this->assertEquals('сто рублей 00 копеек', $converter->convertNumberToString(100));
31
        $this->assertEquals('двести тридцать четыре рубля 00 копеек', $converter->convertNumberToString(234));
32
    }
33
34
    #[Test]
35
    public function thousands()
36
    {
37
        $converter = new Converter(true);
38
39
        $this->assertEquals('одна тысяча рублей 00 копеек', $converter->convertNumberToString(1000));
40
        $this->assertEquals('две тысячи рублей 00 копеек', $converter->convertNumberToString(2000));
41
        $this->assertEquals('пять тысяч рублей 00 копеек', $converter->convertNumberToString(5000));
42
        $this->assertEquals('сто тысяч рублей 00 копеек', $converter->convertNumberToString(100000));
43
        $this->assertEquals('шестьсот тысяч рублей 00 копеек', $converter->convertNumberToString(600000));
44
    }
45
46
    #[Test]
47
    public function millions()
48
    {
49
        $converter = new Converter(true);
50
51
        $this->assertEquals('один миллион рублей 00 копеек', $converter->convertNumberToString(1000000));
52
        $this->assertEquals('два миллиона рублей 00 копеек', $converter->convertNumberToString(2000000));
53
        $this->assertEquals('пять миллионов рублей 00 копеек', $converter->convertNumberToString(5000000));
54
    }
55
56
    #[Test]
57
    public function fractions()
58
    {
59
        $converter = new Converter(true);
60
61
        $this->assertEquals('ноль рублей 99 копеек', $converter->convertNumberToString(0.99));
62
        $this->assertEquals('один рубль 01 копейка', $converter->convertNumberToString(1.01));
63
        $this->assertEquals('один рубль 02 копейки', $converter->convertNumberToString(1.02));
64
        $this->assertEquals('два рубля 50 копеек', $converter->convertNumberToString(2.50));
65
        $this->assertEquals('сто рублей 99 копеек', $converter->convertNumberToString(100.99));
66
    }
67
68
    #[Test]
69
    public function edge_cases()
70
    {
71
        $converter = new Converter(true);
72
73
        $this->assertEquals('один рубль 00 копеек', $converter->convertNumberToString(1.00));
74
        $this->assertEquals('одна тысяча один рубль 00 копеек', $converter->convertNumberToString(1001));
75
        $this->assertEquals('две тысячи два рубля 00 копеек', $converter->convertNumberToString(2002));
76
        $this->assertEquals('один миллион одна тысяча один рубль 00 копеек', $converter->convertNumberToString(1001001));
77
    }
78
79
    #[Test]
80
    public function large_numbers()
81
    {
82
        $converter = new Converter(true);
83
84
        $this->assertEquals(
85
            'один миллиард двести тридцать четыре миллиона пятьсот шестьдесят семь тысяч восемьсот девяносто рублей 12 копеек',
86
            $converter->convertNumberToString(1234567890.12)
87
        );
88
    }
89
}
90