UtilsTests.java revision 6e25f480f8dbf18f32248f3666be1e9dd52d3225
16e25f480f8dbf18f32248f3666be1e9dd52d3225Erik/* 26e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * Copyright (C) 2010 The Android Open Source Project 36e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * 46e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * Licensed under the Apache License, Version 2.0 (the "License"); 56e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * you may not use this file except in compliance with the License. 66e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * You may obtain a copy of the License at 76e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * 86e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * http://www.apache.org/licenses/LICENSE-2.0 96e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * 106e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * Unless required by applicable law or agreed to in writing, software 116e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * distributed under the License is distributed on an "AS IS" BASIS, 126e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * See the License for the specific language governing permissions and 146e25f480f8dbf18f32248f3666be1e9dd52d3225Erik * limitations under the License. 156e25f480f8dbf18f32248f3666be1e9dd52d3225Erik */ 166e25f480f8dbf18f32248f3666be1e9dd52d3225Erik 17ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chanpackage com.android.calendar; 18ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan 19ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chanimport android.database.Cursor; 20ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chanimport android.database.MatrixCursor; 21ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chanimport android.test.suitebuilder.annotation.SmallTest; 22ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan 23ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chanimport junit.framework.TestCase; 24ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan 25ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chanimport java.util.HashMap; 26ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chanimport java.util.Map; 27ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan 28ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan/** 29ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan * Test class for verifying helper functions in Calendar's Utils 30ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan * 31ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan * You can run these tests with the following command: 32ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan * "adb shell am instrument -w -e class com.android.calendar.UtilsTests 33ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan * com.android.calendar.tests/android.test.InstrumentationTestRunner" 34ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan */ 35ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chanpublic class UtilsTests extends TestCase { 36ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan HashMap<String, Boolean> mIsDuplicateName; 37ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan HashMap<String, Boolean> mIsDuplicateNameExpected; 38ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan MatrixCursor mDuplicateNameCursor; 39ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan 40ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan private static final int NAME_COLUMN = 0; 41ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan private static final String[] DUPLICATE_NAME_COLUMNS = new String[] { "name" }; 42ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan private static final String[][] DUPLICATE_NAMES = new String[][] { 43ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan {"Pepper Pots"}, 44ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan {"Green Goblin"}, 45ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan {"Pepper Pots"}, 46ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan {"Peter Parker"}, 47ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan {"Silver Surfer"}, 48ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan {"John Jameson"}, 49ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan {"John Jameson"}, 50ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan {"Pepper Pots"} 51ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan }; 52ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan 53ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan @Override 54ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan public void setUp() { 55ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mIsDuplicateName = new HashMap<String, Boolean> (); 56ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mDuplicateNameCursor = new MatrixCursor(DUPLICATE_NAME_COLUMNS); 57ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan for (int i = 0; i < DUPLICATE_NAMES.length; i++) { 58ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mDuplicateNameCursor.addRow(DUPLICATE_NAMES[i]); 59ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan } 60ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan 61ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mIsDuplicateNameExpected = new HashMap<String, Boolean> (); 62ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mIsDuplicateNameExpected.put("Pepper Pots", true); 63ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mIsDuplicateNameExpected.put("Green Goblin", false); 64ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mIsDuplicateNameExpected.put("Peter Parker", false); 65ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mIsDuplicateNameExpected.put("Silver Surfer", false); 66ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mIsDuplicateNameExpected.put("John Jameson", true); 67ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan } 68ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan 69ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan @Override 70ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan public void tearDown() { 71ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan mDuplicateNameCursor.close(); 72ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan } 73ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan 74ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan @SmallTest 75ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan public void testCheckForDuplicateNames() { 76ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan Utils.checkForDuplicateNames(mIsDuplicateName, mDuplicateNameCursor, NAME_COLUMN); 77ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan assertEquals(mIsDuplicateName, mIsDuplicateNameExpected); 78ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan } 79ff6be831fc682374be6b78c13ecf5daca81f86d9Michael Chan} 80