Мне было интересно, есть ли удобный способ проверить, завершено ли наблюдаемое. Например, я есть тестЧто такое хороший способ проверить, является ли наблюдаемое завершено?
test("An observable that tracks another observable is completed")
{
val sub = PublishSubject[Boolean](false)
val newOb = sub recovered // This methods returns an Observable[Try[T]]
val res = scala.collection.mutable.ListBuffer[Try[Boolean]]()
val cr = newOb subscribe(v => res += v, t => assert(false, "There shouldn't be an exception"),() => println("Stream Completed"))
sub.onNext(true)
sub.onNext(false)
sub.onNext(true)
sub.onCompleted
assert(res.toList === List(Success(true), Success(false), Success(true)))
newOb.isEmpty subscribe { v => assert(v == true, "Stream should be completed") }
}
Метод recovered
возвращает Наблюдаемое [Попытка [Т]] и является расширением стандартной Наблюдаемое. Я хочу проверить, что Observable [Try [T]] завершается, когда исходный Observable завершен.
Итак, я написал тест с темой, в которой я публикую несколько значений, а затем окончательно завершу. Есть ли простой способ проверить, что newOb также завершен? В Observable нет такого метода, как isCompleted.