Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PatternTest.php
Go to the documentation of this file.
1 <?php
8 
10 
15 class PatternTest extends \PHPUnit\Framework\TestCase
16 {
24  protected function getPattern($patternData)
25  {
26  $pattern = new Pattern();
27  $pattern->setHeaders(array_keys($patternData[0]));
28  $pattern->setRowsSet($patternData);
29  return $pattern;
30  }
31 
37  public function patternDataProvider()
38  {
39  $result = [
40  0 => [
41  [
42  [
43  'id' => '%s',
44  'name' => 'Static',
45  'calculated' => function ($index, $generatedKey) {
46  return $index * 10 + $generatedKey;
47  },
48  ],
49  [
50  'name' => 'xxx %s'
51  ],
52  [
53  'name' => 'yyy %s'
54  ],
55  ],
56  'expectedCount' => 3,
57  'expectedRowsResult' => [
58  ['id' => '1', 'name' => 'Static', 'calculated' => 10],
59  ['id' => '', 'name' => 'xxx 1', 'calculated' => ''],
60  ['id' => '', 'name' => 'yyy 1', 'calculated' => ''],
61  ],
62  ],
63  1 => [
64  [
65  [
66  'id' => '%s',
67  'name' => 'Dynamic %s',
68  'calculated' => 'calc %s',
69  ],
70  ],
71  'expectedCount' => 1,
72  'expectedRowsResult' => [
73  ['id' => '1', 'name' => 'Dynamic 1', 'calculated' => 'calc 1'],
74  ],
75  ],
76  ];
77  return $result;
78  }
79 
92  public function testPattern($patternData, $expectedRowsCount, $expectedRowsResult)
93  {
94  $pattern = $this->getPattern($patternData);
95  $this->assertEquals($pattern->getRowsCount(), $expectedRowsCount);
96  foreach ($expectedRowsResult as $key => $expectedRow) {
97  $this->assertEquals($expectedRow, $pattern->getRow(floor($key / $pattern->getRowsCount()) + 1, $key));
98  }
99  }
100 }
$pattern
Definition: website.php:22
$index
Definition: list.phtml:44
testPattern($patternData, $expectedRowsCount, $expectedRowsResult)
Definition: PatternTest.php:92