expects('isAlive')->times(16)->andReturns(true); $mockConnections[] = $mockConnection; foreach (range(0, 9) as $index) { $mockConnections[] = m::mock(ConnectionInterface::class); } foreach (range(0, 15) as $index) { $retConnection = $roundRobin->select($mockConnections); $this->assertSame($mockConnections[0], $retConnection); } } public function testTenConnectionsFirstDies() { $roundRobin = new OpenSearch\ConnectionPool\Selectors\StickyRoundRobinSelector(); $mockConnections = []; $mockConnectionNotAlive = m::mock(ConnectionInterface::class); $mockConnectionNotAlive->expects('isAlive')->andReturns(false); $mockConnections[] = $mockConnectionNotAlive; $mockConnectionAlive = m::mock(ConnectionInterface::class); $mockConnectionAlive->expects('isAlive')->times(15)->andReturns(true); $mockConnections[] = $mockConnectionAlive; foreach (range(0, 8) as $index) { $mockConnections[] = m::mock(ConnectionInterface::class); } foreach (range(0, 15) as $index) { $retConnection = $roundRobin->select($mockConnections); $this->assertSame($mockConnections[1], $retConnection); } } }