2424
2525use \Lovullo \Liza \Document \Document as Sut ;
2626
27-
2827class DocumentTest
2928 extends \PHPUnit_Framework_TestCase
3029{
3130 protected function getDummyBucket ()
3231 {
3332 return $ this ->getMockBuilder (
34- ' Lovullo\Liza\Bucket\Bucket '
33+ " Lovullo\Liza\Bucket\Bucket "
3534 )
36- ->setMethods ( array ( ' getDataByName ' , ' hasData ' ) )
35+ ->setMethods ( array ( " getDataByName " , " hasData " ) )
3736 ->getMock ();
3837 }
3938
@@ -46,7 +45,7 @@ protected function createSut( $id, $bucket, $meta = [] )
4645
4746 public function testReturnsDocumentId ()
4847 {
49- $ id = ' 123456 ' ;
48+ $ id = " 123456 " ;
5049
5150 $ this ->assertEquals (
5251 $ id ,
@@ -58,45 +57,106 @@ public function testReturnsDocumentId()
5857 public function testIdReturnedAsAString ()
5958 {
6059 $ this ->assertSame (
61- ' 1234 ' ,
60+ " 1234 " ,
6261 $ this ->createSut ( 1234 , $ this ->getDummyBucket () )->getId ()
6362 );
6463 }
6564
6665
67- public function programIdDataProvider ()
66+ public function testReturnsBucket ()
67+ {
68+ $ bucket = $ this ->getDummyBucket ();
69+
70+ $ this ->assertSame (
71+ $ bucket ,
72+ $ this ->createSut ( "foo " , $ bucket )->getBucket ()
73+ );
74+ }
75+
76+
77+ public function gettersDataProvider ()
6878 {
6979 return [
70- [ [ 'programId ' => 'fooprog ' ], 'fooprog ' ],
71- [ [ 'programId ' => '' ], '' ],
72- [ [], '' ],
80+ [ [ "agentId " => "fooagentid " ], "fooagentid " ],
81+ [ [ "agentId " => "" ], "" ],
82+ [ [ "agentName " => "fooagentname " ], "fooagentname " ],
83+ [ [ "agentName " => "" ], "" ],
84+ [ [ "programId " => "fooprog " ], "fooprog " ],
85+ [ [ "programId " => "" ], "" ],
86+ [ [ "agentEntityId " => "fooaei " ], "fooaei " ],
87+ [ [ "agentEntityId " => "" ], "" ],
88+ [ [ "initialRatedDate " => "fooird " ], "fooird " ],
89+ [ [ "initialRatedDate " => "" ], "" ],
90+ [ [ "startDate " => "foosd " ], "foosd " ],
91+ [ [ "startDate " => "" ], "" ],
7392 ];
7493 }
7594
7695
7796 /**
78- * @dataProvider programIdDataProvider
97+ * @dataProvider gettersDataProvider
7998 */
80- public function testProgramIdReturnedAsString ( array $ meta , $ expected )
99+ public function testGetters ( array $ meta , $ expected )
81100 {
101+ $ methodName = "get " . ucfirst ( array_keys ( $ meta )[0 ] );
102+
82103 $ this ->assertEquals (
83104 $ expected ,
84105 $ this ->createSut (
85106 1234 ,
86107 $ this ->getDummyBucket (),
87108 $ meta
88- )->getProgramId ()
109+ )->$ methodName ()
89110 );
90111 }
91112
92113
93- public function testReturnsBucket ()
114+ public function emptyGettersDataProvider ()
94115 {
95- $ bucket = $ this ->getDummyBucket ();
116+ return [
117+ [ "getProgramId " ],
118+ ];
119+ }
96120
97- $ this ->assertSame (
98- $ bucket ,
99- $ this ->createSut ( 'foo ' , $ bucket )->getBucket ()
121+
122+ /**
123+ * @dataProvider emptyGettersDataProvider
124+ */
125+ public function testEmptyGetters ( $ methodName )
126+ {
127+ $ this ->assertEquals (
128+ "" ,
129+ $ this ->createSut (
130+ 1234 ,
131+ $ this ->getDummyBucket (),
132+ []
133+ )->$ methodName ()
100134 );
101135 }
136+
137+
138+ public function exceptionGettersDataProvider ()
139+ {
140+ return [
141+ [ "getAgentId " ],
142+ [ "getAgentName " ],
143+ [ "getAgentEntityId " ],
144+ [ "getInitialRatedDate " ],
145+ [ "getStartDate " ],
146+ ];
147+ }
148+
149+
150+ /**
151+ * @dataProvider exceptionGettersDataProvider
152+ * @expectedException \Lovullo\Liza\Document\MissingDocumentFieldException
153+ */
154+ public function testExceptionGetters ( $ methodName )
155+ {
156+ $ this ->createSut (
157+ 1234 ,
158+ $ this ->getDummyBucket (),
159+ []
160+ )->$ methodName ();
161+ }
102162}
0 commit comments