test_class.declarator: preferences
test_class.modifier: private
test_class.original_string: private SharedPreferences preferences;
test_class.type: SharedPreferences
test_class.var_name: preferences
test_class.declarator: rxPreferences
test_class.modifier: private
test_class.original_string: private RxSharedPreferences rxPreferences;
test_class.type: RxSharedPreferences
test_class.var_name: rxPreferences
test_class.file: library/src/test/java/tiamat/PreferenceTest.java
test_class.identifier: PreferenceTest
test_case.body: @Test
      public void asObservable() {
          Preference<String> preference = rxPreferences.getString("key1", "defValue");
  
          TestSubscriber<String> o = new TestSubscriber<>();
          Subscription subscription = preference.asObservable().subscribe(o);
          o.assertValues("defValue");
  
          rxPreferences.putString("key1", "value1");
          o.assertValues("defValue", "value1");
  
          rxPreferences.remove("key1");
          o.assertValues("defValue", "value1", "defValue");
  
          subscription.unsubscribe();
          rxPreferences.putString("key1", "foo");
          o.assertValues("defValue", "value1", "defValue");
      }
test_case.class_method_signature: PreferenceTest.asObservable()
test_case.full_signature: @Test public void asObservable()
test_case.identifier: asObservable
test_case.invocations: getString subscribe asObservable assertValues putString assertValues remove assertValues unsubscribe putString assertValues
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void asObservable()
focal_class.declarator: preferences
focal_class.modifier: private final
focal_class.original_string: private final SharedPreferences preferences;
focal_class.type: SharedPreferences
focal_class.var_name: preferences
focal_class.declarator: key
focal_class.modifier: private final
focal_class.original_string: private final String key;
focal_class.type: String
focal_class.var_name: key
focal_class.declarator: defValue
focal_class.modifier: private final
focal_class.original_string: private final T defValue;
focal_class.type: T
focal_class.var_name: defValue
focal_class.declarator: proxy
focal_class.modifier: private final
focal_class.original_string: private final Proxy<T> proxy;
focal_class.type: Proxy<T>
focal_class.var_name: proxy
focal_class.declarator: values
focal_class.modifier: private final
focal_class.original_string: private final Observable<T> values;
focal_class.type: Observable<T>
focal_class.var_name: values
focal_class.file: library/src/main/java/tiamat/Preference.java
focal_class.identifier: Preference
focal_class.class_method_signature: Preference.Preference(SharedPreferences preferences, final String key, T defValue, Proxy<T> proxy, Observable<String> keyChanges)
focal_class.full_signature:   Preference(SharedPreferences preferences, final String key, T defValue, Proxy<T> proxy, Observable<String> keyChanges)
focal_class.identifier: Preference
focal_class.parameters: (SharedPreferences preferences, final String key, T defValue, Proxy<T> proxy, Observable<String> keyChanges)
focal_class.signature:  Preference(SharedPreferences preferences, final String key, T defValue, Proxy<T> proxy, Observable<String> keyChanges)
focal_class.class_method_signature: Preference.asValue()
focal_class.full_signature: public T asValue()
focal_class.identifier: asValue
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: T
focal_class.signature: T asValue()
focal_class.class_method_signature: Preference.asObservable()
focal_class.full_signature: public Observable<T> asObservable()
focal_class.identifier: asObservable
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Observable<T>
focal_class.signature: Observable<T> asObservable()
focal_class.class_method_signature: Preference.asAction()
focal_class.full_signature: public Action1<? super T> asAction()
focal_class.identifier: asAction
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Action1<? super T>
focal_class.signature: Action1<? super T> asAction()
focal_method.body: public Observable<T> asObservable() {
          return values;
      }
focal_method.class_method_signature: Preference.asObservable()
focal_method.full_signature: public Observable<T> asObservable()
focal_method.identifier: asObservable
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Observable<T>
focal_method.signature: Observable<T> asObservable()