scratch – Blame information for rev

Subversion Repositories:
Rev:
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 }