1 package com.android.contacts.interactions; 2 3 import android.content.ContentValues; 4 import android.provider.CallLog.Calls; 5 import android.test.AndroidTestCase; 6 import android.test.suitebuilder.annotation.SmallTest; 7 8 import java.util.ArrayList; 9 import java.util.List; 10 11 /** 12 * Tests {@link CallLogInteractionsLoader} 13 */ 14 @SmallTest 15 public class CallLogInteractionsLoaderTest extends AndroidTestCase { 16 17 public void testCallLogInteractions_pruneDuplicates_containsDuplicates() { 18 List<ContactInteraction> interactions = new ArrayList<>(); 19 int maxToRetrieve = 5; 20 21 ContentValues interactionOneValues = new ContentValues(); 22 interactionOneValues.put(Calls.DATE, 1L); 23 interactions.add(new CallLogInteraction(interactionOneValues)); 24 25 ContentValues interactionTwoValues = new ContentValues(); 26 interactionTwoValues.put(Calls.DATE, 1L); 27 interactions.add(new CallLogInteraction(interactionTwoValues)); 28 29 interactions = CallLogInteractionsLoader.pruneDuplicateCallLogInteractions(interactions, 30 maxToRetrieve); 31 assertEquals(1, interactions.size()); 32 } 33 34 public void testCallLogInteractions_pruneDuplicates_containsNoDuplicates() { 35 List<ContactInteraction> interactions = new ArrayList<>(); 36 int maxToRetrieve = 5; 37 38 ContentValues interactionOneValues = new ContentValues(); 39 interactionOneValues.put(Calls.DATE, 1L); 40 interactions.add(new CallLogInteraction(interactionOneValues)); 41 42 ContentValues interactionTwoValues = new ContentValues(); 43 interactionTwoValues.put(Calls.DATE, 5L); 44 interactions.add(new CallLogInteraction(interactionTwoValues)); 45 46 interactions = CallLogInteractionsLoader.pruneDuplicateCallLogInteractions(interactions, 47 maxToRetrieve); 48 assertEquals(2, interactions.size()); 49 } 50 51 public void testCallLogInteractions_maxToRetrieve() { 52 List<ContactInteraction> interactions = new ArrayList<>(); 53 int maxToRetrieve = 1; 54 55 ContentValues interactionOneValues = new ContentValues(); 56 interactionOneValues.put(Calls.DATE, 1L); 57 interactions.add(new CallLogInteraction(interactionOneValues)); 58 59 ContentValues interactionTwoValues = new ContentValues(); 60 interactionTwoValues.put(Calls.DATE, 5L); 61 interactions.add(new CallLogInteraction(interactionTwoValues)); 62 63 interactions = CallLogInteractionsLoader.pruneDuplicateCallLogInteractions(interactions, 64 maxToRetrieve); 65 assertEquals(1, interactions.size()); 66 } 67 } 68