mirror of
				https://github.com/furyfire/trueskill.git
				synced 2025-11-04 02:02:29 +01:00 
			
		
		
		
	
		
			
	
	
		
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								declare(strict_types=1);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace DNW\Skills\Tests;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use DNW\Skills\Team;
							 | 
						||
| 
								 | 
							
								use DNW\Skills\RatingContainer;
							 | 
						||
| 
								 | 
							
								use DNW\Skills\HashMap;
							 | 
						||
| 
								 | 
							
								use DNW\Skills\Player;
							 | 
						||
| 
								 | 
							
								use DNW\Skills\Rating;
							 | 
						||
| 
								 | 
							
								use DNW\Skills\Guard;
							 | 
						||
| 
								 | 
							
								use PHPUnit\Framework\TestCase;
							 | 
						||
| 
								 | 
							
								use PHPUnit\Framework\Attributes\CoversClass;
							 | 
						||
| 
								 | 
							
								use PHPUnit\Framework\Attributes\UsesClass;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#[CoversClass(Team::class)]
							 | 
						||
| 
								 | 
							
								#[CoversClass(RatingContainer::class)]
							 | 
						||
| 
								 | 
							
								#[UsesClass(Hashmap::class)]
							 | 
						||
| 
								 | 
							
								#[UsesClass(Player::class)]
							 | 
						||
| 
								 | 
							
								#[UsesClass(Rating::class)]
							 | 
						||
| 
								 | 
							
								#[UsesClass(Guard::class)]
							 | 
						||
| 
								 | 
							
								class TeamTest extends TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function testTeam(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $p1 = new Player(1);
							 | 
						||
| 
								 | 
							
								        $p2 = new Player(2);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $r1 = new Rating(100, 10);
							 | 
						||
| 
								 | 
							
								        $r2 = new Rating(200, 20);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $rc = new Team($p1, $r1);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals($r1, $rc->getRating($p1));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals([$p1], $rc->getAllPlayers());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals([$r1], $rc->getAllRatings());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, $rc->count());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $rc->addPlayer($p2, $r2);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals($r2, $rc->getRating($p2));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals([$p1, $p2], $rc->getAllPlayers());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals([$r1, $r2], $rc->getAllRatings());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(2, $rc->count());
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testTeamConstructor(): void
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $p = new Player(0);
							 | 
						||
| 
								 | 
							
								        $r = new Rating(100, 10);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $rc = new Team(NULL, NULL);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(0, $rc->count());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $rc = new Team($p, NULL);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(0, $rc->count());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $rc = new Team(NULL, $r);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(0, $rc->count());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $rc = new Team($p, $r);
							 | 
						||
| 
								 | 
							
								        $this->assertEquals($r, $rc->getRating($p));
							 | 
						||
| 
								 | 
							
								        $this->assertEquals([$p], $rc->getAllPlayers());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals([$r], $rc->getAllRatings());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(1, $rc->count());
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |