From 79aeeb1b2adf2d09cf4300aa34f31c337b140847 Mon Sep 17 00:00:00 2001 From: lizoenn <623466433@qq.com> Date: Thu, 8 Nov 2018 16:14:03 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B7=A5=E5=8E=82?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/FactoryMethod/Sample/Implemention/SUV.php | 22 +++++++++++++++ .../Sample/Implemention/SUVFactory.php | 22 +++++++++++++++ .../Sample/Implemention/Taxi.php | 22 +++++++++++++++ .../Sample/Implemention/TaxiFactory.php | 22 +++++++++++++++ .../Sample/Interfaces/FactoryInterface.php | 15 ++++++++++ .../Sample/Interfaces/ProductInterface.php | 15 ++++++++++ src/FactoryMethod/doc.md | 11 ++++++++ tests/FactoryMethodText.php | 28 +++++++++++++++++++ 8 files changed, 157 insertions(+) create mode 100644 src/FactoryMethod/Sample/Implemention/SUV.php create mode 100644 src/FactoryMethod/Sample/Implemention/SUVFactory.php create mode 100644 src/FactoryMethod/Sample/Implemention/Taxi.php create mode 100644 src/FactoryMethod/Sample/Implemention/TaxiFactory.php create mode 100644 src/FactoryMethod/Sample/Interfaces/FactoryInterface.php create mode 100644 src/FactoryMethod/Sample/Interfaces/ProductInterface.php create mode 100644 src/FactoryMethod/doc.md create mode 100644 tests/FactoryMethodText.php diff --git a/src/FactoryMethod/Sample/Implemention/SUV.php b/src/FactoryMethod/Sample/Implemention/SUV.php new file mode 100644 index 0000000..b139ec1 --- /dev/null +++ b/src/FactoryMethod/Sample/Implemention/SUV.php @@ -0,0 +1,22 @@ +assertTrue($suv instanceof SUV); + + $taxi = TaxiFactory::create(); + $this->assertTrue($taxi instanceof Taxi); + } +} \ No newline at end of file From c37104a4a0cdb0c78d5438b7d639dc3714e5bb6c Mon Sep 17 00:00:00 2001 From: sockstack <85564748@qq.com> Date: Thu, 8 Nov 2018 08:15:27 +0000 Subject: [PATCH 2/3] Apply fixes from StyleCI --- src/FactoryMethod/Sample/Implemention/SUV.php | 8 +++----- src/FactoryMethod/Sample/Implemention/SUVFactory.php | 6 ++---- src/FactoryMethod/Sample/Implemention/Taxi.php | 8 +++----- src/FactoryMethod/Sample/Implemention/TaxiFactory.php | 6 ++---- src/FactoryMethod/Sample/Interfaces/FactoryInterface.php | 5 ++--- src/FactoryMethod/Sample/Interfaces/ProductInterface.php | 5 ++--- tests/FactoryMethodText.php | 5 ++--- 7 files changed, 16 insertions(+), 27 deletions(-) diff --git a/src/FactoryMethod/Sample/Implemention/SUV.php b/src/FactoryMethod/Sample/Implemention/SUV.php index b139ec1..acde5bd 100644 --- a/src/FactoryMethod/Sample/Implemention/SUV.php +++ b/src/FactoryMethod/Sample/Implemention/SUV.php @@ -3,20 +3,18 @@ * Created by PhpStorm. * User: Administrator * Date: 2018/11/8 - * Time: 16:05 + * Time: 16:05. */ namespace Sockstack\DesignPattern\FactoryMethod\Sample\Implemention; - use Sockstack\DesignPattern\FactoryMethod\Sample\Interfaces\ProductInterface; class SUV implements ProductInterface { - public function action() { // TODO: Implement action() method. - return "SUV"; + return 'SUV'; } -} \ No newline at end of file +} diff --git a/src/FactoryMethod/Sample/Implemention/SUVFactory.php b/src/FactoryMethod/Sample/Implemention/SUVFactory.php index 6222d64..ccff740 100644 --- a/src/FactoryMethod/Sample/Implemention/SUVFactory.php +++ b/src/FactoryMethod/Sample/Implemention/SUVFactory.php @@ -3,20 +3,18 @@ * Created by PhpStorm. * User: Administrator * Date: 2018/11/8 - * Time: 16:04 + * Time: 16:04. */ namespace Sockstack\DesignPattern\FactoryMethod\Sample\Implemention; - use Sockstack\DesignPattern\FactoryMethod\Sample\Interfaces\FactoryInterface; class SUVFactory implements FactoryInterface { - public static function create() { // TODO: Implement create() method. return new SUV(); } -} \ No newline at end of file +} diff --git a/src/FactoryMethod/Sample/Implemention/Taxi.php b/src/FactoryMethod/Sample/Implemention/Taxi.php index 86ba73e..0478667 100644 --- a/src/FactoryMethod/Sample/Implemention/Taxi.php +++ b/src/FactoryMethod/Sample/Implemention/Taxi.php @@ -3,20 +3,18 @@ * Created by PhpStorm. * User: Administrator * Date: 2018/11/8 - * Time: 16:06 + * Time: 16:06. */ namespace Sockstack\DesignPattern\FactoryMethod\Sample\Implemention; - use Sockstack\DesignPattern\FactoryMethod\Sample\Interfaces\ProductInterface; class Taxi implements ProductInterface { - public function action() { // TODO: Implement action() method. - return "Taxi"; + return 'Taxi'; } -} \ No newline at end of file +} diff --git a/src/FactoryMethod/Sample/Implemention/TaxiFactory.php b/src/FactoryMethod/Sample/Implemention/TaxiFactory.php index 8be806c..941f119 100644 --- a/src/FactoryMethod/Sample/Implemention/TaxiFactory.php +++ b/src/FactoryMethod/Sample/Implemention/TaxiFactory.php @@ -3,20 +3,18 @@ * Created by PhpStorm. * User: Administrator * Date: 2018/11/8 - * Time: 16:07 + * Time: 16:07. */ namespace Sockstack\DesignPattern\FactoryMethod\Sample\Implemention; - use Sockstack\DesignPattern\FactoryMethod\Sample\Interfaces\FactoryInterface; class TaxiFactory implements FactoryInterface { - public static function create() { // TODO: Implement create() method. return new Taxi(); } -} \ No newline at end of file +} diff --git a/src/FactoryMethod/Sample/Interfaces/FactoryInterface.php b/src/FactoryMethod/Sample/Interfaces/FactoryInterface.php index 4ae3538..f87e37b 100644 --- a/src/FactoryMethod/Sample/Interfaces/FactoryInterface.php +++ b/src/FactoryMethod/Sample/Interfaces/FactoryInterface.php @@ -3,13 +3,12 @@ * Created by PhpStorm. * User: Administrator * Date: 2018/11/8 - * Time: 16:02 + * Time: 16:02. */ namespace Sockstack\DesignPattern\FactoryMethod\Sample\Interfaces; - interface FactoryInterface { public static function create(); -} \ No newline at end of file +} diff --git a/src/FactoryMethod/Sample/Interfaces/ProductInterface.php b/src/FactoryMethod/Sample/Interfaces/ProductInterface.php index 70e1102..f2ed6f8 100644 --- a/src/FactoryMethod/Sample/Interfaces/ProductInterface.php +++ b/src/FactoryMethod/Sample/Interfaces/ProductInterface.php @@ -3,13 +3,12 @@ * Created by PhpStorm. * User: Administrator * Date: 2018/11/8 - * Time: 16:03 + * Time: 16:03. */ namespace Sockstack\DesignPattern\FactoryMethod\Sample\Interfaces; - interface ProductInterface { public function action(); -} \ No newline at end of file +} diff --git a/tests/FactoryMethodText.php b/tests/FactoryMethodText.php index 1ca8af6..d727107 100644 --- a/tests/FactoryMethodText.php +++ b/tests/FactoryMethodText.php @@ -3,12 +3,11 @@ * Created by PhpStorm. * User: Administrator * Date: 2018/11/8 - * Time: 16:09 + * Time: 16:09. */ namespace Sockstack\DesignPattern\Test; - use PHPUnit\Framework\TestCase; use Sockstack\DesignPattern\FactoryMethod\Sample\Implemention\SUV; use Sockstack\DesignPattern\FactoryMethod\Sample\Implemention\SUVFactory; @@ -25,4 +24,4 @@ public function testFactoryMethod() $taxi = TaxiFactory::create(); $this->assertTrue($taxi instanceof Taxi); } -} \ No newline at end of file +} From bca96f76d5d372541590e7df5f3291e3f3d59ba1 Mon Sep 17 00:00:00 2001 From: sockstack <85564748@qq.com> Date: Thu, 8 Nov 2018 20:44:39 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F=E6=B5=8B=E8=AF=95=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.json | 3 ++- tests/{FactoryMethodText.php => FactoryMethodTest.php} | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) rename tests/{FactoryMethodText.php => FactoryMethodTest.php} (94%) diff --git a/composer.json b/composer.json index a961ea4..65f6a76 100644 --- a/composer.json +++ b/composer.json @@ -9,7 +9,8 @@ } ], "require": { - "phpunit/phpunit": "~5" + "phpunit/phpunit": "~5.7.0", + "mockery/mockery": "^1.2" }, "autoload": { "psr-4": { diff --git a/tests/FactoryMethodText.php b/tests/FactoryMethodTest.php similarity index 94% rename from tests/FactoryMethodText.php rename to tests/FactoryMethodTest.php index d727107..d0190dd 100644 --- a/tests/FactoryMethodText.php +++ b/tests/FactoryMethodTest.php @@ -14,7 +14,7 @@ use Sockstack\DesignPattern\FactoryMethod\Sample\Implemention\Taxi; use Sockstack\DesignPattern\FactoryMethod\Sample\Implemention\TaxiFactory; -class FactoryMethodText extends TestCase +class FactoryMethodTest extends TestCase { public function testFactoryMethod() {