Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
Doughnut
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
3 / 3
5
100.00% covered (success)
100.00%
1 / 1
 getHoleSize
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setHoleSize
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
3
 getHashCode
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2/**
3 * This file is part of PHPPresentation - A pure PHP library for reading and writing
4 * presentations documents.
5 *
6 * PHPPresentation is free software distributed under the terms of the GNU Lesser
7 * General Public License version 3 as published by the Free Software Foundation.
8 *
9 * For the full copyright and license information, please read the LICENSE
10 * file that was distributed with this source code. For the full list of
11 * contributors, visit https://github.com/PHPOffice/PHPPresentation/contributors.
12 *
13 * @see        https://github.com/PHPOffice/PHPPresentation
14 *
15 * @license     http://www.gnu.org/licenses/lgpl.txt LGPL version 3
16 */
17
18declare(strict_types=1);
19
20namespace PhpOffice\PhpPresentation\Shape\Chart\Type;
21
22use PhpOffice\PhpPresentation\ComparableInterface;
23
24/**
25 * self.
26 */
27class Doughnut extends AbstractTypePie implements ComparableInterface
28{
29    /**
30     * Hole Size.
31     *
32     * @var int
33     */
34    protected $holeSize = 50;
35
36    /**
37     * @return int
38     */
39    public function getHoleSize()
40    {
41        return $this->holeSize;
42    }
43
44    /**
45     * @param int $holeSize
46     *
47     * @return Doughnut
48     *
49     * @see https://msdn.microsoft.com/en-us/library/documentformat.openxml.drawing.charts.holesize(v=office.14).aspx
50     */
51    public function setHoleSize($holeSize = 50)
52    {
53        if ($holeSize < 10) {
54            $holeSize = 10;
55        }
56        if ($holeSize > 90) {
57            $holeSize = 90;
58        }
59        $this->holeSize = $holeSize;
60
61        return $this;
62    }
63
64    /**
65     * Get hash code.
66     *
67     * @return string Hash code
68     */
69    public function getHashCode(): string
70    {
71        return md5(parent::getHashCode() . __CLASS__);
72    }
73}