Example #1
0
 /**
  * @test
  */
 public function it_asks_ship_endpoint_on_a_field_without_a_ship()
 {
     $field = Field::generate(1, 1);
     $this->setExpectedException(NoShipAtThisFieldException::class);
     $field->endPointOfShip();
 }
Example #2
0
 /**
  * @test
  */
 public function it_sinks_a_ship_in_fields_with_a_ship()
 {
     $fields = [];
     $data = ['startPoint' => ['x' => 1, 'y' => 1], 'endPoint' => ['x' => 1, 'y' => 2], 'hits' => 1];
     $ship = Ship::fromArray($data);
     $field = Field::generate(1, 1);
     $field->place($ship);
     $fields[] = $field;
     $field = Field::generate(1, 2);
     $field->place($ship);
     $fields[] = $field;
     $fieldsClass = Fields::create($fields);
     $fieldsClass->shoot(Coords::create(1, 1));
     $this->assertEquals(true, $fieldsClass->didShipSankAt(Coords::create(1, 1)));
     $this->assertEquals(true, $fieldsClass->didAllShipsSink());
 }