[TASK] Streamline phpdoc annotations in EXT:extbase
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Tests / Unit / Property / TypeConverter / IntegerConverterTest.php
1 <?php
2 namespace TYPO3\CMS\Extbase\Tests\Unit\Property\TypeConverter;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
18
19 /**
20 * Test case
21 */
22 class IntegerConverterTest extends UnitTestCase
23 {
24 /**
25 * @var \TYPO3\CMS\Extbase\Property\TypeConverterInterface
26 */
27 protected $converter;
28
29 protected function setUp()
30 {
31 $this->converter = new \TYPO3\CMS\Extbase\Property\TypeConverter\IntegerConverter();
32 }
33
34 /**
35 * @test
36 */
37 public function checkMetadata()
38 {
39 $this->assertEquals(['integer', 'string'], $this->converter->getSupportedSourceTypes(), 'Source types do not match');
40 $this->assertEquals('integer', $this->converter->getSupportedTargetType(), 'Target type does not match');
41 $this->assertEquals(10, $this->converter->getPriority(), 'Priority does not match');
42 }
43
44 /**
45 * @test
46 */
47 public function convertFromShouldCastTheStringToInteger()
48 {
49 $this->assertSame(15, $this->converter->convertFrom('15', 'integer'));
50 }
51
52 /**
53 * @test
54 */
55 public function convertFromDoesNotModifyIntegers()
56 {
57 $source = 123;
58 $this->assertSame($source, $this->converter->convertFrom($source, 'integer'));
59 }
60
61 /**
62 * @test
63 */
64 public function convertFromReturnsNullIfEmptyStringSpecified()
65 {
66 $this->assertNull($this->converter->convertFrom('', 'integer'));
67 }
68
69 /**
70 * @test
71 */
72 public function convertFromReturnsAnErrorIfSpecifiedStringIsNotNumeric()
73 {
74 $this->assertInstanceOf(\TYPO3\CMS\Extbase\Error\Error::class, $this->converter->convertFrom('not numeric', 'integer'));
75 }
76
77 /**
78 * @test
79 */
80 public function canConvertFromShouldReturnTrueForANumericStringSource()
81 {
82 $this->assertTrue($this->converter->canConvertFrom('15', 'integer'));
83 }
84
85 /**
86 * @test
87 */
88 public function canConvertFromShouldReturnTrueForAnIntegerSource()
89 {
90 $this->assertTrue($this->converter->canConvertFrom(123, 'integer'));
91 }
92
93 /**
94 * @test
95 */
96 public function canConvertFromShouldReturnTrueForAnEmptyValue()
97 {
98 $this->assertTrue($this->converter->canConvertFrom('', 'integer'));
99 }
100
101 /**
102 * @test
103 */
104 public function canConvertFromShouldReturnTrueForANullValue()
105 {
106 $this->assertTrue($this->converter->canConvertFrom(null, 'integer'));
107 }
108
109 /**
110 * @test
111 */
112 public function getSourceChildPropertiesToBeConvertedShouldReturnEmptyArray()
113 {
114 $this->assertEquals([], $this->converter->getSourceChildPropertiesToBeConverted('myString'));
115 }
116 }