-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtests.php
More file actions
71 lines (59 loc) · 2.22 KB
/
Copy pathtests.php
File metadata and controls
71 lines (59 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
require_once('class.php');
class PokemonTest extends PHPUnit_Framework_TestCase {
public function setUp() {
$this->pikachu = new Pikachu('TestPika');
$this->salameche = new Salameche('TestSala');
$this->carapuce = new Carapuce('TestCara');
$this->combat = new Combat($this->salameche, $this->carapuce);
}
public function testConstructPokemon() {
$this->assertEquals('TestPika', $this->pikachu->nom);
$this->assertEquals(1, $this->pikachu->niveau);
}
public function testConstructCombat() {
$this->assertContains($this->salameche, $this->combat->adversaires);
$this->assertCount(2, $this->combat->adversaires);
$this->assertEquals(Combat::STATUT_DEBUT, $this->combat->statut);
}
public function testRound() {
$this->salameche->precision = 100;
$this->carapuce->precision = 100;
$this->combat->round();
$this->assertCount(6, $this->combat->log);
$this->assertEquals(Combat::STATUT_ENCOURS, $this->combat->statut);
}
public function testPrecision() {
$sala_coups = $cara_coups = 0;
foreach(range(1, 1000) as $count) {
$this->setUp();
$this->combat->round();
if($this->salameche->dernier_coup != Pokemon::COUP_RATE) {
$sala_coups++;
}
if($this->carapuce->dernier_coup != Pokemon::COUP_RATE) {
$cara_coups++;
}
}
$this->assertLessThanOrEqual(10, abs($this->salameche->precision - ($sala_coups / 10)));
$this->assertLessThanOrEqual(10, abs($this->carapuce->precision - ($cara_coups / 10)));
}
public function testMort() {
$this->salameche->precision = 100;
$this->carapuce->precision = 100;
foreach(range(1,8) as $rounds) {
$this->combat->round();
}
$this->assertEquals(0, $this->salameche->pv);
$this->assertEquals(344, $this->carapuce->pv);
$this->assertEquals(Combat::STATUT_FIN, $this->combat->statut);
return $this->combat;
}
/**
* @depends testMort
* @expectedException Exception
*/
public function testFin($combat) {
$combat->round();
}
}