From d0999fab88f2e1ec36a0c927f31e5ced08ac23aa Mon Sep 17 00:00:00 2001 From: "Daniel A. R. Werner" Date: Mon, 22 Jun 2015 00:08:46 +0200 Subject: [PATCH] Changed tests for 100% coverage Before the bitcoinAddressProvider would instantiate Danwe\Bitcoin\Address instances which would result in the static property holding the address parser being set already. This would prevent from 100% coverage. Now the provider won't instantiate addresses, instead a address string provider is used for the tests. --- tests/AddressTest.php | 56 +++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 31 deletions(-) diff --git a/tests/AddressTest.php b/tests/AddressTest.php index 05beb5f..d5ffa3f 100644 --- a/tests/AddressTest.php +++ b/tests/AddressTest.php @@ -2,12 +2,14 @@ namespace Danwe\Bitcoin\Tests; -use \Danwe\Bitcoin\Address; +use Danwe\Bitcoin\Address; /** * @since 1.0.0 * @author Daniel A. R. Werner * + * @covers Danwe\Bitcoin\Address + * * Data from the official bitcoin client: * https://github.com/bitcoin/bitcoin/tree/master/src/test/data */ @@ -32,34 +34,38 @@ public function testConstructionWithInvalidAddressString( $invalidAddressString } /** - * @dataProvider validAddressesProvider + * @dataProvider validAddressStringsProvider * @depends testConstruction */ - public function testAsString( Address $address, $addressString ) { + public function testAsString( $addressString ) { + $address = new Address( $addressString ); $this->assertEquals( $address->asString(), $addressString ); } /** - * @dataProvider validAddressesProvider + * @dataProvider validAddressStringsProvider * @depends testConstruction */ - public function testCastToString( Address $address, $addressString ) { + public function testCastToString( $addressString ) { + $address = new Address( $addressString ); $this->assertEquals( (string)$address, $addressString ); } /** - * @dataProvider validAddressesProvider + * @dataProvider validAddressStringsProvider * @depends testConstruction */ - public function testEqualsWithSameAddress( Address $address ) { + public function testEqualsWithSameInstance( $addressString ) { + $address = new Address( $addressString ); $this->assertTrue( $address->equals( $address ), 'Address instance equal to itself.' ); } /** - * @dataProvider validAddressesProvider + * @dataProvider validAddressStringsProvider * @depends testConstruction */ - public function testEqualsWithEqualAddress( Address $address, $addressString ) { + public function testEqualsWithEqualAddress( $addressString ) { + $address = new Address( $addressString ); $equalAddress = new Address( $addressString ); $address->equals( $equalAddress ); @@ -67,17 +73,20 @@ public function testEqualsWithEqualAddress( Address $address, $addressString ) { } /** - * @dataProvider validAddressesProvider + * @dataProvider validAddressStringsProvider * @depends testConstruction */ - public function testEqualsWithUnequalAddresses( Address $address, $addressString ) { - foreach( $this->validAddressesProvider() as $case ) { - $caseAddress = $case[ 0 ]; - $caseAddressString = $case[ 1 ]; + public function testEqualsWithUnequalAddresses( $addressString ) { + $address = new Address( $addressString ); + + foreach( $this->validAddressStringsProvider() as $case ) { + $caseAddressString = $case[ 0 ]; if( $caseAddressString === $addressString ) { continue; } + $caseAddress = new Address( $caseAddressString ); + $this->assertFalse( $address->equals( $caseAddress ), 'Address A not equal B.' ); $this->assertFalse( $caseAddress->equals( $address ), 'Address B not equal A.' ); } @@ -88,8 +97,8 @@ public function testEqualsWithUnequalAddresses( Address $address, $addressString * @depends testConstruction */ public function testEqualsWithOtherValues( $value ) { - foreach( $this->validAddressesProvider() as $case ) { - $address = $case[ 0 ]; + foreach( $this->validAddressStringsProvider() as $case ) { + $address = new Address( $case[ 0 ] ); $this->assertFalse( $address->equals( $value ), 'Address not equal value of type ' . gettype( $value ) ); } } @@ -103,21 +112,6 @@ public function otherValuesProvider() { ], 1 ); } - /** - * @return array( array( Address $address, string $addressString ), ... ) - */ - public function validAddressesProvider() { - return array_map( - function( $value ) { - $addressString = $value[ 0 ]; - return [ - new Address( $addressString ), - $addressString - ]; - }, $this->validAddressStringsProvider() - ); - } - /** * @return array( array( string $addressString ), ... ) */