[new ValidAmount()], ]; $data = [ 'amount' => 1, ]; $v = $this->app['validator']->make($data, $rules); $this->assertTrue($v->passes()); } public function testInvalidAmountValid() { $rules = [ 'amount' => [new ValidAmount()], ]; $data = [ 'amount' => 'aa', ]; $v = $this->app['validator']->make($data, $rules); $this->assertFalse($v->passes()); } public function testIllegalChars() { $rules = [ 'amount' => [new ValidAmount()], ]; $data = [ 'amount' => '5+5', ]; $v = $this->app['validator']->make($data, $rules); $this->assertFalse($v->passes()); } public function testIllegalCharsNaked() { $rules = [ 'amount' => [new ValidAmount()], ]; $data = [ 'amount' => 5 + 5, //resolves as 10 - but in practice, i believe this amount is wrapped in quotes so interpreted as a string ]; $v = $this->app['validator']->make($data, $rules); $this->assertTrue($v->passes()); } public function testinValidScenario1() { $rules = [ 'amount' => [new ValidAmount()], ]; $data = [ 'amount' => '-10x', ]; $v = $this->app['validator']->make($data, $rules); $this->assertFalse($v->passes()); } public function testValidScenario2() { $rules = [ 'amount' => [new ValidAmount()], ]; $data = [ 'amount' => -10, ]; $v = $this->app['validator']->make($data, $rules); $this->assertTrue($v->passes()); } public function testValidScenario3() { $rules = [ 'amount' => [new ValidAmount()], ]; $data = [ 'amount' => '-10', ]; $v = $this->app['validator']->make($data, $rules); $this->assertTrue($v->passes()); } public function testInValidScenario4() { $rules = [ 'amount' => [new ValidAmount()], ]; $data = [ 'amount' => '-0 1', ]; $v = $this->app['validator']->make($data, $rules); $this->assertFalse($v->passes()); } }