Skip to content

Commit eedeeb9

Browse files
Merge pull request ReactiveX#1468 from zsxwing/rxscala-completeness
RxScala: Update CompletenessTest.scala
2 parents cafabff + 36fafb2 commit eedeeb9

File tree

1 file changed

+22
-30
lines changed

1 file changed

+22
-30
lines changed

language-adaptors/rxjava-scala/src/test/scala/rx/lang/scala/CompletenessTest.scala

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,8 @@ class CompletenessTest extends JUnitSuite {
6767
*/
6868
def correspondenceChanges = Map(
6969
// manually added entries for Java instance methods
70-
"aggregate(Func2[T, T, T])" -> "reduce((U, U) => U)",
71-
"aggregate(R, Func2[R, _ >: T, R])" -> "foldLeft(R)((R, T) => R)",
7270
"all(Func1[_ >: T, Boolean])" -> "forall(T => Boolean)",
71+
"ambWith(Observable[_ <: T])" -> "amb(Observable[U])",
7372
"asObservable()" -> unnecessary,
7473
"buffer(Int)" -> "tumblingBuffer(Int)",
7574
"buffer(Int, Int)" -> "slidingBuffer(Int, Int)",
@@ -85,22 +84,25 @@ class CompletenessTest extends JUnitSuite {
8584
"buffer(Observable[_ <: TOpening], Func1[_ >: TOpening, _ <: Observable[_ <: TClosing]])" -> "slidingBuffer(Observable[Opening])(Opening => Observable[Any])",
8685
"cast(Class[R])" -> "[RxJava needs this one because `rx.Observable` is invariant. `Observable` in RxScala is covariant and does not need this operator.]",
8786
"collect(R, Action2[R, _ >: T])" -> "foldLeft(R)((R, T) => R)",
87+
"concatWith(Observable[_ <: T])" -> "[use `o1 ++ o2`]",
8888
"contains(Any)" -> "contains(U)",
8989
"count()" -> "length",
9090
"debounce(Func1[_ >: T, _ <: Observable[U]])" -> "debounce(T => Observable[Any])",
9191
"defaultIfEmpty(T)" -> "orElse(=> U)",
9292
"delay(Func0[_ <: Observable[U]], Func1[_ >: T, _ <: Observable[V]])" -> "delay(() => Observable[Any], T => Observable[Any])",
9393
"delay(Func1[_ >: T, _ <: Observable[U]])" -> "delay(T => Observable[Any])",
9494
"dematerialize()" -> "dematerialize(<:<[Observable[T], Observable[Notification[U]]])",
95+
"doOnCompleted(Action0)" -> "doOnCompleted(=> Unit)",
9596
"doOnEach(Action1[Notification[_ >: T]])" -> "[use `doOnEach(T => Unit, Throwable => Unit, () => Unit)`]",
97+
"doOnTerminate(Action0)" -> "doOnTerminate(=> Unit)",
9698
"elementAtOrDefault(Int, T)" -> "elementAtOrDefault(Int, U)",
99+
"finallyDo(Action0)" -> "finallyDo(=> Unit)",
97100
"first(Func1[_ >: T, Boolean])" -> commentForFirstWithPredicate,
98101
"firstOrDefault(T)" -> "firstOrElse(=> U)",
99102
"firstOrDefault(T, Func1[_ >: T, Boolean])" -> "[use `.filter(condition).firstOrElse(default)`]",
100103
"forEach(Action1[_ >: T])" -> "foreach(T => Unit)",
101104
"forEach(Action1[_ >: T], Action1[Throwable])" -> "foreach(T => Unit, Throwable => Unit)",
102105
"forEach(Action1[_ >: T], Action1[Throwable], Action0)" -> "foreach(T => Unit, Throwable => Unit, () => Unit)",
103-
"groupBy(Func1[_ >: T, _ <: K], Func1[_ >: T, _ <: R])" -> "[use `groupBy` and `map`]",
104106
"groupByUntil(Func1[_ >: T, _ <: TKey], Func1[_ >: GroupedObservable[TKey, T], _ <: Observable[_ <: TDuration]])" -> "groupByUntil(T => K)((K, Observable[T]) => Observable[Any])",
105107
"groupByUntil(Func1[_ >: T, _ <: TKey], Func1[_ >: T, _ <: TValue], Func1[_ >: GroupedObservable[TKey, TValue], _ <: Observable[_ <: TDuration]])" -> "groupByUntil(T => K, T => V)((K, Observable[V]) => Observable[Any])",
106108
"groupJoin(Observable[T2], Func1[_ >: T, _ <: Observable[D1]], Func1[_ >: T2, _ <: Observable[D2]], Func2[_ >: T, _ >: Observable[T2], _ <: R])" -> "groupJoin(Observable[S])(T => Observable[Any], S => Observable[Any], (T, Observable[S]) => R)",
@@ -111,12 +113,12 @@ class CompletenessTest extends JUnitSuite {
111113
"lastOrDefault(T, Func1[_ >: T, Boolean])" -> "[use `filter(predicate).lastOrElse(default)`]",
112114
"lift(Operator[_ <: R, _ >: T])" -> "lift(Subscriber[R] => Subscriber[T])",
113115
"limit(Int)" -> "take(Int)",
114-
"mapWithIndex(Func2[_ >: T, Integer, _ <: R])" -> "[combine `zipWithIndex` with `map` or with a for comprehension]",
115116
"mergeMap(Func1[_ >: T, _ <: Observable[_ <: R]])" -> "flatMap(T => Observable[R])",
116117
"mergeMap(Func1[_ >: T, _ <: Observable[_ <: R]], Func1[_ >: Throwable, _ <: Observable[_ <: R]], Func0[_ <: Observable[_ <: R]])" -> "flatMap(T => Observable[R], Throwable => Observable[R], () => Observable[R])",
117118
"mergeMap(Func1[_ >: T, _ <: Observable[_ <: U]], Func2[_ >: T, _ >: U, _ <: R])" -> "flatMapWith(T => Observable[U])((T, U) => R)",
118119
"mergeMapIterable(Func1[_ >: T, _ <: Iterable[_ <: R]])" -> "flatMapIterable(T => Iterable[R])",
119120
"mergeMapIterable(Func1[_ >: T, _ <: Iterable[_ <: U]], Func2[_ >: T, _ >: U, _ <: R])" -> "flatMapIterableWith(T => Iterable[U])((T, U) => R)",
121+
"mergeWith(Observable[_ <: T])" -> "merge(Observable[U])",
120122
"multicast(Subject[_ >: T, _ <: R])" -> "multicast(Subject[R])",
121123
"multicast(Func0[_ <: Subject[_ >: T, _ <: TIntermediate]], Func1[_ >: Observable[TIntermediate], _ <: Observable[TResult]])" -> "multicast(() => Subject[R])(Observable[R] => Observable[U])",
122124
"ofType(Class[R])" -> "[use `filter(_.isInstanceOf[Class])",
@@ -127,20 +129,19 @@ class CompletenessTest extends JUnitSuite {
127129
"onErrorFlatMap(Func1[OnErrorThrowable, _ <: Observable[_ <: T]])" -> "onErrorFlatMap((Throwable, Option[Any]) => Observable[U])",
128130
"parallel(Func1[Observable[T], Observable[R]])" -> "parallel(Observable[T] => Observable[R])",
129131
"parallel(Func1[Observable[T], Observable[R]], Scheduler)" -> "parallel(Observable[T] => Observable[R], Scheduler)",
130-
"publish(T)" -> "publish(U)",
131-
"publish(Func1[_ >: Observable[T], _ <: Observable[R]])" -> "publish(Observable[U] => Observable[R])",
132-
"publish(Func1[_ >: Observable[T], _ <: Observable[R]], T)" -> "publish(Observable[U] => Observable[R], U)",
132+
"publish(Func1[_ >: Observable[T], _ <: Observable[R]])" -> "publish(Observable[T] => Observable[R])",
133+
"publish(Func1[_ >: Observable[T], _ <: Observable[R]], T)" -> "publish(Observable[T] => Observable[R], T @uncheckedVariance)",
133134
"publishLast(Func1[_ >: Observable[T], _ <: Observable[R]])" -> "publishLast(Observable[T] => Observable[R])",
134135
"reduce(Func2[T, T, T])" -> "reduce((U, U) => U)",
135136
"reduce(R, Func2[R, _ >: T, R])" -> "foldLeft(R)((R, T) => R)",
136-
"replay(Func1[_ >: Observable[T], _ <: Observable[R]])" -> "replay(Observable[U] => Observable[R])",
137-
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Int)" -> "replay(Observable[U] => Observable[R], Int)",
138-
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Int, Long, TimeUnit)" -> "replay(Observable[U] => Observable[R], Int, Duration)",
139-
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Int, Long, TimeUnit, Scheduler)" -> "replay(Observable[U] => Observable[R], Int, Duration, Scheduler)",
140-
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Int, Scheduler)" -> "replay(Observable[U] => Observable[R], Int, Scheduler)",
141-
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Long, TimeUnit)" -> "replay(Observable[U] => Observable[R], Duration)",
142-
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Long, TimeUnit, Scheduler)" -> "replay(Observable[U] => Observable[R], Duration, Scheduler)",
143-
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Scheduler)" -> "replay(Observable[U] => Observable[R], Scheduler)",
137+
"replay(Func1[_ >: Observable[T], _ <: Observable[R]])" -> "replay(Observable[T] => Observable[R])",
138+
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Int)" -> "replay(Observable[T] => Observable[R], Int)",
139+
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Int, Long, TimeUnit)" -> "replay(Observable[T] => Observable[R], Int, Duration)",
140+
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Int, Long, TimeUnit, Scheduler)" -> "replay(Observable[T] => Observable[R], Int, Duration, Scheduler)",
141+
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Int, Scheduler)" -> "replay(Observable[T] => Observable[R], Int, Scheduler)",
142+
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Long, TimeUnit)" -> "replay(Observable[T] => Observable[R], Duration)",
143+
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Long, TimeUnit, Scheduler)" -> "replay(Observable[T] => Observable[R], Duration, Scheduler)",
144+
"replay(Func1[_ >: Observable[T], _ <: Observable[R]], Scheduler)" -> "replay(Observable[T] => Observable[R], Scheduler)",
144145
"retry(Func2[Integer, Throwable, Boolean])" -> "retry((Int, Throwable) => Boolean)",
145146
"sample(Observable[U])" -> "sample(Observable[Any])",
146147
"scan(Func2[T, T, T])" -> unnecessary,
@@ -153,9 +154,8 @@ class CompletenessTest extends JUnitSuite {
153154
"skip(Long, TimeUnit, Scheduler)" -> "drop(Duration, Scheduler)",
154155
"skipWhile(Func1[_ >: T, Boolean])" -> "dropWhile(T => Boolean)",
155156
"skipWhileWithIndex(Func2[_ >: T, Integer, Boolean])" -> unnecessary,
156-
"skipUntil(Observable[U])" -> "dropUntil(Observable[E])",
157+
"skipUntil(Observable[U])" -> "dropUntil(Observable[Any])",
157158
"startWith(T)" -> "[use `item +: o`]",
158-
"startWith(Array[T])" -> "[use `Observable.items(items) ++ o`]",
159159
"startWith(Array[T], Scheduler)" -> "[use `Observable.items(items).subscribeOn(scheduler) ++ o`]",
160160
"startWith(Iterable[T])" -> "[use `Observable.from(iterable) ++ o`]",
161161
"startWith(Iterable[T], Scheduler)" -> "[use `Observable.from(iterable).subscribeOn(scheduler) ++ o`]",
@@ -175,9 +175,12 @@ class CompletenessTest extends JUnitSuite {
175175
"takeLastBuffer(Int, Long, TimeUnit, Scheduler)" -> commentForTakeLastBuffer,
176176
"takeLastBuffer(Long, TimeUnit)" -> commentForTakeLastBuffer,
177177
"takeLastBuffer(Long, TimeUnit, Scheduler)" -> commentForTakeLastBuffer,
178+
"takeUntil(Observable[_ <: E])" -> "takeUntil(Observable[Any])",
178179
"takeWhileWithIndex(Func2[_ >: T, _ >: Integer, Boolean])" -> "[use `.zipWithIndex.takeWhile{case (elem, index) => condition}.map(_._1)`]",
179-
"timeout(Func0[_ <: Observable[U]], Func1[_ >: T, _ <: Observable[V]], Observable[_ <: T])" -> "timeout(() => Observable[U], T => Observable[V], Observable[O])",
180-
"timeout(Func1[_ >: T, _ <: Observable[V]], Observable[_ <: T])" -> "timeout(() => Observable[U], T => Observable[V])",
180+
"timeout(Func0[_ <: Observable[U]], Func1[_ >: T, _ <: Observable[V]], Observable[_ <: T])" -> "timeout(() => Observable[Any], T => Observable[Any], Observable[U])",
181+
"timeout(Func1[_ >: T, _ <: Observable[V]], Observable[_ <: T])" -> "timeout(T => Observable[Any], Observable[U])",
182+
"timeout(Func0[_ <: Observable[U]], Func1[_ >: T, _ <: Observable[V]])" -> "timeout(() => Observable[Any], T => Observable[Any])",
183+
"timeout(Func1[_ >: T, _ <: Observable[V]])" -> "timeout(T => Observable[Any])",
181184
"timeout(Long, TimeUnit, Observable[_ <: T])" -> "timeout(Duration, Observable[U])",
182185
"timeout(Long, TimeUnit, Observable[_ <: T], Scheduler)" -> "timeout(Duration, Observable[U], Scheduler)",
183186
"timer(Long, Long, TimeUnit)" -> "timer(Duration, Duration)",
@@ -201,17 +204,12 @@ class CompletenessTest extends JUnitSuite {
201204

202205
// manually added entries for Java static methods
203206
"amb(Iterable[_ <: Observable[_ <: T]])" -> "amb(Observable[T]*)",
204-
"average(Observable[Integer])" -> averageProblem,
205-
"averageDoubles(Observable[Double])" -> averageProblem,
206-
"averageFloats(Observable[Float])" -> averageProblem,
207-
"averageLongs(Observable[Long])" -> averageProblem,
208207
"create(OnSubscribeFunc[T])" -> "create(Observer[T] => Subscription)",
209208
"create(OnSubscribe[T])" -> "apply(Subscriber[T] => Unit)",
210209
"combineLatest(Observable[_ <: T1], Observable[_ <: T2], Func2[_ >: T1, _ >: T2, _ <: R])" -> "combineLatest(Observable[U])",
211210
"combineLatest(List[_ <: Observable[_ <: T]], FuncN[_ <: R])" -> "combineLatest(Seq[Observable[T]])(Seq[T] => R)",
212211
"concat(Observable[_ <: Observable[_ <: T]])" -> "concat(<:<[Observable[T], Observable[Observable[U]]])",
213212
"defer(Func0[_ <: Observable[_ <: T]])" -> "defer(=> Observable[T])",
214-
"from(Array[T])" -> "items(T*)",
215213
"from(<repeated...>[T])" -> "items(T*)",
216214
"from(Array[T], Scheduler)" -> "from(Iterable[T], Scheduler)",
217215
"from(Iterable[_ <: T])" -> "from(Iterable[T])",
@@ -233,16 +231,10 @@ class CompletenessTest extends JUnitSuite {
233231
"mergeDelayError(Observable[_ <: Observable[_ <: T]])" -> "flattenDelayError(<:<[Observable[T], Observable[Observable[U]]])",
234232
"parallelMerge(Observable[Observable[T]], Int)" -> "parallelMerge(Int)(<:<[Observable[T], Observable[Observable[U]]])",
235233
"parallelMerge(Observable[Observable[T]], Int, Scheduler)" -> "parallelMerge(Int, Scheduler)(<:<[Observable[T], Observable[Observable[U]]])",
236-
"pivot(Observable[GroupedObservable[K1, GroupedObservable[K2, T]]])" -> "pivot(<:<[Observable[T], Observable[(K1, Observable[(K2, Observable[U])])]])",
237234
"sequenceEqual(Observable[_ <: T], Observable[_ <: T])" -> "sequenceEqual(Observable[U])",
238235
"sequenceEqual(Observable[_ <: T], Observable[_ <: T], Func2[_ >: T, _ >: T, Boolean])" -> "sequenceEqualWith(Observable[U])((U, U) => Boolean)",
239236
"range(Int, Int)" -> "[use `(start until (start + count)).toObservable` instead of `range(start, count)`]",
240237
"range(Int, Int, Scheduler)" -> "[use `(start until (start + count)).toObservable.subscribeOn(scheduler)` instead of `range(start, count, scheduler)`]`]",
241-
"sum(Observable[Integer])" -> "sum(Numeric[U])",
242-
"sumDoubles(Observable[Double])" -> "sum(Numeric[U])",
243-
"sumFloats(Observable[Float])" -> "sum(Numeric[U])",
244-
"sumLongs(Observable[Long])" -> "sum(Numeric[U])",
245-
"switchDo(Observable[_ <: Observable[_ <: T]])" -> deprecated,
246238
"switchOnNext(Observable[_ <: Observable[_ <: T]])" -> "switch(<:<[Observable[T], Observable[Observable[U]]])",
247239
"zip(Observable[_ <: T1], Observable[_ <: T2], Func2[_ >: T1, _ >: T2, _ <: R])" -> "[use instance method `zip` and `map`]",
248240
"zip(Observable[_ <: Observable[_]], FuncN[_ <: R])" -> "[use `zip` in companion object and `map`]",

0 commit comments

Comments
 (0)