scratch – Blame information for rev
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
115 | office | 1 | <?php |
2 | |||
3 | namespace Tests\FFMpeg\Unit\Coordinate; |
||
4 | |||
5 | use FFMpeg\Coordinate\Dimension; |
||
6 | use Tests\FFMpeg\Unit\TestCase; |
||
7 | use FFMpeg\Coordinate\AspectRatio; |
||
8 | |||
9 | class AspectRatioTest extends TestCase |
||
10 | { |
||
11 | /** |
||
12 | * @dataProvider provideDimensionsAndExpectedratio |
||
13 | */ |
||
14 | public function testFromDimensions($width, $height, $strategy, $expected, $calculatedWidth, $calculatedHeight, $modulus = 2) |
||
15 | { |
||
16 | $ratio = AspectRatio::create(new Dimension($width, $height), $strategy); |
||
17 | $this->assertEquals($expected, $ratio->getValue()); |
||
18 | |||
19 | $this->assertEquals($calculatedHeight, $ratio->calculateHeight(240, $modulus)); |
||
20 | $this->assertEquals($calculatedWidth, $ratio->calculateWidth(320, $modulus)); |
||
21 | } |
||
22 | |||
23 | public function provideDimensionsAndExpectedratio() |
||
24 | { |
||
25 | return array( |
||
26 | //AR_5_4 |
||
27 | array(720, 576, false, 5/4, 400, 192), |
||
28 | array(720, 577, false, 5/4, 400, 192), |
||
29 | array(720, 620, false, 720/620, 372, 206), |
||
30 | array(720, 576, true, 5/4, 400, 192), |
||
31 | //AR_ROTATED_4_5 |
||
32 | array(576, 720, false, 4/5, 256, 300), |
||
33 | array(576, 720, true, 4/5, 256, 300), |
||
34 | //AR_4_3 |
||
35 | array(320, 240, false, 4/3, 426, 180), |
||
36 | array(320, 240, true, 4/3, 426, 180), |
||
37 | //AR_ROTATED_3_4 |
||
38 | array(240, 320, false, 3/4, 240, 320), |
||
39 | array(240, 320, true, 3/4, 240, 320), |
||
40 | //AR_16_9 |
||
41 | array(1920, 1080, false, 16/9, 568, 136), |
||
42 | array(1920, 1080, true, 16/9, 568, 136), |
||
43 | array(1280, 720, false, 16/9, 568, 136), |
||
44 | array(1280, 720, true, 16/9, 568, 136), |
||
45 | array(3840, 2160, false, 16/9, 568, 136), |
||
46 | array(3840, 2160, true, 16/9, 568, 136), |
||
47 | // modulus 4 |
||
48 | array(1920, 1080, false, 16/9, 568, 136, 4), |
||
49 | array(1920, 1080, true, 16/9, 568, 136, 4), |
||
50 | array(1280, 720, false, 16/9, 568, 136, 4), |
||
51 | array(1280, 720, true, 16/9, 568, 136, 4), |
||
52 | array(3840, 2160, false, 16/9, 568, 136, 4), |
||
53 | array(3840, 2160, true, 16/9, 568, 136, 4), |
||
54 | // modulus 16 |
||
55 | array(1920, 1080, false, 16/9, 576, 128, 16), |
||
56 | array(1920, 1080, true, 16/9, 576, 128, 16), |
||
57 | array(1280, 720, false, 16/9, 576, 128, 16), |
||
58 | array(1280, 720, true, 16/9, 576, 128, 16), |
||
59 | array(3840, 2160, false, 16/9, 576, 128, 16), |
||
60 | array(3840, 2160, true, 16/9, 576, 128, 16), |
||
61 | //AR_ROTATED_9_16 |
||
62 | array(1080, 1920, false, 9/16, 180, 426), |
||
63 | array(1080, 1920, true, 9/16, 180, 426), |
||
64 | array(720, 1280, false, 9/16, 180, 426), |
||
65 | array(720, 1280, true, 9/16, 180, 426), |
||
66 | array(2160, 3840, false, 9/16, 180, 426), |
||
67 | array(2160, 3840, true, 9/16, 180, 426), |
||
68 | //AR_3_2 |
||
69 | array(360, 240, false, 3/2, 480, 160), |
||
70 | array(360, 240, true, 3/2, 480, 160), |
||
71 | //AR_ROTATED_2_3 |
||
72 | array(240, 360, false, 2/3, 214, 360), |
||
73 | array(240, 360, true, 2/3, 214, 360), |
||
74 | //AR_5_3 |
||
75 | //AR_ROTATED_3_5 |
||
76 | //AR_1_1 |
||
77 | //AR_1_DOT_85_1 |
||
78 | //AR_ROTATED_1_DOT_85 |
||
79 | //AR_2_DOT_39_1 |
||
80 | //AR_ROTATED_2_DOT_39 |
||
81 | ); |
||
82 | } |
||
83 | } |