package org.mercury_im.messenger; import org.junit.Test; import org.mercury_im.messenger.xmpp.MercuryConnection; import org.mercury_im.messenger.xmpp.MercuryConnection.ConnectionState; import io.reactivex.observers.TestObserver; import io.reactivex.schedulers.TestScheduler; import io.reactivex.subjects.BehaviorSubject; import static org.junit.Assert.assertEquals; /** * Example local unit test, which will execute on the development machine (host). * * @see Testing documentation */ public class ExampleUnitTest { @Test public void addition_isCorrect() { assertEquals(4, 2 + 2); } @Test public void test() { TestScheduler testScheduler = new TestScheduler(); BehaviorSubject state = BehaviorSubject.createDefault(ConnectionState.closed); TestObserver observable = state.test(); assertEquals(ConnectionState.closed, state.getValue()); state.onNext(ConnectionState.connected); assertEquals(ConnectionState.connected, state.getValue()); observable.assertValues(ConnectionState.connected, ConnectionState.closed).dispose(); } }