@@ -81,4 +81,70 @@ public function basicUsage()
8181 $ this ->assertSame ($ data ['previous ' ]['type ' ], $ series ->previous ->type );
8282 $ this ->assertSame ($ data ['previous ' ]['role ' ], $ series ->previous ->role );
8383 }
84+
85+ /**
86+ * @test
87+ *
88+ * @return void
89+ */
90+ public function seriesWithNullPreviousValue ()
91+ {
92+ $ data = [
93+ 'id ' => 5 ,
94+ 'title ' => 'a title ' ,
95+ 'description ' => 'a description ' ,
96+ 'resourceURI ' => 'a resourceURI ' ,
97+ 'urls ' => [['type ' => 'a type ' , 'url ' => 'a url ' ]],
98+ 'startYear ' => 4 ,
99+ 'endYear ' => 1 ,
100+ 'rating ' => 'a rating ' ,
101+ 'modified ' => 'Fri, 31 Jul 2015 19:42:19 -0400 ' ,
102+ 'thumbnail ' => ['path ' => 'an image path ' , 'extension ' => 'an image extension ' ],
103+ 'comics ' => ['available ' => 3 , 'returned ' => 2 , 'collectionURI ' => 'a collection URI ' , 'items ' => []],
104+ 'stories ' => ['available ' => 5 , 'returned ' => 4 , 'collectionURI ' => 'a collection URI ' , 'items ' => []],
105+ 'events ' => ['available ' => 3 , 'returned ' => 2 , 'collectionURI ' => 'a collection URI ' , 'items ' => []],
106+ 'characters ' => ['available ' => 8 , 'returned ' => 7 , 'collectionURI ' => 'a collection URI ' , 'items ' => []],
107+ 'creators ' => ['available ' => 2 , 'returned ' => 1 , 'collectionURI ' => 'a collection URI ' , 'items ' => []],
108+ 'next ' => ['resourceURI ' => 'a resource URI ' , 'name ' => 'a name ' , 'type ' => 'a type ' , 'role ' => 'a role ' ],
109+ 'previous ' => null ,
110+ ];
111+
112+ $ series = new Series ($ data );
113+ $ this ->assertSame ($ data ['id ' ], $ series ->id );
114+ $ this ->assertSame ($ data ['title ' ], $ series ->title );
115+ $ this ->assertSame ($ data ['description ' ], $ series ->description );
116+ $ this ->assertSame ($ data ['resourceURI ' ], $ series ->resourceURI );
117+ $ this ->assertSame (count ($ data ['urls ' ]), count ($ series ->urls ));
118+ $ this ->assertSame ($ data ['urls ' ][0 ]['type ' ], $ series ->urls [0 ]->type );
119+ $ this ->assertSame ($ data ['urls ' ][0 ]['url ' ], $ series ->urls [0 ]->url );
120+ $ this ->assertSame ($ data ['startYear ' ], $ series ->startYear );
121+ $ this ->assertSame ($ data ['endYear ' ], $ series ->endYear );
122+ $ this ->assertSame ($ data ['rating ' ], $ series ->rating );
123+ $ this ->assertSame ($ data ['modified ' ], $ series ->modified ->format ('r ' ));
124+ $ this ->assertSame ($ data ['thumbnail ' ]['path ' ], $ series ->thumbnail ->path );
125+ $ this ->assertSame ($ data ['thumbnail ' ]['extension ' ], $ series ->thumbnail ->extension );
126+ $ this ->assertSame ($ data ['comics ' ]['available ' ], $ series ->comics ->available );
127+ $ this ->assertSame ($ data ['comics ' ]['returned ' ], $ series ->comics ->returned );
128+ $ this ->assertSame ($ data ['comics ' ]['collectionURI ' ], $ series ->comics ->collectionURI );
129+ $ this ->assertSame ($ data ['stories ' ]['available ' ], $ series ->stories ->available );
130+ $ this ->assertSame ($ data ['stories ' ]['returned ' ], $ series ->stories ->returned );
131+ $ this ->assertSame ($ data ['stories ' ]['collectionURI ' ], $ series ->stories ->collectionURI );
132+ $ this ->assertSame ($ data ['events ' ]['available ' ], $ series ->events ->available );
133+ $ this ->assertSame ($ data ['events ' ]['returned ' ], $ series ->events ->returned );
134+ $ this ->assertSame ($ data ['events ' ]['collectionURI ' ], $ series ->events ->collectionURI );
135+ $ this ->assertSame ($ data ['characters ' ]['available ' ], $ series ->characters ->available );
136+ $ this ->assertSame ($ data ['characters ' ]['returned ' ], $ series ->characters ->returned );
137+ $ this ->assertSame ($ data ['characters ' ]['collectionURI ' ], $ series ->characters ->collectionURI );
138+ $ this ->assertSame ($ data ['creators ' ]['available ' ], $ series ->creators ->available );
139+ $ this ->assertSame ($ data ['creators ' ]['returned ' ], $ series ->creators ->returned );
140+ $ this ->assertSame ($ data ['creators ' ]['collectionURI ' ], $ series ->creators ->collectionURI );
141+ $ this ->assertSame ($ data ['next ' ]['resourceURI ' ], $ series ->next ->resourceURI );
142+ $ this ->assertSame ($ data ['next ' ]['name ' ], $ series ->next ->name );
143+ $ this ->assertSame ($ data ['next ' ]['type ' ], $ series ->next ->type );
144+ $ this ->assertSame ($ data ['next ' ]['role ' ], $ series ->next ->role );
145+ $ this ->assertNull ($ series ->previous ->resourceURI );
146+ $ this ->assertNull ($ series ->previous ->name );
147+ $ this ->assertNull ($ series ->previous ->type );
148+ $ this ->assertNull ($ series ->previous ->role );
149+ }
84150}
0 commit comments