From 810ef845a27ed0d8e7b4e1ae6e65dfb398966055 Mon Sep 17 00:00:00 2001 From: zhouxin Date: Sat, 23 Dec 2023 11:02:10 +0800 Subject: [PATCH] * Add unit test to metricModel-getPieEchartsOptions. --- module/metric/test/calc.class.php | 17 ++++++ .../test/model/getpieechartsoptions.php | 61 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100755 module/metric/test/model/getpieechartsoptions.php diff --git a/module/metric/test/calc.class.php b/module/metric/test/calc.class.php index 3dd453a7e6..85b20896c7 100644 --- a/module/metric/test/calc.class.php +++ b/module/metric/test/calc.class.php @@ -418,6 +418,23 @@ class metricTest return $this->objectModel->getCalcInstanceList(); } + /** + * Test getPieEchartsOptions. + * + * @param array $header + * @param array $data + * @param string $print + * @access public + * @return mixed + */ + public function getPieEchartsOptions($header, $data, $print = 'all') + { + $options = $this->objectModel->getPieEchartsOptions($header, $data); + if($print == 'all') return $options; + if($print == 'series') return $options['series']; + if($print == 'data') return $options['series'][0]['data']; + } + /** * Test getEchartXY. * diff --git a/module/metric/test/model/getpieechartsoptions.php b/module/metric/test/model/getpieechartsoptions.php new file mode 100755 index 0000000000..7fe32365aa --- /dev/null +++ b/module/metric/test/model/getpieechartsoptions.php @@ -0,0 +1,61 @@ +#!/usr/bin/env php + 'value', 'title' => '数值', 'width' => 96); +$header1[] = array('name' => 'calcTime', 'title' => '采集时间', 'width' => 128); + +$header2 = array(); +$header2[] = array('name' => 'scope', 'title' => '产品名称', 'width' => 160); +$header2[] = array('name' => 'date', 'title' => '日期', 'width' => 96); +$header2[] = array('name' => 'value', 'title' => '数值', 'width' => 96); +$header2[] = array('name' => 'calcTime', 'title' => '采集时间', 'width' => 128); + +$header3 = array(); +$header3[] = array('name' => 'scope', 'title' => '产品名称', 'width' => 160); +$header3[] = array('name' => 'value', 'title' => '数值', 'width' => 96); +$header3[] = array('name' => 'calcTime', 'title' => '采集时间', 'width' => 128); + +$header4 = array(); + +$data1 = array(); +$data1[] = (object)array('calcTime' => '2023-1-1', 'value' => '1'); +$data1[] = (object)array('calcTime' => '2023-1-2', 'value' => '2'); +$data1[] = (object)array('calcTime' => '2023-1-3', 'value' => '3'); + +$data2 = array(); +$data2[] = (object)array('scope' => 'project', 'value' => '1'); +$data2[] = (object)array('scope' => 'project', 'value' => '2'); +$data2[] = (object)array('scope' => 'project', 'value' => '3'); + +$data3 = array(); +$data2[] = (object)array('scope' => 'product', 'value' => '1'); +$data2[] = (object)array('scope' => 'product', 'value' => '2'); +$data2[] = (object)array('scope' => 'product', 'value' => '3'); + +r($metric->getPieEchartsOptions($header1, $data1)) && p('legend:orient,left,type') && e('vertical,left,scroll'); // 测试数据集1的legend +r($metric->getPieEchartsOptions($header2, $data2)) && p('legend:orient,left,type') && e('vertical,left,scroll'); // 测试数据集2的legend +r($metric->getPieEchartsOptions($header3, $data3)) && p('legend:orient,left,type') && e('vertical,left,scroll'); // 测试数据集3的legend +r($metric->getPieEchartsOptions($header4, $data3)) && p('legend:orient,left,type') && e('vertical,left,scroll'); // 测试数据集4的legend + +r($metric->getPieEchartsOptions($header1, $data1, 'series')) && p('0:type') && e('pie'); // 测试数据集1的series +r($metric->getPieEchartsOptions($header2, $data2, 'series')) && p('0:type') && e('pie'); // 测试数据集2的series +r($metric->getPieEchartsOptions($header3, $data3, 'series')) && p('0:type') && e('pie'); // 测试数据集3的series +r($metric->getPieEchartsOptions($header4, $data3, 'series')) && p('0:type') && e('pie'); // 测试数据集4的series + +r($metric->getPieEchartsOptions($header1, $data1, 'data')) && p('0:name,value') && e('2023-1-1,1'); // 测试数据集1的series的第1条data +r($metric->getPieEchartsOptions($header1, $data1, 'data')) && p('1:name,value') && e('2023-1-2,2'); // 测试数据集1的series的第2条data +r($metric->getPieEchartsOptions($header1, $data1, 'data')) && p('2:name,value') && e('2023-1-3,3'); // 测试数据集1的series的第3条data +r($metric->getPieEchartsOptions($header3, $data3, 'data')) && p('') && e('0'); // 测试数据集3的series.data +r($metric->getPieEchartsOptions($header4, $data3, 'data')) && p('') && e('0'); // 测试数据集4的series.data