1<?php 2 3namespace dokuwiki\plugin\struct\test; 4 5 6class AggregationFilterTest extends StructTest 7{ 8 protected $items = [ 9 [['green', 'yellow'], 'car', 'audi', 'a80'], 10 [[], 'car', 'audi', 'a4'], 11 [['red', 'black'], 'car', 'bmw', 'i3'], 12 [['green', 'blue'], 'laptop', 'apple', 'pro 16'], 13 [['blue', 'gray'], 'car', 'bmw', 'mini'], 14 [['red', 'black'], 'car', 'bmw', 'z1'], 15 [['red', 'blue'], 'laptop', 'apple', 'air'], 16 [['black', 'red'], 'laptop', 'apple', 'm1'], 17 [[], 'laptop', 'dell', 'xps'], 18 [['black', 'green'], '', 'audi', 'quattro'], 19 [['blue', 'yellow'], '', 'dell', 'inspiron'], 20 [['gray', 'yellow'], 'laptop', 'dell', 'latitude'], 21 ]; 22 23 public function testGetAllColumnValues() 24 { 25 $result = $this->createAggregationResult($this->items); 26 $filter = new mock\AggregationFilter(); 27 $values = $filter->getAllColumnValues($result); 28 29 $this->assertCount(4, $values); 30 31 // we expect value => displayValue pairs, sorted by displayValue 32 $this->assertSame( 33 [ 34 'black' => 'black', 35 'blue' => 'blue', 36 'gray' => 'gray', 37 'green' => 'green', 38 'red' => 'red', 39 'yellow' => 'yellow' 40 ], 41 $values[0]['values'] 42 ); 43 44 $this->assertEquals( 45 'Label 1', 46 $values[0]['label'] 47 ); 48 49 $this->assertSame( 50 [ 51 'car' => 'car', 52 'laptop' => 'laptop' 53 ], 54 $values[1]['values'] 55 ); 56 57 $this->assertEquals( 58 'Label 2', 59 $values[1]['label'] 60 ); 61 } 62} 63