Skip to content

Commit

Permalink
Change compatibility type to float
Browse files Browse the repository at this point in the history
  • Loading branch information
olivervogel committed Nov 10, 2024
1 parent 71afcaf commit 64aebc4
Show file tree
Hide file tree
Showing 4 changed files with 152 additions and 152 deletions.
2 changes: 1 addition & 1 deletion src/AbstractZodiac.php
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ public function html(): string
*
* @see ZodiacInterface::compatibility()
*/
public function compatibility(ZodiacInterface $zodiac): int
public function compatibility(ZodiacInterface $zodiac): float
{
return call_user_func(new Compatibility(), $this, $zodiac);
}
Expand Down
294 changes: 147 additions & 147 deletions src/Compatibility.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,176 +21,176 @@
class Compatibility
{
/**
* @var array<string, array<string, int>> $factors
* @var array<string, array<string, float>> $factors
*/
protected array $factors = [
Aquarius::class => [
Aquarius::class => 9,
Aries::class => 9,
Cancer::class => 4,
Capricorn::class => 4,
Gemini::class => 10,
Leo::class => 8,
Libra::class => 7,
Pisces::class => 6,
Sagittarius::class => 8,
Scorpio::class => 4,
Taurus::class => 5,
Virgo::class => 7,
Aquarius::class => .9,
Aries::class => .9,
Cancer::class => .2,
Capricorn::class => .3,
Gemini::class => 1,
Leo::class => .8,
Libra::class => .7,
Pisces::class => .6,
Sagittarius::class => .8,
Scorpio::class => .1,
Taurus::class => .5,
Virgo::class => .7,
],
Aries::class => [
Aquarius::class => 9,
Aries::class => 10,
Cancer::class => 7,
Capricorn::class => 5,
Gemini::class => 9,
Leo::class => 9,
Libra::class => 9,
Pisces::class => 7,
Sagittarius::class => 10,
Scorpio::class => 6,
Taurus::class => 6,
Virgo::class => 7,
Aquarius::class => .9,
Aries::class => 1,
Cancer::class => .7,
Capricorn::class => .5,
Gemini::class => .9,
Leo::class => .9,
Libra::class => .9,
Pisces::class => .7,
Sagittarius::class => 1,
Scorpio::class => .6,
Taurus::class => .6,
Virgo::class => .7,
],
Cancer::class => [
Aquarius::class => 4,
Aries::class => 7,
Cancer::class => 10,
Capricorn::class => 8,
Gemini::class => 6,
Leo::class => 8,
Libra::class => 7,
Pisces::class => 10,
Sagittarius::class => 5,
Scorpio::class => 8,
Taurus::class => 9,
Virgo::class => 8,
Aquarius::class => .2,
Aries::class => .7,
Cancer::class => 1,
Capricorn::class => .8,
Gemini::class => .6,
Leo::class => .8,
Libra::class => .7,
Pisces::class => 1,
Sagittarius::class => .5,
Scorpio::class => .8,
Taurus::class => .9,
Virgo::class => .8,
],
Capricorn::class => [
Aquarius::class => 4,
Aries::class => 6,
Cancer::class => 9,
Capricorn::class => 9,
Gemini::class => 4,
Leo::class => 5,
Libra::class => 5,
Pisces::class => 8,
Sagittarius::class => 5,
Scorpio::class => 9,
Taurus::class => 9,
Virgo::class => 10,
Aquarius::class => .2,
Aries::class => .6,
Cancer::class => .9,
Capricorn::class => .9,
Gemini::class => .2,
Leo::class => .5,
Libra::class => .5,
Pisces::class => .8,
Sagittarius::class => .5,
Scorpio::class => .9,
Taurus::class => .9,
Virgo::class => 1,
],
Gemini::class => [
Aquarius::class => 10,
Aries::class => 8,
Cancer::class => 5,
Capricorn::class => 5,
Gemini::class => 6,
Leo::class => 8,
Libra::class => 8,
Pisces::class => 9,
Sagittarius::class => 7,
Scorpio::class => 4,
Taurus::class => 5,
Virgo::class => 7,
Aquarius::class => 1,
Aries::class => .8,
Cancer::class => .5,
Capricorn::class => .5,
Gemini::class => .6,
Leo::class => .8,
Libra::class => .8,
Pisces::class => .9,
Sagittarius::class => .7,
Scorpio::class => .1,
Taurus::class => .5,
Virgo::class => .7,
],
Leo::class => [
Aquarius::class => 9,
Aries::class => 9,
Cancer::class => 5,
Capricorn::class => 4,
Gemini::class => 8,
Leo::class => 7,
Libra::class => 8,
Pisces::class => 7,
Sagittarius::class => 5,
Scorpio::class => 7,
Taurus::class => 7,
Virgo::class => 8,
Aquarius::class => .9,
Aries::class => .9,
Cancer::class => .5,
Capricorn::class => .2,
Gemini::class => .8,
Leo::class => .7,
Libra::class => .8,
Pisces::class => .7,
Sagittarius::class => .5,
Scorpio::class => .7,
Taurus::class => .7,
Virgo::class => .8,
],
Libra::class => [
Aquarius::class => 7,
Aries::class => 9,
Cancer::class => 5,
Capricorn::class => 7,
Gemini::class => 9,
Leo::class => 8,
Libra::class => 9,
Pisces::class => 5,
Sagittarius::class => 8,
Scorpio::class => 5,
Taurus::class => 5,
Virgo::class => 7,
Aquarius::class => .7,
Aries::class => .9,
Cancer::class => .5,
Capricorn::class => .7,
Gemini::class => .9,
Leo::class => .8,
Libra::class => .9,
Pisces::class => .5,
Sagittarius::class => .8,
Scorpio::class => .5,
Taurus::class => .5,
Virgo::class => .7,
],
Pisces::class => [
Aquarius::class => 9,
Aries::class => 5,
Cancer::class => 10,
Capricorn::class => 9,
Gemini::class => 9,
Leo::class => 5,
Libra::class => 5,
Pisces::class => 5,
Sagittarius::class => 5,
Scorpio::class => 8,
Taurus::class => 6,
Virgo::class => 8,
Aquarius::class => .9,
Aries::class => .5,
Cancer::class => 1,
Capricorn::class => .9,
Gemini::class => .9,
Leo::class => .5,
Libra::class => .5,
Pisces::class => .5,
Sagittarius::class => .5,
Scorpio::class => .8,
Taurus::class => .6,
Virgo::class => .8,
],
Sagittarius::class => [
Aquarius::class => 8,
Aries::class => 8,
Cancer::class => 5,
Capricorn::class => 4,
Gemini::class => 8,
Leo::class => 7,
Libra::class => 8,
Pisces::class => 6,
Sagittarius::class => 8,
Scorpio::class => 4,
Taurus::class => 5,
Virgo::class => 7,
Aquarius::class => .8,
Aries::class => .8,
Cancer::class => .5,
Capricorn::class => .3,
Gemini::class => .8,
Leo::class => .7,
Libra::class => .8,
Pisces::class => .6,
Sagittarius::class => .8,
Scorpio::class => .1,
Taurus::class => .5,
Virgo::class => .7,
],
Scorpio::class => [
Aquarius::class => 6,
Aries::class => 6,
Cancer::class => 9,
Capricorn::class => 9,
Gemini::class => 4,
Leo::class => 7,
Libra::class => 5,
Pisces::class => 8,
Sagittarius::class => 4,
Scorpio::class => 10,
Taurus::class => 9,
Virgo::class => 10,
Aquarius::class => .6,
Aries::class => .6,
Cancer::class => .9,
Capricorn::class => .9,
Gemini::class => .3,
Leo::class => .7,
Libra::class => .5,
Pisces::class => .8,
Sagittarius::class => .3,
Scorpio::class => 1,
Taurus::class => .9,
Virgo::class => .1,
],
Taurus::class => [
Aquarius::class => 6,
Aries::class => 6,
Cancer::class => 9,
Capricorn::class => 10,
Gemini::class => 5,
Leo::class => 6,
Libra::class => 6,
Pisces::class => 6,
Sagittarius::class => 5,
Scorpio::class => 9,
Taurus::class => 9,
Virgo::class => 9,
Aquarius::class => .6,
Aries::class => .6,
Cancer::class => .9,
Capricorn::class => 1,
Gemini::class => .5,
Leo::class => .6,
Libra::class => .6,
Pisces::class => .6,
Sagittarius::class => .4,
Scorpio::class => .9,
Taurus::class => .9,
Virgo::class => .9,
],
Virgo::class => [
Aquarius::class => 7,
Aries::class => 7,
Cancer::class => 8,
Capricorn::class => 9,
Gemini::class => 8,
Leo::class => 5,
Libra::class => 6,
Pisces::class => 9,
Sagittarius::class => 7,
Scorpio::class => 9,
Taurus::class => 9,
Virgo::class => 9,
Aquarius::class => .7,
Aries::class => .7,
Cancer::class => .8,
Capricorn::class => .9,
Gemini::class => .8,
Leo::class => .5,
Libra::class => .6,
Pisces::class => .9,
Sagittarius::class => .7,
Scorpio::class => .9,
Taurus::class => .9,
Virgo::class => .9,
],
];

Expand All @@ -199,9 +199,9 @@ class Compatibility
*
* @param ZodiacInterface $a
* @param ZodiacInterface $b
* @return int
* @return float
*/
public function __invoke(ZodiacInterface $a, ZodiacInterface $b): int
public function __invoke(ZodiacInterface $a, ZodiacInterface $b): float
{
return $this->factors[$a::class][$b::class];
}
Expand Down
4 changes: 2 additions & 2 deletions src/Interfaces/ZodiacInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ public function localized(?string $locale = null): ?string;
* Completely made up :) Don't plan your life around it.
*
* @param ZodiacInterface $zodiac
* @return int
* @return float
*/
public function compatibility(self $zodiac): int;
public function compatibility(self $zodiac): float;

/**
* Cast current object to string
Expand Down
4 changes: 2 additions & 2 deletions tests/CompatibilityTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ final class CompatibilityTest extends TestCase
public function testCalculate(string $a, string $b): void
{
$result = call_user_func(new Compatibility(), new $a(), new $b());
$this->assertIsInt($result);
$this->assertTrue(in_array($result, range(0, 10)));
$this->assertIsFloat($result);
$this->assertTrue($result >= 0 && $result <= 1);
}

public static function factorDataProvider(): array
Expand Down

0 comments on commit 64aebc4

Please sign in to comment.