diff --git a/tests/mutex/SpinlockMutexTest.php b/tests/mutex/SpinlockMutexTest.php index 76d55a68..f3e194ca 100644 --- a/tests/mutex/SpinlockMutexTest.php +++ b/tests/mutex/SpinlockMutexTest.php @@ -34,6 +34,17 @@ protected function setUp(): void } } + /** + * @return SpinlockMutex&MockObject + */ + private function createSpinlockMutexMock(float $timeout = 3): SpinlockMutex + { + return $this->getMockBuilder(SpinlockMutex::class) + ->setConstructorArgs(['test', $timeout]) + ->onlyMethods(['acquire', 'release']) + ->getMock(); + } + /** * Tests failing to acquire the lock. */ @@ -41,7 +52,7 @@ public function testFailAcquireLock(): void { $this->expectException(LockAcquireException::class); - $mutex = $this->getMockForAbstractClass(SpinlockMutex::class, ['test']); + $mutex = $this->createSpinlockMutexMock(); $mutex->expects(self::any()) ->method('acquire') ->willThrowException(new LockAcquireException()); @@ -59,7 +70,7 @@ public function testAcquireTimesOut(): void $this->expectException(TimeoutException::class); $this->expectExceptionMessage('Timeout of 3.0 seconds exceeded'); - $mutex = $this->getMockForAbstractClass(SpinlockMutex::class, ['test']); + $mutex = $this->createSpinlockMutexMock(); $mutex->expects(self::atLeastOnce()) ->method('acquire') ->willReturn(false); @@ -74,7 +85,7 @@ public function testAcquireTimesOut(): void */ public function testExecuteTooLong(): void { - $mutex = $this->getMockForAbstractClass(SpinlockMutex::class, ['test', 0.5]); + $mutex = $this->createSpinlockMutexMock(0.5); $mutex->expects(self::any()) ->method('acquire') ->willReturn(true); @@ -99,7 +110,7 @@ public function testExecuteTooLong(): void */ public function testExecuteBarelySucceeds(): void { - $mutex = $this->getMockForAbstractClass(SpinlockMutex::class, ['test', 0.5]); + $mutex = $this->createSpinlockMutexMock(0.5); $mutex->expects(self::any())->method('acquire')->willReturn(true); $mutex->expects(self::once())->method('release')->willReturn(true); @@ -115,7 +126,7 @@ public function testFailReleasingLock(): void { $this->expectException(LockReleaseException::class); - $mutex = $this->getMockForAbstractClass(SpinlockMutex::class, ['test']); + $mutex = $this->createSpinlockMutexMock(); $mutex->expects(self::any())->method('acquire')->willReturn(true); $mutex->expects(self::any())->method('release')->willReturn(false); @@ -127,7 +138,7 @@ public function testFailReleasingLock(): void */ public function testExecuteTimeoutLeavesOneSecondForKeyToExpire(): void { - $mutex = $this->getMockForAbstractClass(SpinlockMutex::class, ['test', 0.2]); + $mutex = $this->createSpinlockMutexMock(0.2); $mutex->expects(self::once()) ->method('acquire') ->with(self::anything(), 1.2)