From bb73a1fed095ccedb5fa411640fb77bffb07d963 Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 13:18:13 -0700 Subject: [PATCH 01/11] Testing changes to scrutinizer config --- .scrutinizer.yml | 49 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 6d3bb04d..e5dba40a 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -1,15 +1,48 @@ build: + environment: + php: + version: 8.0 nodes: - analysis: - project_setup: - override: true + checkout-fermat: + commands: + - checkout-code ~/code + - cd ./code + - mkdir build + - mkdir build/logs + - composer update + - store-in-cache execution codebase ~/code + standalone-tests: + requires: + - node: fermat-setup tests: - override: [php-scrutinizer-run] + before: + - restore-from-cache execution codebase ~/code + - cd ./code + override: + - php-scrutinizer-run + - command: php vendor/bin/phpunit + coverage: + file: build/logs/coverage.clover + format: clover + with-modules-tests: + requires: + - node: standalone-tests + tests: + before: + - restore-from-cache execution codebase ~/code + - cd ./code + - composer require samsara/fermat-coordinate-systems * + - composer require samsara/fermat-complex-numbers * + - composer require samsara/fermat-matrices-and-vectors * + - composer require samsara/fermat-stats * + - composer require samsara/fermat-algebra-expressions * + override: + - command: php vendor/bin/phpunit + coverage: + file: build/logs/coverage.clover + format: clover build_failure_conditions: - 'elements.rating(<= D).new.exists' - 'project.metric_change("scrutinizer.test_coverage", < -0.05)' - 'project.metric("scrutinizer.test_coverage", < 0.70)' - - 'project.metric("scrutinizer.quality", < 8)' -tools: - external_code_coverage: - timeout: 600 \ No newline at end of file + - 'project.metric("scrutinizer.quality", < 8)' \ No newline at end of file From 0024535b5565ea6b274e7c7b264c6a38b114a337 Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 13:21:23 -0700 Subject: [PATCH 02/11] Scrutinizer config typo --- .scrutinizer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.scrutinizer.yml b/.scrutinizer.yml index e5dba40a..5ef675d6 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -13,7 +13,7 @@ build: - store-in-cache execution codebase ~/code standalone-tests: requires: - - node: fermat-setup + - node: checkout-fermat tests: before: - restore-from-cache execution codebase ~/code From 0d0811fb9d18d88b9986dbf2fed7fb0086a41f4e Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 13:31:40 -0700 Subject: [PATCH 03/11] More SC configs --- .scrutinizer.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 5ef675d6..bc2d05b7 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -3,23 +3,12 @@ build: php: version: 8.0 nodes: - checkout-fermat: - commands: - - checkout-code ~/code - - cd ./code - - mkdir build - - mkdir build/logs - - composer update - - store-in-cache execution codebase ~/code standalone-tests: - requires: - - node: checkout-fermat tests: before: - restore-from-cache execution codebase ~/code - cd ./code override: - - php-scrutinizer-run - command: php vendor/bin/phpunit coverage: file: build/logs/coverage.clover @@ -29,8 +18,6 @@ build: - node: standalone-tests tests: before: - - restore-from-cache execution codebase ~/code - - cd ./code - composer require samsara/fermat-coordinate-systems * - composer require samsara/fermat-complex-numbers * - composer require samsara/fermat-matrices-and-vectors * From ba1c2c68d7375492cda91e4a435ae75a148a3b2b Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 13:40:27 -0700 Subject: [PATCH 04/11] More SC configs.. --- .scrutinizer.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.scrutinizer.yml b/.scrutinizer.yml index bc2d05b7..8651f31c 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -2,6 +2,8 @@ build: environment: php: version: 8.0 + ini: + xdebug.mode: coverage nodes: standalone-tests: tests: From a2db65d7d4c5bf760822a3765e23f034c1beb944 Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 13:45:24 -0700 Subject: [PATCH 05/11] Getting closer on scrutinizer --- .scrutinizer.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 8651f31c..3b8da352 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -8,8 +8,8 @@ build: standalone-tests: tests: before: - - restore-from-cache execution codebase ~/code - - cd ./code + - mkdir build + - mkdir build/logs override: - command: php vendor/bin/phpunit coverage: @@ -20,6 +20,8 @@ build: - node: standalone-tests tests: before: + - mkdir build + - mkdir build/logs - composer require samsara/fermat-coordinate-systems * - composer require samsara/fermat-complex-numbers * - composer require samsara/fermat-matrices-and-vectors * From bdf2af661bdf17ac5c43c84911fcbafb49b84a3a Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 13:58:46 -0700 Subject: [PATCH 06/11] more config changes --- .scrutinizer.yml | 12 ++++++------ composer.json | 2 +- phpunit-modules.xml | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 7 deletions(-) create mode 100644 phpunit-modules.xml diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 3b8da352..09d8b07a 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -22,13 +22,13 @@ build: before: - mkdir build - mkdir build/logs - - composer require samsara/fermat-coordinate-systems * - - composer require samsara/fermat-complex-numbers * - - composer require samsara/fermat-matrices-and-vectors * - - composer require samsara/fermat-stats * - - composer require samsara/fermat-algebra-expressions * + - composer require "samsara/fermat-coordinate-systems:*" + - composer require "samsara/fermat-complex-numbers:*" + - composer require "samsara/fermat-matrices-and-vectors:*" + - composer require "samsara/fermat-stats:*" + - composer require "samsara/fermat-algebra-expressions:*" override: - - command: php vendor/bin/phpunit + - command: php vendor/bin/phpunit -c phpunit-modules.xml coverage: file: build/logs/coverage.clover format: clover diff --git a/composer.json b/composer.json index be9138e7..803372e2 100644 --- a/composer.json +++ b/composer.json @@ -45,7 +45,7 @@ }, "autoload-dev": { "psr-4": { - "Samsara\\Fermat\\": "tests/Samsara/Fermat/" + "Samsara\\Fermat\\": ["tests/Samsara/Fermat/", "tests-with-modules/Samsara/Fermat"] } } } diff --git a/phpunit-modules.xml b/phpunit-modules.xml new file mode 100644 index 00000000..430f6dd1 --- /dev/null +++ b/phpunit-modules.xml @@ -0,0 +1,38 @@ + + + + + ./src/Samsara/Fermat + + + + + + + + ./tests-with-modules/Samsara/Fermat/Provider + + + ./tests-with-modules/Samsara/Fermat/Types + + + ./tests-with-modules/Samsara/Fermat/Values + + + + From b863eeedc540d7403a92610fb4f4dacae8e0b06c Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 14:04:48 -0700 Subject: [PATCH 07/11] use dev master reqs --- .scrutinizer.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 09d8b07a..81212d95 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -22,11 +22,11 @@ build: before: - mkdir build - mkdir build/logs - - composer require "samsara/fermat-coordinate-systems:*" - - composer require "samsara/fermat-complex-numbers:*" - - composer require "samsara/fermat-matrices-and-vectors:*" - - composer require "samsara/fermat-stats:*" - - composer require "samsara/fermat-algebra-expressions:*" + - composer require "samsara/fermat-coordinate-systems:dev-master" + - composer require "samsara/fermat-complex-numbers:dev-master" + - composer require "samsara/fermat-matrices-and-vectors:dev-master" + - composer require "samsara/fermat-stats:dev-master" + - composer require "samsara/fermat-algebra-expressions:dev-master" override: - command: php vendor/bin/phpunit -c phpunit-modules.xml coverage: From fce6b4e7e69a3f650cb9865f53f5ced12f2fd553 Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 14:14:07 -0700 Subject: [PATCH 08/11] yay? --- .scrutinizer.yml | 2 + .../Fermat/Values/ImmutableDecimal2Test.php | 52 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 tests-with-modules/Samsara/Fermat/Values/ImmutableDecimal2Test.php diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 81212d95..bcac9cc0 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -1,5 +1,7 @@ build: environment: + variables: + COMPOSER_ROOT_VERSION: 2.0 php: version: 8.0 ini: diff --git a/tests-with-modules/Samsara/Fermat/Values/ImmutableDecimal2Test.php b/tests-with-modules/Samsara/Fermat/Values/ImmutableDecimal2Test.php new file mode 100644 index 00000000..0a77865d --- /dev/null +++ b/tests-with-modules/Samsara/Fermat/Values/ImmutableDecimal2Test.php @@ -0,0 +1,52 @@ +assertEquals('1+1i', $one->add($oneI)->getValue()); + $this->assertEquals('1+1i', $oneI->add($one)->getValue()); + $this->assertEquals('1i', $oneI->add($zero)->getValue()); + $this->assertEquals('1i', $zero->add($oneI)->getValue()); + + } + + /** + * @group arithmetic + * @group complex + * @medium + */ + public function testImaginarySubtract() + { + + $zero = new ImmutableDecimal(0); + $one = new ImmutableDecimal(1); + $oneI = new ImmutableDecimal('1i'); + + $this->assertEquals('1-1i', $one->subtract($oneI)->getValue()); + $this->assertEquals('-1+1i', $oneI->subtract($one)->getValue()); + $this->assertEquals('1i', $oneI->subtract($zero)->getValue()); + $this->assertEquals('-1i', $zero->subtract($oneI)->getValue()); + + } +} \ No newline at end of file From 06af711cc07ddd5bb0208be465a4e85bccec4e8c Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 14:26:57 -0700 Subject: [PATCH 09/11] final config update? --- phpunit-modules.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/phpunit-modules.xml b/phpunit-modules.xml index 430f6dd1..86af67e3 100644 --- a/phpunit-modules.xml +++ b/phpunit-modules.xml @@ -24,12 +24,6 @@ - - ./tests-with-modules/Samsara/Fermat/Provider - - - ./tests-with-modules/Samsara/Fermat/Types - ./tests-with-modules/Samsara/Fermat/Values From 17db96a8690ee0cb5128f1dd24f6a1a618ab052f Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 14:34:15 -0700 Subject: [PATCH 10/11] custom phpcs config --- phpcs.xml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 phpcs.xml diff --git a/phpcs.xml b/phpcs.xml new file mode 100644 index 00000000..d9598b6b --- /dev/null +++ b/phpcs.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From a241e042fd43972de6fb2ad9d5b4cf05ae6f6a7f Mon Sep 17 00:00:00 2001 From: Jordan LeDoux Date: Sat, 26 Jun 2021 14:44:38 -0700 Subject: [PATCH 11/11] Changing badges in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ec58cda0..f3b45230 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Fermat -[![Build Status](https://travis-ci.org/JordanRL/Fermat.svg?branch=master)](https://travis-ci.org/JordanRL/Fermat) [![Code Coverage](https://scrutinizer-ci.com/g/JordanRL/Fermat/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/JordanRL/Fermat/?branch=master) [![Latest Stable Version](https://poser.pugx.org/samsara/fermat/v/stable)](https://packagist.org/packages/samsara/fermat) [![Total Downloads](https://poser.pugx.org/samsara/fermat/downloads)](https://packagist.org/packages/samsara/fermat) [![Latest Unstable Version](https://poser.pugx.org/samsara/fermat/v/unstable)](https://packagist.org/packages/samsara/fermat) [![License](https://poser.pugx.org/samsara/fermat/license)](https://packagist.org/packages/samsara/fermat) +[![Build Status](https://scrutinizer-ci.com/g/JordanRL/Fermat/badges/build.png?b=master)](https://scrutinizer-ci.com/g/JordanRL/Fermat/build-status/master) [![Code Coverage](https://scrutinizer-ci.com/g/JordanRL/Fermat/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/JordanRL/Fermat/?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/JordanRL/Fermat/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/JordanRL/Fermat/?branch=master) [![Latest Stable Version](https://poser.pugx.org/samsara/fermat/v/stable)](https://packagist.org/packages/samsara/fermat) [![Total Downloads](https://poser.pugx.org/samsara/fermat/downloads)](https://packagist.org/packages/samsara/fermat) [![License](https://poser.pugx.org/samsara/fermat/license)](https://packagist.org/packages/samsara/fermat) **This project is unit tested against 8.0, and merges are not accepted unless the tests pass.**