public function test_isContinuous() { $Steampunked = new Steampunked\Steampunked(1); $Steampunked->setSize(6); $Steampunked->setPlayer("p1", "p2"); $owner = $Steampunked->getTurn(); $tile = new Steampunked\Tile("straight-h.png", array("N" => false, "W" => true, "S" => false, "E" => true)); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($tile, 1, 2), true); $straight_v = new Steampunked\Tile("straight-v.png", array("N" => true, "W" => false, "S" => true, "E" => false)); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($straight_v, 1, 2), false); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($straight_v, 1, 3), true); $cap_w = new Steampunked\Tile("cap-w.png", array("N" => false, "W" => true, "S" => false, "E" => false)); $owner->addPipe($cap_w, 1, 2); $cap_e = new Steampunked\Tile("cap-e.png", array("N" => false, "W" => false, "S" => false, "E" => true)); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($cap_e, 1, 3), true); $Steampunked = new Steampunked\Steampunked(1); $Steampunked->setSize(6); $Steampunked->setPlayer("p1", "p2"); $tile = new Steampunked\Tile("straight-h.png", array("N" => false, "W" => true, "S" => false, "E" => true)); $straight_v = new Steampunked\Tile("straight-v.png", array("N" => true, "W" => false, "S" => true, "E" => false)); $ninety_wn = new Steampunked\Tile("ninety-wn.png", array("N" => true, "W" => true, "S" => false, "E" => false)); $Steampunked->rotate(1); $Steampunked->addPipe(1, 1, 2); $Steampunked->addPipe(3, 2, 2); $Steampunked->addPipe(3, 3, 2); $Steampunked->addPipe(3, 4, 2); $Steampunked->newTurn(); $owner = $Steampunked->getTurn(); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($tile, 6, 2), true); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($straight_v, 6, 2), false); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($ninety_wn, 6, 2), true); $Steampunked->newTurn(); $Steampunked->addPipe(3, 5, 2); $Steampunked->newTurn(); $owner = $Steampunked->getTurn(); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($tile, 6, 2), false); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($straight_v, 6, 2), false); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($ninety_wn, 6, 2), false); $Steampunked->newTurn(); $owner = $Steampunked->getTurn(); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($tile, 6, 2), false); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($straight_v, 6, 2), false); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($ninety_wn, 6, 2), false); $Steampunked->rotate(3); $Steampunked->rotate(3); $Steampunked->addPipe(3, 5, 2); $Steampunked->newTurn(); $owner = $Steampunked->getTurn(); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($tile, 6, 2), true); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($straight_v, 6, 2), false); $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes()); $this->assertEquals($owner->isContinuous($ninety_wn, 6, 2), false); }
public function test_openValve() { $Steampunked = new Steampunked\Steampunked(self::SEED); $Steampunked->setSize(6); $Steampunked->setPlayer("p1", "p2"); $Steampunked->openValve(); $this->assertEquals($Steampunked->getWinnerName(), "p2"); $this->assertEquals($Steampunked->getLoserName(), "p1"); $Steampunked = new Steampunked\Steampunked(self::SEED); $Steampunked->setSize(6); $Steampunked->setPlayer("p1", "p2"); $Steampunked->newTurn(); $Steampunked->openValve(); $this->assertEquals($Steampunked->getWinnerName(), "p1"); $this->assertEquals($Steampunked->getLoserName(), "p2"); $Steampunked = new Steampunked\Steampunked(self::SEED); $Steampunked->setSize(6); $Steampunked->setPlayer("p1", "p2"); $Steampunked->newTurn(); $Steampunked->addPipe(3, 1, 2); $Steampunked->openValve(); $this->assertEquals($Steampunked->getWinnerName(), "p1"); $this->assertEquals($Steampunked->getLoserName(), "p2"); $Steampunked = new Steampunked\Steampunked(self::SEED); $Steampunked->setSize(6); $Steampunked->setPlayer("p1", "p2"); $Steampunked->newTurn(); $Steampunked->rotate(2); $Steampunked->rotate(2); $Steampunked->rotate(2); $Steampunked->addPipe(2, 6, 2); $Steampunked->addPipe(2, 6, 3); $Steampunked->addPipe(2, 6, 4); $Steampunked->addPipe(2, 6, 5); $Steampunked->addPipe(2, 6, 6); $Steampunked->addPipe(4, 6, 7); $Steampunked->addPipe(1, 5, 7); $Steampunked->addPipe(0, 5, 2); $Steampunked->addPipe(0, 5, 3); $Steampunked->addPipe(0, 5, 4); $Steampunked->addPipe(0, 5, 5); $Steampunked->addPipe(0, 5, 6); $Steampunked->openValve(); $this->assertEquals($Steampunked->getWinnerName(), "p2"); $this->assertEquals($Steampunked->getLoserName(), "p1"); $this->assertEquals($Steampunked->getAllPipes()[4][8]->getName(), "gauge-top-190.png"); $this->assertEquals($Steampunked->getAllPipes()[5][8]->getName(), "gauge-190.png"); $this->assertEquals($Steampunked->getAllPipes()[6][1]->getName(), "valve-open.png"); }