18ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng/*
28ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * Copyright (C) 2013 The Android Open Source Project
38ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng *
48ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * Licensed under the Apache License, Version 2.0 (the "License");
58ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * you may not use this file except in compliance with the License.
68ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * You may obtain a copy of the License at
78ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng *
88ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng *      http://www.apache.org/licenses/LICENSE-2.0
98ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng *
108ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * Unless required by applicable law or agreed to in writing, software
118ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * distributed under the License is distributed on an "AS IS" BASIS,
128ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
138ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * See the License for the specific language governing permissions and
148ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * limitations under the License
158ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng */
168ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng
178ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Chengpackage com.android.providers.contacts.database;
188ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng
198ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Chengimport android.test.suitebuilder.annotation.SmallTest;
208ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng
218ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Chengimport junit.framework.TestCase;
228ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng
238ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng/**
248ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng * Unit tests for MoreDatabaseutil.
258ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng */
268ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng@SmallTest
278ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Chengpublic class MoreDatabaseUtilTest extends TestCase {
288ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng
298ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng    public void testBuildBindArgString() {
308ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        assertEquals("?", MoreDatabaseUtils.buildBindArgString(1));
318ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        assertEquals("?,?", MoreDatabaseUtils.buildBindArgString(2));
328ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        assertEquals("?,?,?", MoreDatabaseUtils.buildBindArgString(3));
338ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        assertEquals("?,?,?,?", MoreDatabaseUtils.buildBindArgString(4));
348ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng    }
358ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng
368ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng    public void testBuildIndex() {
378ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        String expected = "create index testtable_testfield_index on testtable(testfield)";
388ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        String actual = MoreDatabaseUtils.buildCreateIndexSql("testtable", "testfield")
398ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng                .toLowerCase();
408ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        assertEquals(expected, actual);
418ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng
428ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        expected = "create index test_table_test_field_index on test_table(test_field)";
438ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        actual = MoreDatabaseUtils.buildCreateIndexSql("test_table", "test_field").toLowerCase();
448ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        assertEquals(expected, actual);
458ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng    }
468ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng
478ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng    public void testDropIndex() {
488ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        String expected = "drop index if exists testtable_testfield_index";
498ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        String actual = MoreDatabaseUtils.buildDropIndexSql("testtable", "testfield").toLowerCase();
508ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        assertEquals(expected, actual);
518ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng    }
528ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng
538ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng    public void testBuildIndexName() {
548ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng        assertEquals("testtable_testfield_index",
558ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng                MoreDatabaseUtils.buildIndexName("testtable", "testfield"));
568ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng    }
578ed367fdc0b086d54c489f68d555e2f0a4035f63Chiao Cheng}
58