Skip to content

Commit

Permalink
Merge pull request #107 from demvsystems/anlegerorientierungen
Browse files Browse the repository at this point in the history
Added AnlegerOrientierungen
  • Loading branch information
christianhaberland authored Apr 4, 2018
2 parents 16d6c16 + 6e88227 commit 19cf686
Show file tree
Hide file tree
Showing 8 changed files with 197 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/Werte/Altersvorsorge/AnlegerOrientierungInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace Demv\Werte\Altersvorsorge;

use Demv\Werte\ValueInterface;

/**
* Class AnlegerOrientierungInterface
* @package Demv\Werte\Altersvorsorge
*/
interface AnlegerOrientierungInterface extends ValueInterface
{
}
36 changes: 36 additions & 0 deletions src/Werte/Altersvorsorge/AnlegerOrientierungen.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php

namespace Demv\Werte\Altersvorsorge;

use Demv\Werte\AbstractProvider;
use Demv\Werte\Altersvorsorge\AnlegerOrientierungen\Konservativ;
use Demv\Werte\Altersvorsorge\AnlegerOrientierungen\Risikoorientiert;
use Demv\Werte\Altersvorsorge\AnlegerOrientierungen\Sicherheitsorientiert;
use Demv\Werte\Altersvorsorge\AnlegerOrientierungen\Wachstumsorientiert;
use Demv\Werte\Exception\EntryNotFoundException;

/**
* Class AnlegerOrientierungen
* @package Demv\Werte\Altersvorsorge
*/
final class AnlegerOrientierungen extends AbstractProvider
{
public function __construct()
{
$this->appendMember(new Sicherheitsorientiert());
$this->appendMember(new Konservativ());
$this->appendMember(new Wachstumsorientiert());
$this->appendMember(new Risikoorientiert());
}

/**
* @param int $id
*
* @return AnlegerOrientierungInterface
* @throws EntryNotFoundException
*/
public function getOne(int $id): AnlegerOrientierungInterface
{
return parent::getOne($id);
}
}
20 changes: 20 additions & 0 deletions src/Werte/Altersvorsorge/AnlegerOrientierungen/Konservativ.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Demv\Werte\Altersvorsorge\AnlegerOrientierungen;

use Demv\Werte\Altersvorsorge\AnlegerOrientierungInterface;
use Demv\Werte\Value;

/**
* Class Konservativ
* @package Demv\Werte\Altersvorsorge\AnlegerOrientierungen
*/
final class Konservativ extends Value implements AnlegerOrientierungInterface
{
const ID = 2;

public function __construct()
{
parent::__construct(self::ID, 'Konservativ');
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Demv\Werte\Altersvorsorge\AnlegerOrientierungen;

use Demv\Werte\Altersvorsorge\AnlegerOrientierungInterface;
use Demv\Werte\Value;

/**
* Class Risikoorientiert
* @package Demv\Werte\Altersvorsorge\AnlegerOrientierungen
*/
final class Risikoorientiert extends Value implements AnlegerOrientierungInterface
{
const ID = 4;

public function __construct()
{
parent::__construct(self::ID, 'Risikoorientiert');
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Demv\Werte\Altersvorsorge\AnlegerOrientierungen;

use Demv\Werte\Altersvorsorge\AnlegerOrientierungInterface;
use Demv\Werte\Value;

/**
* Class Sicherheitsorientiert
* @package Demv\Werte\Altersvorsorge\AnlegerOrientierungen
*/
final class Sicherheitsorientiert extends Value implements AnlegerOrientierungInterface
{
const ID = 1;

public function __construct()
{
parent::__construct(self::ID, 'Sicherheitsorientiert');
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

namespace Demv\Werte\Altersvorsorge\AnlegerOrientierungen;

use Demv\Werte\Altersvorsorge\AnlegerOrientierungInterface;
use Demv\Werte\Value;

/**
* Class Wachstumsorientiert
* @package Demv\Werte\Altersvorsorge\AnlegerOrientierungen
*/
final class Wachstumsorientiert extends Value implements AnlegerOrientierungInterface
{
const ID = 3;

public function __construct()
{
parent::__construct(self::ID, 'Wachstumsorientiert');
}
}
64 changes: 64 additions & 0 deletions tests/Werte/Altersvorsorge/AnlegerOrientierungenTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?php

namespace Demv\Werte\Tests\Altersvorsorge;

use Demv\Werte\Altersvorsorge\AnlegerOrientierungen;
use Demv\Werte\Altersvorsorge\AnlegerOrientierungen\Konservativ;
use Demv\Werte\Altersvorsorge\AnlegerOrientierungen\Risikoorientiert;
use Demv\Werte\Altersvorsorge\AnlegerOrientierungen\Sicherheitsorientiert;
use Demv\Werte\Altersvorsorge\AnlegerOrientierungen\Wachstumsorientiert;
use Demv\Werte\Exception\EntryNotFoundException;
use Demv\Werte\Tests\ProviderTestTrait;
use PHPUnit\Framework\TestCase;

/**
* Class AnlegerOrientierungenTest
* @package Demv\Werte\Tests\Altersvorsorge
*/
final class AnlegerOrientierungenTest extends TestCase
{
use ProviderTestTrait;

/**
* @return AnlegerOrientierungen
*/
private function getAnlegerOrientierungen(): AnlegerOrientierungen
{
return new AnlegerOrientierungen();
}

public function testGetAll(): void
{
$adressTypen = $this->getAnlegerOrientierungen();
$this->assertCount(4, $adressTypen->getAll());
}

public function testGetsicherheitsorientiert(): void
{
$this->checkGetOne($this->getAnlegerOrientierungen(), Sicherheitsorientiert::class);
}

public function testGetKonservativ(): void
{
$this->checkGetOne($this->getAnlegerOrientierungen(), Konservativ::class);
}

public function testGetWachstumsorientiert(): void
{
$this->checkGetOne($this->getAnlegerOrientierungen(), Wachstumsorientiert::class);
}

public function testGetRisikoorientiert(): void
{
$this->checkGetOne($this->getAnlegerOrientierungen(), Risikoorientiert::class);
}

/**
* @throws EntryNotFoundException
*/
public function testNotFound(): void
{
$this->expectException(EntryNotFoundException::class);
$this->getAnlegerOrientierungen()->getOne(5);
}
}
4 changes: 4 additions & 0 deletions tests/Werte/ProviderTestTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@
use Demv\Werte\ProviderInterface;
use Demv\Werte\ValueInterface;

/**
* Trait ProviderTestTrait
* @package Demv\Werte\Tests
*/
trait ProviderTestTrait
{
private function checkGetOne(ProviderInterface $provider, string $classname): void
Expand Down

0 comments on commit 19cf686

Please sign in to comment.