Skip to content

Commit 7abbcdb

Browse files
committed
created some tests
1 parent 6f48016 commit 7abbcdb

File tree

4 files changed

+137
-0
lines changed

4 files changed

+137
-0
lines changed

tests/AvatarTests.php

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<?php
2+
3+
use PHPUnit\Framework\TestCase;
4+
5+
class AvatarTests extends TestCase {
6+
7+
private $root = __DIR__ . '/images';
8+
9+
private $images = array(
10+
'man' => array(
11+
'/man/001.png'
12+
),
13+
'woman' => array(
14+
'/woman/001.png'
15+
)
16+
);
17+
18+
public function testGetRandomAvatar()
19+
{
20+
$avatar = new App\Avatar();
21+
$avatar->set_image_root($this->root);
22+
$avatar->set_images_array($this->images);
23+
24+
$rendered = $avatar->init()->random();
25+
26+
$this->assertArrayHasKey('file', $rendered);
27+
$this->assertArrayHasKey('headers', $rendered);
28+
$this->assertContains('images/', $rendered['file']);
29+
}
30+
31+
public function testGetManAvatar()
32+
{
33+
$avatar = new App\Avatar();
34+
$avatar->set_image_root($this->root);
35+
$avatar->set_images_array($this->images);
36+
37+
$rendered = $avatar->init()->man();
38+
39+
$this->assertArrayHasKey('file', $rendered);
40+
$this->assertArrayHasKey('headers', $rendered);
41+
$this->assertContains('images/man/001.png', $rendered['file']);
42+
}
43+
44+
public function testGetWomanAvatar()
45+
{
46+
$avatar = new App\Avatar();
47+
$avatar->set_image_root($this->root);
48+
$avatar->set_images_array($this->images);
49+
50+
$rendered = $avatar->init()->woman();
51+
52+
$this->assertArrayHasKey('file', $rendered);
53+
$this->assertArrayHasKey('headers', $rendered);
54+
$this->assertContains('images/woman/001.png', $rendered['file']);
55+
}
56+
57+
public function testGetAvaiableCategories()
58+
{
59+
$avatar = new App\Avatar();
60+
$avatar->set_image_root($this->root);
61+
$avatar->set_images_array($this->images);
62+
63+
$categories = $avatar->get_categories();
64+
65+
$this->assertContains('man', $categories);
66+
$this->assertContains('woman', $categories);
67+
}
68+
}

tests/avatar/LoaderTests.php

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<?php
2+
3+
use PHPUnit\Framework\TestCase;
4+
5+
class LoaderTests extends TestCase {
6+
7+
private $root = __DIR__ . '/../images';
8+
9+
private $images = array(
10+
'man' => array(
11+
'/man/001.png'
12+
),
13+
'woman' => array(
14+
'/woman/001.png'
15+
)
16+
);
17+
18+
public function testLoadRandomAvatarImage()
19+
{
20+
$loader = new App\Avatar\Loader();
21+
$loader->set_images_root_path($this->root);
22+
$loader->set_images_array($this->images);
23+
$loader->set_gender();
24+
25+
$image = $loader->load_image();
26+
27+
$this->assertArrayHasKey('file', $image);
28+
$this->assertArrayHasKey('headers', $image);
29+
$this->assertArrayHasKey('X-Avatar-Gender', $image['headers']);
30+
$this->assertArrayHasKey('Content-Type', $image['headers']);
31+
$this->assertContains('images/', $image['file']);
32+
}
33+
34+
public function testLoadManAvatarImage()
35+
{
36+
$loader = new App\Avatar\Loader();
37+
$loader->set_images_root_path($this->root);
38+
$loader->set_images_array($this->images);
39+
$loader->set_gender('man');
40+
41+
$image = $loader->load_image();
42+
43+
$this->assertArrayHasKey('file', $image);
44+
$this->assertArrayHasKey('headers', $image);
45+
$this->assertArrayHasKey('X-Avatar-Gender', $image['headers']);
46+
$this->assertArrayHasKey('Content-Type', $image['headers']);
47+
$this->assertTrue($image['headers']['Content-Type'] === 'image/png');
48+
$this->assertTrue($image['headers']['X-Avatar-Gender'] === 'man');
49+
$this->assertContains('images/man/001.png', $image['file']);
50+
}
51+
52+
public function testLoadWomanAvatarImage()
53+
{
54+
$loader = new App\Avatar\Loader();
55+
$loader->set_images_root_path($this->root);
56+
$loader->set_images_array($this->images);
57+
$loader->set_gender('woman');
58+
59+
$image = $loader->load_image();
60+
61+
$this->assertArrayHasKey('file', $image);
62+
$this->assertArrayHasKey('headers', $image);
63+
$this->assertArrayHasKey('X-Avatar-Gender', $image['headers']);
64+
$this->assertArrayHasKey('Content-Type', $image['headers']);
65+
$this->assertTrue($image['headers']['Content-Type'] === 'image/png');
66+
$this->assertTrue($image['headers']['X-Avatar-Gender'] === 'woman');
67+
$this->assertContains('images/woman/001.png', $image['file']);
68+
}
69+
}

tests/images/man/001.png

44.6 KB
Loading

tests/images/woman/001.png

35 KB
Loading

0 commit comments

Comments
 (0)