public function distinct_until_changed_all_changes()
{
$xs = $this->createHotObservable([onNext(150, 1), onNext(210, 2), onNext(220, 3), onNext(230, 4), onNext(240, 5), onCompleted(250)]);
$results = $this->scheduler->startWithCreate(function () use($xs) {
return $xs->distinctUntilChanged();
});
$messages = $results->getMessages();
$this->assertEquals(5, 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(220, $messages[1]->getTime());
$this->assertTrue($messages[2]->getValue() instanceof OnNextNotification);
$this->assertTrue($messages[2]->getValue() == new OnNextNotification(4));
$this->assertEquals(230, $messages[2]->getTime());
$this->assertTrue($messages[3]->getValue() instanceof OnNextNotification);
$this->assertTrue($messages[3]->getValue() == new OnNextNotification(5));
$this->assertEquals(240, $messages[3]->getTime());
$this->assertTrue($messages[4]->getValue() instanceof OnCompletedNotification);
$this->assertEquals(250, $messages[4]->getTime());
}