As far as I understand, reactive streams [1] are an extension of the observer pattern, with implementions of reactive Observable, ObservableList, ObservableSet and ObservableMap in [2].
So, the goal of this TCK is to provide good'ol observer pattern without dependencies to JavaFX?
[1] https://github.com/reactive-streams/reactive-streams-jvm
[2] https://github.com/ReactiveX/RxJava
I worked the last week extensively with the internals of JavaFX and RxJava observables, which made me interested in the pros/cons of each approach. The first difference was right in the README.md: RxJava handles the next value, errors and completed states, and optionally uses the generic Change<T> as value. ObservablePattern unifies this into onChanged(ValueChangeEvent).
There is an analysis of JDK 1.0 Observable and its shortcomings in Erik Meijer's "Your Mouse is a Database" [3] in section "Crossing Futures and Callbacks".
[3] http://queue.acm.org/detail.cfm?id=2169076