Completed
Pull Request — master (#16)
by Tonina
125:10 queued 61:03
created

BucketTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 27
rs 10
c 0
b 0
f 0
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A test_given_first_time_visitor_main_banner_is_returned() 0 7 1
A test_given_not_first_time_visitor_other_banner_is_returned() 0 7 1
A test_given_regular_visitor_last_available_banner_is_returned() 0 7 1
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace WMDE\BannerServer\Tests\Unit\Entity\BannerSelection;
6
7
use WMDE\BannerServer\Entity\BannerSelection\Banner;
8
use WMDE\BannerServer\Entity\BannerSelection\Bucket;
9
10
class BucketTest extends \PHPUnit\Framework\TestCase {
11
12
	public function test_given_first_time_visitor_main_banner_is_returned() {
13
		$bucket = new Bucket(
14
			'C18_WMDE_Test_ctrl',
15
			new Banner( 'C18_WMDE_Test_ctrl_main' ),
16
			[new Banner( 'C18_WMDE_Test_ctrl_secondary' )]
17
		);
18
		$this->assertEquals( $bucket->getBanner( 0 ), 'C18_WMDE_Test_ctrl_main' );
19
	}
20
21
	public function test_given_not_first_time_visitor_other_banner_is_returned() {
22
		$bucket = new Bucket(
23
			'C18_WMDE_Test_ctrl',
24
			new Banner( 'C18_WMDE_Test_ctrl_main' ),
25
			[new Banner( 'C18_WMDE_Test_ctrl_secondary' )]
26
		);
27
		$this->assertEquals( $bucket->getBanner( 1 ), 'C18_WMDE_Test_ctrl_secondary' );
28
	}
29
30
	public function test_given_regular_visitor_last_available_banner_is_returned() {
31
		$bucket = new Bucket(
32
			'C18_WMDE_Test_ctrl',
33
			new Banner( 'C18_WMDE_Test_ctrl_main' ),
34
			[new Banner( 'C18_WMDE_Test_ctrl_secondary' )]
35
		);
36
		$this->assertEquals( $bucket->getBanner( 5 ), 'C18_WMDE_Test_ctrl_secondary' );
37
	}
38
}
39