Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SortTest.php
Go to the documentation of this file.
1 <?php
7 
9 
15 class SortTest extends \PHPUnit\Framework\TestCase
16 {
23  public function testSorting(array $arrayData, array $expected, $message)
24  {
25  $sorter = new Sort();
26 
27  $result = $sorter->sort($arrayData);
28 
29  static::assertEquals($expected, array_keys($result), $message);
30  }
31 
37  public function dataProviderTestSorting()
38  {
39  return [
40  [
41  'arrayData' => [
42  'name-1' => [ // 2
43  'after' => 'name-3',
44  'processor' => new \stdClass()
45  ],
46  'name-2' => [ // 0
47  'processor' => new \stdClass()
48  ],
49  'name-3' => [ // 1
50  'after' => 'name-2',
51  'processor' => new \stdClass()
52  ],
53  ],
54  'expected' => [
55  'name-2', 'name-3', 'name-1'
56  ],
57  'message' => 'variation-1',
58  ],
59  [
60  'arrayData' => [
61  'name-1' => [ // 3
62  'after' => 'name-6',
63  'processor' => new \stdClass()
64  ],
65  'name-2' => [ // 1
66  'processor' => new \stdClass()
67  ],
68  'name-3' => [ // 6
69  'after' => 'name-5',
70  'processor' => new \stdClass()
71  ],
72  'name-4' => [ // 4
73  'after' => 'name-1',
74  'processor' => new \stdClass()
75  ],
76  'name-5' => [ // 5
77  'after' => 'name-4',
78  'processor' => new \stdClass()
79  ],
80  'name-6' => [ // 2
81  'after' => 'name-2',
82  'processor' => new \stdClass()
83  ],
84  ],
85  'expected' => [
86  'name-2', 'name-6', 'name-1', 'name-4', 'name-5', 'name-3'
87  ],
88  'message' => 'variation-2',
89  ],
90  [
91  'arrayData' => [
92  'name-1' => [ // 3
93  'after' => 'name-6',
94  'processor' => new \stdClass()
95  ],
96  'name-3' => [ // 6
97  'after' => 'name-5',
98  'processor' => new \stdClass()
99  ],
100  'name-4' => [ // 4
101  'after' => 'name-1',
102  'processor' => new \stdClass()
103  ],
104  'name-5' => [ // 5
105  'after' => 'name-4',
106  'processor' => new \stdClass()
107  ],
108  'name-6' => [ // 2
109  'after' => 'name-2',
110  'processor' => new \stdClass()
111  ],
112  'name-2' => [ // 1
113  'processor' => new \stdClass()
114  ],
115  ],
116  'expected' => [
117  'name-2', 'name-6', 'name-1', 'name-4', 'name-5', 'name-3'
118  ],
119  'message' => 'variation-3',
120  ],
121  [
122  'arrayData' => [
123  'name-1' => [ // 3
124  'after' => 'name-6',
125  'processor' => new \stdClass()
126  ],
127  'name-2' => [ // 1
128  'processor' => new \stdClass()
129  ],
130  'name-3' => [ // 6
131  'after' => 'name-5',
132  'processor' => new \stdClass()
133  ],
134  'name-4' => [ // 4
135  'after' => 'name-1',
136  'processor' => new \stdClass()
137  ],
138  'name-5' => [ // 5
139  'after' => 'name-4',
140  'processor' => new \stdClass()
141  ],
142  'name-6' => [ // 2
143  'after' => 'name-2',
144  'processor' => new \stdClass()
145  ],
146  'name-7' => [ // end
147  'processor' => new \stdClass()
148  ],
149  'name-8' => [ // end
150  'processor' => new \stdClass()
151  ],
152  ],
153  'expected' => [
154  'name-2', 'name-6', 'name-1', 'name-4', 'name-5', 'name-3', 'name-7', 'name-8'
155  ],
156  'message' => 'variation-4',
157  ],
158  [
159  'arrayData' => [
160  'name-1' => [ // xxx
161  'after' => 'name-6',
162  'processor' => new \stdClass()
163  ],
164  'name-2' => [ // 1
165  'processor' => new \stdClass()
166  ],
167  'name-3' => [ // xxx
168  'after' => 'name-XXX',
169  'processor' => new \stdClass()
170  ]
171  ],
172  'expected' => ['name-2'],
173  'message' => 'variation-5',
174  ],
175  [
176  'arrayData' => [
177  'name-1' => [ // xxx
178  'after' => 'name-3',
179  'processor' => new \stdClass()
180  ],
181  'name-2' => [ // xxx
182  'after' => 'name-1',
183  'processor' => new \stdClass()
184  ],
185  'name-3' => [ // xxx
186  'after' => 'name-2',
187  'processor' => new \stdClass()
188  ]
189  ],
190  'expected' => [],
191  'message' => 'variation-6',
192  ],
193  ];
194  }
195 }
testSorting(array $arrayData, array $expected, $message)
Definition: SortTest.php:23
$message