package com.android.contacts.interactions;
import android.content.ContentValues;
import android.provider.CallLog.Calls;
import android.test.AndroidTestCase;
import java.util.ArrayList;
import java.util.List;
/**
* Tests {@link CallLogInteractionsLoader}
*/
public class CallLogInteractionsLoaderTest extends AndroidTestCase {
public void testCallLogInteractions_pruneDuplicates_containsDuplicates() {
List<ContactInteraction> interactions = new ArrayList<>();
int maxToRetrieve = 5;
ContentValues interactionOneValues = new ContentValues();
interactionOneValues.put(Calls.DATE, 1L);
interactions.add(new CallLogInteraction(interactionOneValues));
ContentValues interactionTwoValues = new ContentValues();
interactionTwoValues.put(Calls.DATE, 1L);
interactions.add(new CallLogInteraction(interactionTwoValues));
interactions = CallLogInteractionsLoader.pruneDuplicateCallLogInteractions(interactions,
maxToRetrieve);
assertEquals(1, interactions.size());
}
public void testCallLogInteractions_pruneDuplicates_containsNoDuplicates() {
List<ContactInteraction> interactions = new ArrayList<>();
int maxToRetrieve = 5;
ContentValues interactionOneValues = new ContentValues();
interactionOneValues.put(Calls.DATE, 1L);
interactions.add(new CallLogInteraction(interactionOneValues));
ContentValues interactionTwoValues = new ContentValues();
interactionTwoValues.put(Calls.DATE, 5L);
interactions.add(new CallLogInteraction(interactionTwoValues));
interactions = CallLogInteractionsLoader.pruneDuplicateCallLogInteractions(interactions,
maxToRetrieve);
assertEquals(2, interactions.size());
}
public void testCallLogInteractions_maxToRetrieve() {
List<ContactInteraction> interactions = new ArrayList<>();
int maxToRetrieve = 1;
ContentValues interactionOneValues = new ContentValues();
interactionOneValues.put(Calls.DATE, 1L);
interactions.add(new CallLogInteraction(interactionOneValues));
ContentValues interactionTwoValues = new ContentValues();
interactionTwoValues.put(Calls.DATE, 5L);
interactions.add(new CallLogInteraction(interactionTwoValues));
interactions = CallLogInteractionsLoader.pruneDuplicateCallLogInteractions(interactions,
maxToRetrieve);
assertEquals(1, interactions.size());
}
}