assertInstanceOf(Direction::class,Direction::make($validString)); } /** * @dataProvider validStrings */ public function testDeltaXY($validString){ $dir = Direction::make($validString); $this->assertTrue($dir->deltaX != 0 || $dir->deltaY != 0); } /** * @dataProvider validStrings */ public function testToString($validString){ $this->assertTrue(Direction::make($validString) == $validString); } /** * @dataProvider validStrings */ public function testOpposite($validString){ $dir = Direction::make($validString); $op = $dir->opposite(); $this->assertInstanceOf(Direction::class,$op); $this->assertFalse($dir == $op); } /** * @dataProvider validStrings */ public function testOppositeOpposite($validString){ $dir = Direction::make($validString); $opop = $dir->opposite()->opposite(); $this->assertTrue($dir == $opop); } }