Code Coverage
 
Lines
Branches
Paths
Functions and Methods
Classes and Traits
Total
91.30% covered (success)
91.30%
21 / 23
92.00% covered (success)
92.00%
23 / 25
35.29% covered (danger)
35.29%
6 / 17
83.33% covered (warning)
83.33%
5 / 6
CRAP
0.00% covered (danger)
0.00%
0 / 1
Location
91.30% covered (success)
91.30%
21 / 23
92.00% covered (success)
92.00%
23 / 25
35.29% covered (danger)
35.29%
6 / 17
83.33% covered (warning)
83.33%
5 / 6
75.96
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
2
 __destruct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 __toString
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 name
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 asHashtag
87.50% covered (warning)
87.50%
14 / 16
88.89% covered (warning)
88.89%
16 / 18
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 1
9.16
 equals
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2namespace Fdsn\Webservices\Event\Structs;
3
4/**
5 * Data structure to handle Location
6 *
7 * @param string $name        Name of location
8 *
9 * @return true, if every check is passed, false otherwise
10 */
11
12class Location {
13    private string $name;
14
15    function __construct(string $name) {
16
17        if( empty($name) )
18            throw new \InvalidArgumentException("Location name invalid");
19
20        $this->name = $name;
21    }
22
23    function __destruct(){ }
24
25    /**
26     * Returns location 
27     *
28     * @return string Location name
29     */
30    function __toString(){ return sprintf("%s", $this->name); }
31
32    /**
33     * fetch location name
34     * @return string location name
35     */
36    public function name():string{ return $this->name; }
37
38    /**
39     * Hashtag Location name
40     * @return string Location name with hashtag for Tweeter/X, Telegram, etc...
41     */
42    public function asHashtag():string{
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
63
64    /**
65     * Compare two objects
66     * @return bool        true are equals, false otherwise
67     */
68    public function equals(self $other):bool{ return $this->name  == $other->name; }
69
70
71} 

Paths

Below are the source code lines that represent each code path as identified by Xdebug. Please note a path is not necessarily coterminous with a line, a line may contain multiple paths and therefore show up more than once. Please also be aware that some paths may include implicit rather than explicit branches, e.g. an if statement always has an else as part of its logical flow even if you didn't write one.

Location->__construct
15    function __construct(string $name) {
16
17        if( empty($name) )
 
18            throw new \InvalidArgumentException("Location name invalid");
15    function __construct(string $name) {
16
17        if( empty($name) )
 
20        $this->name = $name;
21    }
Location->__destruct
23    function __destruct(){ }
Location->__toString
30    function __toString(){ return sprintf("%s", $this->name); }
Location->asHashtag
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
47            if(is_numeric($elem))
 
47            if(is_numeric($elem))
48                $tokens[] = $elem;
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
47            if(is_numeric($elem))
 
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
 
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
47            if(is_numeric($elem))
 
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
 
51            elseif(preg_match('/\(\w+/i', $elem))
 
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
47            if(is_numeric($elem))
 
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
 
51            elseif(preg_match('/\(\w+/i', $elem))
 
53            elseif(preg_match('/\[.*/', $elem))
 
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
47            if(is_numeric($elem))
 
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
 
51            elseif(preg_match('/\(\w+/i', $elem))
 
53            elseif(preg_match('/\[.*/', $elem))
 
55            elseif(preg_match('/.*]/', $elem))
 
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
47            if(is_numeric($elem))
 
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
 
51            elseif(preg_match('/\(\w+/i', $elem))
 
53            elseif(preg_match('/\[.*/', $elem))
 
55            elseif(preg_match('/.*]/', $elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
47            if(is_numeric($elem))
 
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
 
51            elseif(preg_match('/\(\w+/i', $elem))
 
53            elseif(preg_match('/\[.*/', $elem))
 
55            elseif(preg_match('/.*]/', $elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
47            if(is_numeric($elem))
 
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
 
51            elseif(preg_match('/\(\w+/i', $elem))
 
53            elseif(preg_match('/\[.*/', $elem))
 
55            elseif(preg_match('/.*]/', $elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
47            if(is_numeric($elem))
 
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
 
51            elseif(preg_match('/\(\w+/i', $elem))
 
53            elseif(preg_match('/\[.*/', $elem))
 
55            elseif(preg_match('/.*]/', $elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
57            elseif(is_string($elem) && 2 < strlen($elem))
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
43        $tokens = array();
44
45        $elems = preg_split('/ /', $this->name);
46        foreach($elems as $elem){
 
46        foreach($elems as $elem){
47            if(is_numeric($elem))
48                $tokens[] = $elem;
49            elseif(preg_match('/^(E|Se|S|Sw|W|Nw|N|Ne|Km|di)$/i', $elem))
50                $tokens[] = $elem;
51            elseif(preg_match('/\(\w+/i', $elem))
52                $tokens[] = preg_replace('/^\((\w+)/i', '(#$1', $elem);
53            elseif(preg_match('/\[.*/', $elem))
54                $tokens[] = preg_replace('/^\[(\w+)/i', '[#$1', $elem);
55            elseif(preg_match('/.*]/', $elem))
56                $tokens[] = "#" . $elem;
57            elseif(is_string($elem) && 2 < strlen($elem))
58                $tokens[] = '#' . $elem;
59
60        }
61        return implode(' ', $tokens);
62    }
Location->equals
68    public function equals(self $other):bool{ return $this->name  == $other->name; }
Location->name
36    public function name():string{ return $this->name; }