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
|
<?php
namespace Tests\World;
use App\World\Boid;
use App\World\World;
use PHPUnit\Framework\TestCase;
class BoidTest extends TestCase
{
public function testBoidConstruction()
{
$boid = new Boid(5, 1, 2, 'boid');
$this->assertEquals(5, $boid->radius());
$this->assertEquals([1, 2], $boid->position());
$this->assertEquals('boid', $boid->name());
$boid = new Boid(5, 1, 2);
$this->assertEquals(5, $boid->radius());
$this->assertEquals([1, 2], $boid->position());
$this->assertTrue(is_string($boid->name()));
$this->assertTrue(strpos($boid->name(), 'boid') === 0);
}
public function testBoidWorldCollision()
{
$world = new World(200, 200);
$boid = new Boid(5, 10, 10);
$this->assertEquals(false, $boid->isCollisionWithWorld($world->width(), $world->height(), 0, 0));
$boid = new Boid(5, 0, 0);
$this->assertEquals(true, $boid->isCollisionWithWorld($world->width(), $world->height(), 0, 0));
$boid = new Boid(5, -100, 100);
$this->assertEquals(true, $boid->isCollisionWithWorld($world->width(), $world->height(), 0, 0));
$boid = new Boid(5, 100, -100);
$this->assertEquals(true, $boid->isCollisionWithWorld($world->width(), $world->height(), 0, 0));
$boid = new Boid(5, 200, 200);
$this->assertEquals(true, $boid->isCollisionWithWorld($world->width(), $world->height(), 0, 0));
}
}
|