55namespace AndKom \PhpBitcoinBlockchain \Tests ;
66
77use AndKom \BCDataStream \Reader ;
8+ use AndKom \BCDataStream \Writer ;
89use AndKom \PhpBitcoinBlockchain \Block ;
910use PHPUnit \Framework \TestCase ;
1011
@@ -32,13 +33,13 @@ public function testParse()
3233 $ genesis .= "00000000 " ; // lock time
3334
3435 $ block = Block::parse (new Reader (hex2bin ($ genesis )));
35- $ this ->assertEquals ($ block ->getHash (), '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f ' );
36- $ this ->assertEquals ($ block ->version , 1 );
37- $ this ->assertEquals ($ block ->prevBlockHash , '0000000000000000000000000000000000000000000000000000000000000000 ' );
38- $ this ->assertEquals ($ block ->merkleRootHash , '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b ' );
39- $ this ->assertEquals ($ block ->time , 1231006505 );
40- $ this ->assertEquals ($ block ->bits , 486604799 );
41- $ this ->assertEquals ($ block ->nonce , 2083236893 );
36+ $ this ->assertEquals ($ block ->header -> getHash (), '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f ' );
37+ $ this ->assertEquals ($ block ->header -> version , 1 );
38+ $ this ->assertEquals ($ block ->header -> prevBlockHash , '0000000000000000000000000000000000000000000000000000000000000000 ' );
39+ $ this ->assertEquals ($ block ->header -> merkleRootHash , '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b ' );
40+ $ this ->assertEquals ($ block ->header -> time , 1231006505 );
41+ $ this ->assertEquals ($ block ->header -> bits , 486604799 );
42+ $ this ->assertEquals ($ block ->header -> nonce , 2083236893 );
4243 $ this ->assertEquals ($ block ->transactions [0 ]->getHash (), '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b ' );
4344 $ this ->assertEquals ($ block ->transactions [0 ]->version , 1 );
4445 $ this ->assertEquals ($ block ->transactions [0 ]->inCount , 1 );
@@ -50,5 +51,10 @@ public function testParse()
5051 $ this ->assertEquals ($ block ->transactions [0 ]->outputs [0 ]->scriptPubKey ->getData (), hex2bin ('4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac ' ));
5152 $ this ->assertEquals ($ block ->transactions [0 ]->lockTime , 0 );
5253 $ this ->assertTrue ($ block ->transactions [0 ]->isCoinbase ());
54+
55+ $ stream = new Writer ();
56+ $ block ->serialize ($ stream );
57+
58+ $ this ->assertEquals ($ stream ->getBuffer (), hex2bin ($ genesis ));
5359 }
5460}
0 commit comments