Rx\Functional\Operator\DistinctUntilChangedTest::distinct_until_changed_all_changes PHP Метод

distinct_until_changed_all_changes() публичный Метод

    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());
    }