Ejemplo n.º 1
0
 public function build($mapWithGroupedValues, array $years)
 {
     $this->years($years);
     $this->xml->addChartAttribute("showValues", "0");
     if (is_array($mapWithGroupedValues)) {
         //if($mapWithGroupedValues[0]->containsKey(0) && $mapWithGroupedValues[1]->containsKey(0)){
         $this->setTitleToMultigroupsValuesWhenOneOfThenHasNoValue($mapWithGroupedValues);
         $this->setMultigroupsValues($mapWithGroupedValues);
         $this->setMultiChartValues($years, $mapWithGroupedValues);
         //}
     } else {
         $title = $mapWithGroupedValues->get(0)->offsetGet(0)->getSubgroupName();
         $this->xml->setChartTitle($title);
         $this->setValues($years, $mapWithGroupedValues);
     }
     $xml = $this->xml->buildXml($this->path . "chart_" . rand(1, 28304908) . ".xml");
     return $xml;
 }
<?php

require_once '../asserts/Asserts.php';
require_once '../../core/Charts/XmlCharts/XmlChart.php';
require_once '../../core/Charts/XmlCharts/MultiSerie/XmlMultiSeries.php';
require_once '../../core/Charts/XmlCharts/MultiSerie/XmlMultiSeriesCombinationColumnLine.php';
$xmlExpected = xml();
$xmlTest = "test";
$xml = new XmlMultiSeriesCombinationColumnLine();
$xml->addChartAttribute("caption", "Product Sales and Downloads");
$xml->addChartAttribute("showValues", "0");
$xml->setPYAxisName("Sales");
$xml->setSYAxisName("Total Downloads");
$xml->addCategory("Jan");
$xml->addCategory("Fev");
$xml->addCategory("Mar");
$xml->addCategory("Abr");
$xml->newDataset("2006");
$xml->setValues(new ArrayObject(array("27400", "29800", "25800", "20580")), "2006");
$xml->setValues(new ArrayObject(array("10000", "11500", "12500", "13000")), "2005");
$xml->setValues(new ArrayObject(array("12000", "13000", "11000", "9500")), "2004");
$xml->setLineToAnAxis("2005", "S");
$xml->setLineToAnAxis("2004", "S");
$xmlFile = "text.xml";
assertEquals(formatGreaterAndSmallerSymbols($xml->buildXml($xmlFile)), $xmlExpected);
?>

<?
    function xml(){
        return formatGreaterAndSmallerSymbols(chart());   
    }