Test Failed
Push — master ( 6ef0e3...982641 )
by Carsten
02:44
created

AddressesAwareTrait::setAddresses()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 4

Importance

Changes 0
Metric Value
dl 0
loc 16
ccs 8
cts 8
cp 1
rs 9.7333
c 0
b 0
f 0
cc 4
nc 4
nop 1
crap 4
1
<?php
2
namespace Germania\Addresses;
3
4
trait AddressesAwareTrait
5
{
6
	use AddressesProviderTrait;
7
8
9
	/**
10
	 * @inheritDoc
11
	 */
12 10
	public function setAddresses(iterable $addresses) : self
13
	{
14
15 10
		if ($addresses instanceOf AddressesCollectionInterface):
16 4
			$this->addresses = $addresses;
17
		
18 6
		elseif (is_array($addresses)):
19 2
			$this->addresses = new AddressesCollection( $addresses );
20
21 4
		elseif ($addresses instanceOf \Traversable):
22 4
			$this->addresses = new AddressesCollection( iterator_to_array($addresses ));			
23
24
		endif; 
25
26 10
		return $this;
27
	}
28
}