/* * This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of * the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. * * Copyright (c) 2014 Digi International Inc., All Rights Reserved. */ package com.digi.android.wva.test.adapters; import android.test.AndroidTestCase; import com.digi.android.wva.adapters.EndpointsAdapter; import com.digi.android.wva.model.EndpointConfiguration; import java.util.ArrayList; /** * Created by mwadsten on 5/24/13. */ public class EndpointsAdapterTest extends AndroidTestCase { @Override protected void setUp() throws Exception { EndpointsAdapter.initInstance(getContext()); EndpointsAdapter.getInstance().clear(); } private EndpointsAdapter get() { return EndpointsAdapter.getInstance(); } public void testInitialized() { assertNotNull("EndpointsAdapter not initialized?", get()); } public void testFindEndpointConfiguration() { ArrayList<EndpointConfiguration> confs = new ArrayList<EndpointConfiguration>(); for (int i = 0; i < 10; i++) { confs.add(new EndpointConfiguration("Test " + i)); } for (EndpointConfiguration c : confs) { get().add(c); } assertSame("Wrong Test 0 conf", confs.get(0), get().findEndpointConfiguration("Test 0")); assertSame("Wrong Test 1 conf", confs.get(1), get().findEndpointConfiguration("Test 1")); assertSame("Wrong Test 2 conf", confs.get(2), get().findEndpointConfiguration("Test 2")); assertSame("Wrong Test 3 conf", confs.get(3), get().findEndpointConfiguration("Test 3")); assertSame("Wrong Test 4 conf", confs.get(4), get().findEndpointConfiguration("Test 4")); assertSame("Wrong Test 5 conf", confs.get(5), get().findEndpointConfiguration("Test 5")); assertSame("Wrong Test 6 conf", confs.get(6), get().findEndpointConfiguration("Test 6")); assertSame("Wrong Test 7 conf", confs.get(7), get().findEndpointConfiguration("Test 7")); assertSame("Wrong Test 8 conf", confs.get(8), get().findEndpointConfiguration("Test 8")); assertSame("Wrong Test 9 conf", confs.get(9), get().findEndpointConfiguration("Test 9")); assertNull("Bad lookup got non-null answer", get().findEndpointConfiguration("I am not here")); } public void testAdd() { EndpointConfiguration newconf = new EndpointConfiguration("Test"); get().add(newconf); assertEquals("getCount() after add is wrong...", 1, get().getCount()); assertEquals("Found wrong conf endpoint", "Test", get().getItem(0).getEndpoint()); assertSame("Found wrong endpoint object", newconf, get().findEndpointConfiguration("Test")); } public void testClear() { for (int i = 0; i < 10; i++) get().add(new EndpointConfiguration(null)); get().clear(); assertEquals("clear() did not empty out configurations", 0, get().getCount()); } public void testGetCount() { for (int i = 0; i < 100; i++) get().add(new EndpointConfiguration(null)); assertEquals("getCount() didn't return 100", 100, get().getCount()); get().clear(); for (int i = 0; i < 77; i++) get().add(new EndpointConfiguration(null)); assertEquals("getCount() didn't return 77", 77, get().getCount()); } public void testGetItem() { ArrayList<EndpointConfiguration> confs = new ArrayList<EndpointConfiguration>(); for (int i = 0; i < 10; i++) { confs.add(new EndpointConfiguration("Test " + i)); } for (EndpointConfiguration c : confs) { get().add(c); } assertSame("Wrong Test 0 conf", confs.get(0), get().getItem(0)); assertSame("Wrong Test 1 conf", confs.get(1), get().getItem(1)); assertSame("Wrong Test 2 conf", confs.get(2), get().getItem(2)); assertSame("Wrong Test 3 conf", confs.get(3), get().getItem(3)); assertSame("Wrong Test 4 conf", confs.get(4), get().getItem(4)); assertSame("Wrong Test 5 conf", confs.get(5), get().getItem(5)); assertSame("Wrong Test 6 conf", confs.get(6), get().getItem(6)); assertSame("Wrong Test 7 conf", confs.get(7), get().getItem(7)); assertSame("Wrong Test 8 conf", confs.get(8), get().getItem(8)); assertSame("Wrong Test 9 conf", confs.get(9), get().getItem(9)); } public void testGetPosition() { ArrayList<EndpointConfiguration> confs = new ArrayList<EndpointConfiguration>(); for (int i = 0; i < 10; i++) { confs.add(new EndpointConfiguration("Test " + i)); } for (EndpointConfiguration c : confs) { get().add(c); } assertEquals("Test 0 in wrong position", 0, get().getPosition(confs.get(0))); assertEquals("Test 1 in wrong position", 1, get().getPosition(confs.get(1))); assertEquals("Test 2 in wrong position", 2, get().getPosition(confs.get(2))); assertEquals("Test 3 in wrong position", 3, get().getPosition(confs.get(3))); assertEquals("Test 4 in wrong position", 4, get().getPosition(confs.get(4))); assertEquals("Test 5 in wrong position", 5, get().getPosition(confs.get(5))); assertEquals("Test 6 in wrong position", 6, get().getPosition(confs.get(6))); assertEquals("Test 7 in wrong position", 7, get().getPosition(confs.get(7))); assertEquals("Test 8 in wrong position", 8, get().getPosition(confs.get(8))); assertEquals("Test 9 in wrong position", 9, get().getPosition(confs.get(9))); } public void testInsert() { EndpointConfiguration newconf = new EndpointConfiguration(null); get().insert(newconf, 0); EndpointConfiguration newconf2 = new EndpointConfiguration("Test"); get().insert(newconf2, 0); assertSame("insert(0) didn't work?", get().getItem(0), newconf2); assertSame("insert(0) didn't push original item 0?", get().getItem(1), newconf); } public void testRemove() { ArrayList<EndpointConfiguration> confs = new ArrayList<EndpointConfiguration>(); for (int i = 0; i < 10; i++) { confs.add(new EndpointConfiguration("Test " + i)); } for (EndpointConfiguration c : confs) { get().add(c); } get().remove(confs.get(3)); assertNull("Removed item still in adapter", get().findEndpointConfiguration(confs.get(3).getEndpoint())); assertSame("Removed wrong index", get().getItem(2), confs.get(2)); assertSame("Removed wrong index", get().getItem(3), confs.get(4)); } }