Test Setup Failed
Branch botk5 (3fe4ef)
by Enrico
02:33
created

FactsFactoryTest::testRemoveEmpty()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 25
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 20
nc 1
nop 0
1
<?php
2
3
class FactsFactoryTest extends PHPUnit_Framework_TestCase
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
4
{	
0 ignored issues
show
Coding Style introduced by
The opening class brace should be on a newline by itself.
Loading history...
5
6
	public function testMakeLocalBusiness()
7
	{
8
		$profile = array(
9
			'model'			=> 'LocalBusiness',
10
			'options'		=> array(
11
				'base' => array( 'default'=> 'urn:test')
12
			),
13
			'datamapper'	=> function(array $rawdata){
14
				$data = array();
15
				$data['id'] = $rawdata[0];
16
				$data['businessName'][] = $rawdata[2] . ' ' . $rawdata[1];
17
				$data['businessName'][] = $rawdata[2];
18
				$data['vatID'] = $rawdata[3];
19
				$data['email'] = $rawdata[4];
20
				$data['addressLocality'] = $rawdata[5];
21
				$data['postalCode'] = $rawdata[7];
22
				$data['addressRegion'] = $rawdata[8];
23
				$data['streetAddress'] = $rawdata[9] . ' ' . $rawdata[10] . ', ' . $rawdata[11];
24
				$data['long'] = $rawdata[14];			
25
				$data['lat'] = $rawdata[15];
26
				
27
				return $data;
28
			},
29
		);
30
		$rawdata = array(
31
			'10042650',
32
			'ERBORISTERIA I PRATI DI GIOVANNA MONAMI',
33
			'',
34
			'01209991007',
35
			'',
36
			'ROMA',
37
			'ROMA',
38
			'00195',
39
			'RM',
40
			'VIA',
41
			'ANTONIO MORDINI',
42
			'3',
43
			'058091',
44
			'0580912017145',
45
			'12.464163',
46
			'41.914001'
47
		);
48
49
		$factsFactory = new \BOTK\FactsFactory($profile);
50
		$facts = $factsFactory->factualize($rawdata);
51
		$structuredData = $facts->asArray();
52
		
53
		$this->assertInstanceOf('\BOTK\Model\LocalBusiness', $facts);
54
		$this->assertEquals(1, count($structuredData['businessName']));
55
		$this->assertEquals($structuredData['vatID'], '01209991007');
56
		$this->assertEquals($structuredData['id'], '10042650');
57
		$this->assertEquals($structuredData['long'], '12.464163');
58
		$this->assertEquals($structuredData['streetAddress'], 'VIA ANTONIO MORDINI, 3');
59
	}
60
61
	public function testRemoveEmpty()
62
	{
63
		$profile = array(
64
			'model'			=> 'LocalBusiness',
65
			'options'		=> array(),
66
			'datamapper'	=> function(array $rawdata){return array();},
0 ignored issues
show
Unused Code introduced by
The parameter $rawdata is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
67
		);
68
		$data = array(
69
			'one'	=> 'notempty',
70
			'two'	=> null,
71
			'three'	=> false,
72
			'four'	=> 0,
73
			'five'	=> array(),
74
			'seven'	=> array(''),
75
			'eight'	=> array('notempy'),
76
			'nine'	=> array('notempy','',''),
77
		);
78
		$expectedData = array(
79
			'one'	=> 'notempty',
80
			'eight'	=> array('notempy'),
81
			'nine'	=> array('notempy'),
82
		);
83
		$factsFactory = new \BOTK\FactsFactory($profile);
84
		$this->assertEquals($expectedData, $factsFactory->removeEmpty($data));
85
	}
86
}
87
88