    @Test
    public void testObservable() {

        TestUtilComponent testUtilComponent = DaggerTestUtilComponent.builder()
                .appModule(new AppModule(mockContext))
                .fakeDateTimeModule(new FakeDateTimeModule())
                .testLoggerModule(new TestLoggerModule())
                .build();

        PublishSubject<NetworkActivity> networkActivityPublishSubject = PublishSubject.create();

        NetworkMonitor monitor = new NetworkMonitor(testUtilComponent, networkActivityPublishSubject) {
            @Override
            protected void saveToDataStore(NetworkActivity activity) {
                // do nothing.
            }
        };

        // Not much to test here yet as the Monitor is just observing NetworkActivity objects and writing them to the data store.
        Assert.assertNotNull(monitor.networkActivityDisposable);
        Assert.assertFalse(monitor.networkActivityDisposable.isDisposed());

        monitor.stop();
        Assert.assertTrue(monitor.networkActivityDisposable.isDisposed());
    }