public function testReadPreference()
{
$collection = $this->getCollection();
$this->assertSame(['type' => \MongoClient::RP_PRIMARY], $collection->getReadPreference());
$this->assertFalse($collection->getSlaveOkay());
$this->assertTrue($collection->setReadPreference(\MongoClient::RP_SECONDARY, [['a' => 'b']]));
$this->assertSame(['type' => \MongoClient::RP_SECONDARY, 'tagsets' => [['a' => 'b']]], $collection->getReadPreference());
$this->assertTrue($collection->getSlaveOkay());
$this->assertTrue($collection->setSlaveOkay(true));
$this->assertSame(['type' => \MongoClient::RP_SECONDARY_PREFERRED, 'tagsets' => [['a' => 'b']]], $collection->getReadPreference());
$this->assertTrue($collection->setSlaveOkay(false));
$this->assertArraySubset(['type' => \MongoClient::RP_PRIMARY], $collection->getReadPreference());
}