blob: 7b60bebca783ff0b07383de7a73209f9469a85e3 [file] [log] [blame]
Paul Soulos856820d2014-07-18 14:41:34 -07001/*
2 * Copyright (C) 2014 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License
15 */
Gary Mai69c182a2016-12-05 13:07:03 -080016package com.android.contacts.model.dataitem;
Paul Soulos856820d2014-07-18 14:41:34 -070017
18import android.content.ContentValues;
Paul Soulosa69518c2014-07-28 14:12:23 -070019import android.provider.ContactsContract.CommonDataKinds.Email;
20import android.provider.ContactsContract.CommonDataKinds.Event;
21import android.provider.ContactsContract.CommonDataKinds.Im;
22import android.provider.ContactsContract.CommonDataKinds.Nickname;
23import android.provider.ContactsContract.CommonDataKinds.Note;
24import android.provider.ContactsContract.CommonDataKinds.Organization;
25import android.provider.ContactsContract.CommonDataKinds.Phone;
26import android.provider.ContactsContract.CommonDataKinds.Relation;
27import android.provider.ContactsContract.CommonDataKinds.SipAddress;
28import android.provider.ContactsContract.CommonDataKinds.StructuredName;
29import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
30import android.provider.ContactsContract.CommonDataKinds.Website;
Paul Soulos856820d2014-07-18 14:41:34 -070031import android.provider.ContactsContract.Contacts.Data;
Paul Soulosa69518c2014-07-28 14:12:23 -070032import android.provider.ContactsContract.Contacts.Entity;
Paul Soulos856820d2014-07-18 14:41:34 -070033import android.test.AndroidTestCase;
Walter Jang7e79b522016-08-23 09:33:41 -070034import android.test.suitebuilder.annotation.SmallTest;
Paul Soulos856820d2014-07-18 14:41:34 -070035
Gary Mai0a49afa2016-12-05 15:53:58 -080036import com.android.contacts.Collapser;
Gary Mai69c182a2016-12-05 13:07:03 -080037import com.android.contacts.model.account.AccountType.EditType;
38import com.android.contacts.model.account.BaseAccountType;
39import com.android.contacts.model.account.GoogleAccountType;
Paul Soulos856820d2014-07-18 14:41:34 -070040
41import java.util.ArrayList;
Paul Soulosa69518c2014-07-28 14:12:23 -070042import java.util.List;
Paul Soulos856820d2014-07-18 14:41:34 -070043
44/**
45 * Test case for {@link DataItem}.
46 */
Walter Jang7e79b522016-08-23 09:33:41 -070047@SmallTest
Paul Soulos856820d2014-07-18 14:41:34 -070048public class DataItemTests extends AndroidTestCase {
49
Paul Soulosa69518c2014-07-28 14:12:23 -070050 private ContentValues mValues1;
51 private ContentValues mValues2;
52 private ContentValues mValues3;
53 private ContentValues mValues4;
54 private GoogleAccountType mGoogleAccountType;
Paul Soulos856820d2014-07-18 14:41:34 -070055
Paul Soulosa69518c2014-07-28 14:12:23 -070056 @Override
57 protected void setUp() {
58 mValues1 = new ContentValues();
59 mValues2 = new ContentValues();
60 mValues3 = new ContentValues();
61 mValues4 = new ContentValues();
Paul Soulos856820d2014-07-18 14:41:34 -070062
Paul Soulosa69518c2014-07-28 14:12:23 -070063 mValues1.put(Data._ID, 1);
64 mValues2.put(Data._ID, 2);
65 mValues3.put(Data._ID, 3);
66 mValues4.put(Data._ID, 4);
Paul Soulos856820d2014-07-18 14:41:34 -070067
Paul Soulosa69518c2014-07-28 14:12:23 -070068 mGoogleAccountType = new GoogleAccountType(getContext(), "packageName");
69 }
Paul Soulos856820d2014-07-18 14:41:34 -070070
Paul Soulosa69518c2014-07-28 14:12:23 -070071 private List<DataItem> createDataItemsAndCollapse(DataKind kind, ContentValues... values) {
72 final List<DataItem> dataList = new ArrayList<>(values.length);
73 for (ContentValues value : values) {
74 final DataItem data = DataItem.createFrom(value);
75 data.setDataKind(kind);
76 dataList.add(data);
77 }
Paul Soulos856820d2014-07-18 14:41:34 -070078 Collapser.collapseList(dataList, getContext());
Paul Soulosa69518c2014-07-28 14:12:23 -070079 return dataList;
80 }
81
82 public void testDataItemCollapsing_genericDataItemFields() {
83 mValues1.put(Data.IS_SUPER_PRIMARY, 1);
84 mValues2.put(Data.IS_PRIMARY, 0);
85
86 mValues1.put(Entity.TIMES_USED, 5);
87 mValues2.put(Entity.TIMES_USED, 4);
88
89 mValues1.put(Entity.LAST_TIME_USED, 555);
90 mValues2.put(Entity.LAST_TIME_USED, 999);
91
92 final DataKind kind = new DataKind("test.mimetype", 0, 0, false);
93 kind.actionBody = new BaseAccountType.SimpleInflater(0);
94 kind.typeList = new ArrayList<>();
95 kind.typeList.add(new EditType(1, -1));
96 kind.typeList.add(new EditType(2, -1));
97 kind.typeColumn = Data.DATA2;
98
99 mValues1.put(kind.typeColumn, 2);
100 mValues2.put(kind.typeColumn, 1);
101
102 final List<DataItem> dataList = createDataItemsAndCollapse(kind, mValues1, mValues2);
Paul Soulos856820d2014-07-18 14:41:34 -0700103
104 assertEquals(1, dataList.size());
105 assertEquals(true, dataList.get(0).isSuperPrimary());
106 assertEquals(true, dataList.get(0).isPrimary());
Paul Soulosa69518c2014-07-28 14:12:23 -0700107 assertEquals(9, (int) dataList.get(0).getTimesUsed());
108 assertEquals(999L, (long) dataList.get(0).getLastTimeUsed());
109 assertEquals(1, dataList.get(0).getKindTypeColumn(kind));
110 }
111
112 public void testDataItemCollapsing_email() {
113 final String email1 = "email1@google.com";
114 final String email2 = "email2@google.com";
115
116 mValues1.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
117 mValues2.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
118 mValues3.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
119
120 mValues1.put(Email.ADDRESS, email1);
121 mValues2.put(Email.ADDRESS, email1);
122 mValues3.put(Email.ADDRESS, email2);
123
124 mValues1.put(Email.TYPE, Email.TYPE_MOBILE);
125 mValues2.put(Email.TYPE, Email.TYPE_HOME);
126 mValues3.put(Email.TYPE, Email.TYPE_WORK);
127
128 final DataKind kind = mGoogleAccountType.getKindForMimetype(Email.CONTENT_ITEM_TYPE);
129
130 final List<DataItem> dataList =
131 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3);
132
133 assertEquals(2, dataList.size());
134 assertEquals(email1, ((EmailDataItem) dataList.get(0)).getAddress());
135 assertEquals(email2, ((EmailDataItem) dataList.get(1)).getAddress());
136 assertEquals(Math.min(Email.TYPE_MOBILE, Email.TYPE_HOME),
137 ((EmailDataItem) dataList.get(0)).getKindTypeColumn(kind));
138 }
139
140 public void testDataItemCollapsing_event() {
141 final String date1 = "2014-01-01";
142 final String date2 = "2014-02-02";
143 final String customLabel1 = "custom label1";
144 final String customLabel2 = "custom label2";
145
146 mValues1.put(Data.MIMETYPE, Event.CONTENT_ITEM_TYPE);
147 mValues2.put(Data.MIMETYPE, Event.CONTENT_ITEM_TYPE);
148 mValues3.put(Data.MIMETYPE, Event.CONTENT_ITEM_TYPE);
149 mValues4.put(Data.MIMETYPE, Event.CONTENT_ITEM_TYPE);
150
151 mValues1.put(Event.START_DATE, date1);
152 mValues2.put(Event.START_DATE, date1);
153 mValues3.put(Event.START_DATE, date1);
154 mValues4.put(Event.START_DATE, date2);
155
156 mValues1.put(Event.TYPE, Event.TYPE_CUSTOM);
157 mValues2.put(Event.TYPE, Event.TYPE_CUSTOM);
158 mValues3.put(Event.TYPE, Event.TYPE_CUSTOM);
159 mValues4.put(Event.TYPE, Event.TYPE_ANNIVERSARY);
160
161 mValues1.put(Event.LABEL, customLabel1);
162 mValues2.put(Event.LABEL, customLabel1);
163 mValues3.put(Event.LABEL, customLabel2);
164
165 final DataKind kind = mGoogleAccountType.getKindForMimetype(Event.CONTENT_ITEM_TYPE);
166
167 final List<DataItem> dataList =
168 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3, mValues4);
169
170 assertEquals(3, dataList.size());
171 assertEquals(customLabel1, ((EventDataItem) dataList.get(0)).getLabel());
172 assertEquals(customLabel2, ((EventDataItem) dataList.get(1)).getLabel());
173 assertEquals(date2, ((EventDataItem) dataList.get(2)).getStartDate());
174 }
175
176 public void testDataItemCollapsing_im() {
177 final String address1 = "address 1";
178 final String address2 = "address 2";
179 final String customProtocol1 = "custom 1";
180 final String customProtocol2 = "custom 2";
181
182 mValues1.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE);
183 mValues2.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE);
184 mValues3.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE);
185 mValues4.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE);
186
187 mValues1.put(Im.DATA, address1);
188 mValues2.put(Im.DATA, address1);
189 mValues3.put(Im.DATA, address1);
190 mValues4.put(Im.DATA, address2);
191
192 mValues1.put(Im.PROTOCOL, Im.PROTOCOL_CUSTOM);
193 mValues2.put(Im.PROTOCOL, Im.PROTOCOL_CUSTOM);
194 mValues3.put(Im.PROTOCOL, Im.PROTOCOL_CUSTOM);
195 mValues4.put(Im.PROTOCOL, Im.PROTOCOL_AIM);
196
197 mValues1.put(Im.CUSTOM_PROTOCOL, customProtocol1);
198 mValues2.put(Im.CUSTOM_PROTOCOL, customProtocol1);
199 mValues3.put(Im.CUSTOM_PROTOCOL, customProtocol2);
200
201 final DataKind kind = mGoogleAccountType.getKindForMimetype(Im.CONTENT_ITEM_TYPE);
202
203 final List<DataItem> dataList =
204 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3, mValues4);
205
206 assertEquals(3, dataList.size());
207 assertEquals(address1, ((ImDataItem) dataList.get(0)).getData());
208 assertEquals(address1, ((ImDataItem) dataList.get(1)).getData());
209 assertEquals(address2, ((ImDataItem) dataList.get(2)).getData());
210
211 assertEquals(customProtocol1, ((ImDataItem) dataList.get(0)).getCustomProtocol());
212 assertEquals(customProtocol2, ((ImDataItem) dataList.get(1)).getCustomProtocol());
213 assertEquals(Im.PROTOCOL_AIM, (int) ((ImDataItem) dataList.get(2)).getProtocol());
214 }
215
216 public void testDataItemCollapsing_nickname() {
217 final String nickname1 = "nickname 1";
218 final String nickname2 = "nickname 2";
219
220 mValues1.put(Data.MIMETYPE, Nickname.CONTENT_ITEM_TYPE);
221 mValues2.put(Data.MIMETYPE, Nickname.CONTENT_ITEM_TYPE);
222 mValues3.put(Data.MIMETYPE, Nickname.CONTENT_ITEM_TYPE);
223
224 mValues1.put(Nickname.NAME, nickname1);
225 mValues2.put(Nickname.NAME, nickname1);
226 mValues3.put(Nickname.NAME, nickname2);
227
228 final DataKind kind = mGoogleAccountType.getKindForMimetype(Nickname.CONTENT_ITEM_TYPE);
229
230 final List<DataItem> dataList =
231 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3);
232
233 assertEquals(2, dataList.size());
234 assertEquals(nickname1, ((NicknameDataItem) dataList.get(0)).getName());
235 assertEquals(nickname2, ((NicknameDataItem) dataList.get(1)).getName());
236 }
237
238 public void testDataItemCollapsing_note() {
239 final String note1 = "note 1";
240 final String note2 = "note 2";
241
242 mValues1.put(Data.MIMETYPE, Note.CONTENT_ITEM_TYPE);
243 mValues2.put(Data.MIMETYPE, Note.CONTENT_ITEM_TYPE);
244 mValues3.put(Data.MIMETYPE, Note.CONTENT_ITEM_TYPE);
245
246 mValues1.put(Note.NOTE, note1);
247 mValues2.put(Note.NOTE, note1);
248 mValues3.put(Note.NOTE, note2);
249
250 DataKind kind = mGoogleAccountType.getKindForMimetype(Note.CONTENT_ITEM_TYPE);
251
252 final List<DataItem> dataList =
253 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3);
254
255 assertEquals(2, dataList.size());
256 assertEquals(note1, ((NoteDataItem) dataList.get(0)).getNote());
257 assertEquals(note2, ((NoteDataItem) dataList.get(1)).getNote());
258 }
259
260 public void testDataItemCollapsing_organization() {
261 final String company1 = "company1";
262 final String company2 = "company2";
263 final String title1 = "title1";
264 final String title2 = "title2";
265
266 mValues1.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE);
267 mValues2.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE);
268 mValues3.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE);
269 mValues4.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE);
270
271 mValues1.put(Organization.COMPANY, company1);
272 mValues2.put(Organization.COMPANY, company1);
273 mValues3.put(Organization.COMPANY, company1);
274 mValues4.put(Organization.COMPANY, company2);
275
276 mValues1.put(Organization.TITLE, title1);
277 mValues2.put(Organization.TITLE, title1);
278 mValues3.put(Organization.TITLE, title2);
279 mValues4.put(Organization.TITLE, title1);
280
281 final DataKind kind =
282 mGoogleAccountType.getKindForMimetype(Organization.CONTENT_ITEM_TYPE);
283
284 final List<DataItem> dataList =
285 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3, mValues4);
286
287 assertEquals(3, dataList.size());
288 assertEquals(company1, ((OrganizationDataItem) dataList.get(0)).getCompany());
289 assertEquals(company1, ((OrganizationDataItem) dataList.get(1)).getCompany());
290 assertEquals(company2, ((OrganizationDataItem) dataList.get(2)).getCompany());
291
292 assertEquals(title1, ((OrganizationDataItem) dataList.get(0)).getTitle());
293 assertEquals(title2, ((OrganizationDataItem) dataList.get(1)).getTitle());
294 }
295
296 public void testDataItemCollapsing_phone() {
297 final String phone1 = "111-111-1111";
298 final String phone1a = "1111111111";
299 final String phone2 = "222-222-2222";
300
301 mValues1.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
302 mValues2.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
303 mValues3.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
304
305 mValues1.put(Phone.NUMBER, phone1);
306 mValues2.put(Phone.NUMBER, phone1a);
307 mValues3.put(Phone.NUMBER, phone2);
308
309 mValues1.put(Phone.TYPE, Phone.TYPE_MOBILE);
310 mValues2.put(Phone.TYPE, Phone.TYPE_HOME);
311 mValues3.put(Phone.TYPE, Phone.TYPE_WORK);
312
313 final DataKind kind = mGoogleAccountType.getKindForMimetype(Phone.CONTENT_ITEM_TYPE);
314
315 final List<DataItem> dataList =
316 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3);
317 assertEquals(2, dataList.size());
318 assertEquals(phone1, ((PhoneDataItem) dataList.get(0)).getNumber());
319 assertEquals(phone2, ((PhoneDataItem) dataList.get(1)).getNumber());
320 assertEquals(Phone.TYPE_MOBILE,
321 ((PhoneDataItem) dataList.get(0)).getKindTypeColumn(kind));
322 }
323
324 public void testDataItemCollapsing_relation() {
325 final String name1 = "name1";
326 final String name2 = "name2";
327 final String customRelation1 = "custom relation 1";
328 final String customRelation2 = "custom relation 2";
329
330 mValues1.put(Data.MIMETYPE, Relation.CONTENT_ITEM_TYPE);
331 mValues2.put(Data.MIMETYPE, Relation.CONTENT_ITEM_TYPE);
332 mValues3.put(Data.MIMETYPE, Relation.CONTENT_ITEM_TYPE);
333 mValues4.put(Data.MIMETYPE, Relation.CONTENT_ITEM_TYPE);
334
335 mValues1.put(Relation.NAME, name1);
336 mValues2.put(Relation.NAME, name1);
337 mValues3.put(Relation.NAME, name1);
338 mValues4.put(Relation.NAME, name2);
339
340 mValues1.put(Relation.TYPE, Relation.TYPE_CUSTOM);
341 mValues2.put(Relation.TYPE, Relation.TYPE_CUSTOM);
342 mValues3.put(Relation.TYPE, Relation.TYPE_CUSTOM);
343 mValues4.put(Relation.TYPE, Relation.TYPE_BROTHER);
344
345 mValues1.put(Relation.LABEL, customRelation1);
346 mValues2.put(Relation.LABEL, customRelation1);
347 mValues3.put(Relation.LABEL, customRelation2);
348
349 final DataKind kind = mGoogleAccountType.getKindForMimetype(Relation.CONTENT_ITEM_TYPE);
350
351 final List<DataItem> dataList =
352 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3, mValues4);
353
354 assertEquals(3, dataList.size());
355 assertEquals(name1, ((RelationDataItem) dataList.get(0)).getName());
356 assertEquals(name2, ((RelationDataItem) dataList.get(2)).getName());
357
358 assertEquals(customRelation1, ((RelationDataItem) dataList.get(0)).getLabel());
359 assertEquals(customRelation2, ((RelationDataItem) dataList.get(1)).getLabel());
360 }
361
362 public void testDataItemCollapsing_sip() {
363 final String sip1 = "sip 1";
364 final String sip2 = "sip 2";
365
366 mValues1.put(Data.MIMETYPE, SipAddress.CONTENT_ITEM_TYPE);
367 mValues2.put(Data.MIMETYPE, SipAddress.CONTENT_ITEM_TYPE);
368 mValues3.put(Data.MIMETYPE, SipAddress.CONTENT_ITEM_TYPE);
369
370 mValues1.put(SipAddress.SIP_ADDRESS, sip1);
371 mValues2.put(SipAddress.SIP_ADDRESS, sip1);
372 mValues3.put(SipAddress.SIP_ADDRESS, sip2);
373
374 mValues1.put(SipAddress.TYPE, SipAddress.TYPE_WORK);
375 mValues2.put(SipAddress.TYPE, SipAddress.TYPE_HOME);
376 mValues3.put(SipAddress.TYPE, SipAddress.TYPE_WORK);
377
378 final DataKind kind = mGoogleAccountType.getKindForMimetype(SipAddress.CONTENT_ITEM_TYPE);
379
380 final List<DataItem> dataList =
381 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3);
382
383 assertEquals(2, dataList.size());
384 assertEquals(sip1, ((SipAddressDataItem) dataList.get(0)).getSipAddress());
385 assertEquals(sip2, ((SipAddressDataItem) dataList.get(1)).getSipAddress());
386 }
387
388 public void testDataItemCollapsing_structuredName() {
389 final String displayName1 = "Display Name 1";
390 final String displayName2 = "Display Name 2";
391
392 mValues1.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
393 mValues2.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
394 mValues3.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
395
396 mValues1.put(StructuredName.DISPLAY_NAME, displayName1);
397 mValues2.put(StructuredName.DISPLAY_NAME, displayName1);
398 mValues3.put(StructuredName.DISPLAY_NAME, displayName2);
399
400 final DataKind kind =
401 mGoogleAccountType.getKindForMimetype(StructuredName.CONTENT_ITEM_TYPE);
402
403 final List<DataItem> dataList =
404 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3);
405
406 assertEquals(2, dataList.size());
407 assertEquals(displayName1, ((StructuredNameDataItem) dataList.get(0)).getDisplayName());
408 assertEquals(displayName2, ((StructuredNameDataItem) dataList.get(1)).getDisplayName());
409 }
410
411 public void testDataItemCollapsing_structuredPostal() {
412 final String formattedAddress1 = "Formatted Address 1";
413 final String formattedAddress2 = "Formatted Address 2";
414
415 mValues1.put(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE);
416 mValues2.put(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE);
417 mValues3.put(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE);
418
419 mValues1.put(StructuredPostal.FORMATTED_ADDRESS, formattedAddress1);
420 mValues2.put(StructuredPostal.FORMATTED_ADDRESS, formattedAddress1);
421 mValues3.put(StructuredPostal.FORMATTED_ADDRESS, formattedAddress2);
422
423 final DataKind kind =
424 mGoogleAccountType.getKindForMimetype(StructuredPostal.CONTENT_ITEM_TYPE);
425
426 final List<DataItem> dataList =
427 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3);
428
429 assertEquals(2, dataList.size());
430 assertEquals(formattedAddress1,
431 ((StructuredPostalDataItem) dataList.get(0)).getFormattedAddress());
432 assertEquals(formattedAddress2,
433 ((StructuredPostalDataItem) dataList.get(1)).getFormattedAddress());
434 }
435
436 public void testDataItemCollapsing_website() {
437 final String url1 = "www.url1.com";
438 final String url2 = "www.url2.com";
439
440 mValues1.put(Data.MIMETYPE, Website.CONTENT_ITEM_TYPE);
441 mValues2.put(Data.MIMETYPE, Website.CONTENT_ITEM_TYPE);
442 mValues3.put(Data.MIMETYPE, Website.CONTENT_ITEM_TYPE);
443
444 mValues1.put(Website.URL, url1);
445 mValues2.put(Website.URL, url1);
446 mValues3.put(Website.URL, url2);
447
448 final DataKind kind = mGoogleAccountType.getKindForMimetype(Website.CONTENT_ITEM_TYPE);
449
450 final List<DataItem> dataList =
451 createDataItemsAndCollapse(kind, mValues1, mValues2, mValues3);
452
453 assertEquals(2, dataList.size());
454 assertEquals(url1, ((WebsiteDataItem) dataList.get(0)).getUrl());
455 assertEquals(url2, ((WebsiteDataItem) dataList.get(1)).getUrl());
Paul Soulos856820d2014-07-18 14:41:34 -0700456 }
457}