@@ -666,4 +666,40 @@ public function testGivenInvalidGuid_getFirstStatementWithGuidReturnsNull() {
666666 $ this ->assertNull ( $ statements ->getFirstStatementWithGuid ( false ) );
667667 }
668668
669+ public function testGivenEmptyStatementList_setStatementsFillsIt () {
670+ $ statement1 = $ this ->getStatement ( 1 , 'guid1 ' );
671+ $ statement2 = $ this ->getStatement ( 2 , 'guid2 ' );
672+ $ statement3 = $ this ->getStatement ( 3 , 'guid3 ' );
673+ $ statement4 = $ this ->getStatement ( 2 , 'guid5 ' );
674+ $ statements = new StatementList ();
675+
676+ $ statements ->setStatements ( array ( $ statement1 , $ statement2 , $ statement3 , $ statement4 ) );
677+ $ this ->assertEquals (
678+ new StatementList ( $ statement1 , $ statement2 , $ statement3 , $ statement4 ),
679+ $ statements
680+ );
681+ }
682+
683+ public function testGivenFilledStatementList_setStatementsOverridesIt () {
684+ $ statement1 = $ this ->getStatement ( 1 , 'guid1 ' );
685+ $ statement2 = $ this ->getStatement ( 2 , 'guid2 ' );
686+ $ statement3 = $ this ->getStatement ( 3 , 'guid3 ' );
687+ $ statement4 = $ this ->getStatement ( 2 , 'guid5 ' );
688+ $ statements = new StatementList ( $ statement1 , $ statement2 , $ statement3 , $ statement4 );
689+
690+ $ statements ->setStatements ( array ( $ statement1 , $ statement4 ) );
691+ $ this ->assertEquals (
692+ new StatementList ( $ statement1 , $ statement4 ),
693+ $ statements
694+ );
695+ }
696+
697+ public function testGivenNoTraversable_setStatementsThrowsException () {
698+ $ statement1 = $ this ->getStatement ( 1 , 'guid1 ' );
699+ $ statements = new StatementList ();
700+
701+ $ this ->setExpectedException ( 'InvalidArgumentException ' );
702+ $ statements ->setStatements ( $ statement1 );
703+ }
704+
669705}
0 commit comments