File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -50,6 +50,30 @@ public function rowNotIsHeaderRow()
5050 $ this ->assertFalse ($ strategy ->isHeaderRow ($ fileObject ->fgetcsv ()));
5151 }
5252
53+ /**
54+ * @test
55+ * @covers ::createDataRow
56+ */
57+ public function createDataRow ()
58+ {
59+ $ fileObject = $ this ->getFileObject ();
60+ $ strategy = new DeriveHeaderStrategy ();
61+ $ strategy ->getHeaders ($ fileObject );
62+ $ fileObject ->fgetcsv ();//skip header line
63+ $ this ->assertSame (
64+ [
65+ 'id ' => 'bk101 ' ,
66+ 'author ' => 'Gambardella, Matthew ' ,
67+ 'title ' => 'XML Developer \'s Guide ' ,
68+ 'genre ' => 'Computer ' ,
69+ 'price ' => '44.95 ' ,
70+ 'publish_date ' => '2000-10-01 ' ,
71+ 'description ' => 'An in-depth look at creating applications with XML. ' ,
72+ ],
73+ $ strategy ->createDataRow ($ fileObject ->fgetcsv ())
74+ );
75+ }
76+
5377 private function getFileObject () : SplFileObject
5478 {
5579 $ fileObject = new SplFileObject (__DIR__ . '/_files/pipe_delimited.txt ' );
Original file line number Diff line number Diff line change @@ -40,4 +40,35 @@ public function isHeaderRowAlwaysReturnsFalse()
4040 $ this ->assertFalse ($ strategy ->isHeaderRow ($ fileObject ->fgetcsv ()));
4141 $ this ->assertFalse ($ strategy ->isHeaderRow ($ fileObject ->fgetcsv ()));
4242 }
43+
44+ /**
45+ * @test
46+ * @covers ::createDataRow
47+ */
48+ public function createDataRow ()
49+ {
50+ $ row = [
51+ 'bk101 ' ,
52+ 'Gambardella, Matthew ' ,
53+ 'XML Developer \'s Guide ' ,
54+ 'Computer ' ,
55+ '44.95 ' ,
56+ '2000-10-01 ' ,
57+ 'An in-depth look at creating applications with XML. ' ,
58+ ];
59+ $ strategy = new NoHeaderStrategy ();
60+ $ this ->assertSame (
61+ [
62+ 'bk101 ' ,
63+ 'Gambardella, Matthew ' ,
64+ 'XML Developer \'s Guide ' ,
65+ 'Computer ' ,
66+ '44.95 ' ,
67+ '2000-10-01 ' ,
68+ 'An in-depth look at creating applications with XML. ' ,
69+ ],
70+ $ strategy ->createDataRow ($ row )
71+ );
72+ }
73+
4374}
Original file line number Diff line number Diff line change @@ -47,6 +47,36 @@ public function rowIsNotHeaderRow()
4747 $ this ->assertFalse ($ strategy ->isHeaderRow ($ fileObject ->fgetcsv ()));
4848 }
4949
50+ /**
51+ * @test
52+ * @covers ::createDataRow
53+ */
54+ public function createDataRow ()
55+ {
56+ $ row = [
57+ 'bk101 ' ,
58+ 'Gambardella, Matthew ' ,
59+ 'XML Developer \'s Guide ' ,
60+ 'Computer ' ,
61+ '44.95 ' ,
62+ '2000-10-01 ' ,
63+ 'An in-depth look at creating applications with XML. ' ,
64+ ];
65+ $ strategy = $ this ->getStrategy ();
66+ $ this ->assertSame (
67+ [
68+ 'id ' => 'bk101 ' ,
69+ 'author ' => 'Gambardella, Matthew ' ,
70+ 'title ' => 'XML Developer \'s Guide ' ,
71+ 'genre ' => 'Computer ' ,
72+ 'price ' => '44.95 ' ,
73+ 'publish_date ' => '2000-10-01 ' ,
74+ 'description ' => 'An in-depth look at creating applications with XML. ' ,
75+ ],
76+ $ strategy ->createDataRow ($ row )
77+ );
78+ }
79+
5080 private function getFileObject () : SplFileObject
5181 {
5282 $ fileObject = new SplFileObject (__DIR__ . '/_files/basic.csv ' );
You can’t perform that action at this time.
0 commit comments