public function run() { $pt = new Point(0, 0); $rect = new Rectangle(20, 10, 50, -20); $tri = new Triangle(50, -20, 70, 0, 40, 30); $circ = new Circle(80, 20, 50); $shapes = array($pt, $rect, $tri, $circ); $bbox = Shape::computeBoundingBox($shapes); $this->check($bbox, array(0, 70, 130, -30)); $shapes = array(); $bbox = Shape::computeBoundingBox($shapes); $this->check($bbox, array()); $shapes = array($pt); $bbox = Shape::computeBoundingBox($shapes); $this->check($bbox, array(0, 0, 0, 0)); $shapes = array($rect, $rect, $rect, $rect); $bbox = Shape::computeBoundingBox($shapes); $this->check($bbox, $rect->getCoords()); $shapes = array($tri); $bbox = Shape::computeBoundingBox($shapes); $this->check($bbox, array(40, 30, 70, -20)); }