2016-05-13 20 views
6

Ho un'implementazione che utilizza un numero intero come chiave in HashMap. È già stato testato con JUnit. Ma voglio cambiarlo in SparseArray che è la versione più ottimizzata da Android. Non sono sicuro di come verrà eseguito il test dell'unità usando JUnit. Qualcuno ha un modo migliore per farlo?Test unità SparseArray utilizzando JUnit (utilizzando JVM)

risposta

9

C'è un'implementazione equivalente di SparseArray nella libreria di supporto chiamato SparseArrayCompat che può essere utilizzato in JVM unit test. Inoltre ha più funzioni rispetto a quella nativa, quindi è meglio usarlo.

0

Nel caso in cui qualcuno stia ancora cercando, non sono necessarie librerie di terze parti. Puoi semplicemente prendere in giro SparseArray.

Creare uno SparseArray.java file all'interno di app/src/test/java/android/util e incollare il seguente:

public class SparseArray<E> { 

    private HashMap<Integer, E> mHashMap; 

    public SparseArray() { 
     mHashMap = new HashMap<>(); 
    } 

    public void put(int key, E value) { 
     mHashMap.put(key, value); 
    } 

    public E get(int key) { 
     return mHashMap.get(key); 
    } 
} 

Nota: Nel caso in cui si utilizza Funcations accanto put e get si vuole è necessario implementare anche quelli qui.