Completed
Push — master ( 52b7dd...834530 )
by Enrico
02:14
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
4
{	
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();},
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