assertSame(42, $dbo->getInt()); } public function testInt() { $dbo = LuIntDbo::jsonDeserialize(42); $this->assertSame(42, $dbo->getInt()); } public function testIntNegativeString() { $dbo = LuIntDbo::jsonDeserialize("-42"); $this->assertSame(-42, $dbo->getInt()); } public function testIntNegative() { $dbo = LuIntDbo::jsonDeserialize(-42); $this->assertSame(-42, $dbo->getInt()); } public function testStringIntPlusData() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize("42test"); } public function testFloat() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize(42.42); } public function testFloatString() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize("42.42"); } public function testExponentialString() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize("42e+01"); } public function testBool() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize(true); } public function testBoolString() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize("true"); } public function testArrayEmpty() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize([]); } public function testArrayString() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize(["42"]); } public function testArrayInt() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize([42]); } public function testArrayFloat() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize([42.42]); } public function testNull() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize(null); } public function testObject() { $this->expectException(AbortException::class); LuIntDbo::jsonDeserialize(new self()); } }