    @Test
    public void testDataOfClazz_DataReference() {

        TestObserver<String> sub = TestObserver.create();

        RxFirebaseDatabase.dataOf(mockDatabaseReference, String.class)
                .subscribe(sub);

        verifyDataReferenceAddListenerForSingleValueEvent();
        callValueEventOnDataChange("Foo");

        sub.assertComplete();
        sub.assertNoErrors();

        sub.assertValue("Foo");

        sub.dispose();

        callValueEventOnDataChange("Foo");

        // Ensure no more values are emitted after unsubscribe
        sub.assertValueCount(1);
    }