#!/usr/bin/env php processRowSpanTest(array( array( 'group1' => array('value' => 'A'), 'col1' => array('value' => 100), 'col2' => array('value' => 200) ), array( 'group1' => array('value' => 'B'), 'col1' => array('value' => 150), 'col2' => array('value' => 250) ) ), array('group1'))) && p('0:group1:rowSpan,1:group1:rowSpan,0:col1:rowSpan,1:col1:rowSpan') && e('1,1,1,1'); // 步骤1:基本分组功能测试 r($pivotTest->processRowSpanTest(array( array( 'group1' => array('value' => 'A'), 'group2' => array('value' => 'X'), 'col1' => array('value' => 100) ), array( 'group1' => array('value' => 'A'), 'group2' => array('value' => 'Y'), 'col1' => array('value' => 150) ), array( 'group1' => array('value' => 'B'), 'group2' => array('value' => 'X'), 'col1' => array('value' => 200) ) ), array('group1', 'group2'))) && p('0:group1:rowSpan,1:group1:rowSpan,2:group1:rowSpan,0:group2:rowSpan,1:group2:rowSpan,2:group2:rowSpan') && e('2,2,1,1,1,1'); // 步骤2:多层分组测试 r($pivotTest->processRowSpanTest(array( array( 'group1' => array('value' => 'A'), 'col1' => array('value' => array(100, 150, 200)), 'col2' => array('value' => 300) ), array( 'group1' => array('value' => 'B'), 'col1' => array('value' => 400), 'col2' => array('value' => 500) ) ), array('group1'))) && p('0:col1:rowSpan,0:col2:rowSpan,1:col1:rowSpan,1:col2:rowSpan') && e('1,3,3,3'); // 步骤3:数组值处理测试 r($pivotTest->processRowSpanTest(array( array( 'group1' => array('value' => 'A'), 'col1' => array('value' => 100) ), array( 'group1' => array('value' => 'A'), 'col1' => array('value' => 150) ), array( 'group1' => array('value' => 'A'), 'col1' => array('value' => 200) ) ), array('group1'))) && p('0:group1:rowSpan,1:group1:rowSpan,2:group1:rowSpan') && e('3,3,3'); // 步骤4:相同分组值合并测试 r($pivotTest->processRowSpanTest(array( array( 'group1' => array('value' => '$total$'), 'col1' => array('value' => 100) ), array( 'group1' => array('value' => '$total$'), 'col1' => array('value' => 150) ) ), array('group1'))) && p('0:group1:rowSpan,1:group1:rowSpan') && e('1,1'); // 步骤5:特殊值$total$处理测试 r($pivotTest->processRowSpanTest(array(), array('group1'))) && p() && e('0'); // 步骤6:边界值测试-空数组 r($pivotTest->processRowSpanTest(array( array( 'col1' => array('value' => 100), 'col2' => array('value' => 200) ), array( 'col1' => array('value' => 150), 'col2' => array('value' => 250) ) ), array())) && p('0:col1:rowSpan,1:col1:rowSpan,0:col2:rowSpan,1:col2:rowSpan') && e('1,1,1,1'); // 步骤7:边界值测试-空分组