public function distinct_until_changed_keyselector_div2()
{
$xs = $this->createHotObservable([onNext(150, 1), onNext(210, 2), onNext(220, 4), onNext(230, 3), onNext(240, 5), onCompleted(250)]);
$results = $this->scheduler->startWithCreate(function () use($xs) {
return $xs->distinctUntilKeyChanged(function ($x) {
return $x % 2;
});
});
$messages = $results->getMessages();
$this->assertEquals(3, count($messages));
$this->assertTrue($messages[0]->getValue() instanceof OnNextNotification);
$this->assertTrue($messages[0]->getValue() == new OnNextNotification(2));
$this->assertEquals(210, $messages[0]->getTime());
$this->assertTrue($messages[1]->getValue() instanceof OnNextNotification);
$this->assertTrue($messages[1]->getValue() == new OnNextNotification(3));
$this->assertEquals(230, $messages[1]->getTime());
$this->assertTrue($messages[2]->getValue() instanceof OnCompletedNotification);
$this->assertEquals(250, $messages[2]->getTime());
}