package edu.mit.media.funf.probe; import android.test.AndroidTestCase; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; import edu.mit.media.funf.FunfManager; public class ProbeTestCase<T extends Probe> extends AndroidTestCase { private Gson factory; private Class<T> probeClass; public ProbeTestCase(Class<T> probeClass) { this.probeClass = probeClass; } public Gson getFactory() { if (factory == null) { factory = new GsonBuilder().registerTypeAdapterFactory(FunfManager.getProbeFactory(getContext())).create(); } return factory; } public T getProbe(JsonObject config) { return getFactory().fromJson(config, probeClass); } }