SuggestionCursorUtil.java revision 72f9b08ce84d0e13daf2d1c112d4e6d1d3ada045
172f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert/*
272f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * Copyright (C) 2010 The Android Open Source Project
372f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert *
472f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License");
572f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * you may not use this file except in compliance with the License.
672f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * You may obtain a copy of the License at
772f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert *
872f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert *      http://www.apache.org/licenses/LICENSE-2.0
972f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert *
1072f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * Unless required by applicable law or agreed to in writing, software
1172f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS,
1272f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1372f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * See the License for the specific language governing permissions and
1472f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * limitations under the License.
1572f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert */
1672f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert
1772f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringertpackage com.android.quicksearchbox;
1872f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert
1972f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringertimport junit.framework.Assert;
2072f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert
2172f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert/**
2272f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert * Test utilities for {@link ShortcutCursor}.
2372f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert */
2472f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringertpublic class SuggestionCursorUtil extends Assert {
2572f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert
2672f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    public static void assertNoSuggestions(SuggestionCursor suggestions) {
2772f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertNoSuggestions("", suggestions);
2872f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    }
2972f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert
3072f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    public static void assertNoSuggestions(String message, SuggestionCursor suggestions) {
3172f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertNotNull(suggestions);
3272f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message, 0, suggestions.getCount());
3372f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    }
3472f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert
3572f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    public static void assertSameSuggestion(String message, int position,
3672f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert            SuggestionCursor expected, SuggestionCursor observed) {
3772f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        message +=  " at position " + position;
3872f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        expected.moveTo(position);
3972f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        observed.moveTo(position);
4072f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", source", expected.getSuggestionSource(),
4172f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionSource());
4272f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", shortcutId", expected.getShortcutId(),
4372f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getShortcutId());
4472f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", spinnerWhileRefreshing", expected.isSpinnerWhileRefreshing(),
4572f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.isSpinnerWhileRefreshing());
4672f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", format", expected.getSuggestionFormat(),
4772f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionFormat());
4872f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", icon1", expected.getSuggestionIcon1(),
4972f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionIcon1());
5072f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", icon2", expected.getSuggestionIcon2(),
5172f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionIcon2());
5272f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", text1", expected.getSuggestionText1(),
5372f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionText1());
5472f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", text2", expected.getSuggestionText2(),
5572f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionText2());
5672f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", text2Url", expected.getSuggestionText2Url(),
5772f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionText2Url());
5872f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", action", expected.getSuggestionIntentAction(),
5972f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionIntentAction());
6072f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", data", expected.getSuggestionIntentDataString(),
6172f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionIntentDataString());
6272f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", extraData", expected.getSuggestionIntentExtraData(),
6372f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionIntentExtraData());
6472f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", query", expected.getSuggestionQuery(),
6572f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionQuery());
6672f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", displayQuery", expected.getSuggestionDisplayQuery(),
6772f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionDisplayQuery());
6872f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", logType", expected.getSuggestionLogType(),
6972f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert                observed.getSuggestionLogType());
7072f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    }
7172f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert
7272f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    public static void assertSameSuggestions(SuggestionCursor expected, SuggestionCursor observed) {
7372f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertSameSuggestions("", expected, observed);
7472f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    }
7572f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert
7672f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    public static void assertSameSuggestions(
7772f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert            String message, SuggestionCursor expected, SuggestionCursor observed) {
7872f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertNotNull(expected);
7972f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertNotNull(message, observed);
8072f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", count", expected.getCount(), observed.getCount());
8172f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        assertEquals(message + ", userQuery", expected.getUserQuery(), observed.getUserQuery());
8272f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        int count = expected.getCount();
8372f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        for (int i = 0; i < count; i++) {
8472f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert            assertSameSuggestion(message, i, expected, observed);
8572f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert        }
8672f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert    }
8772f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert
8872f9b08ce84d0e13daf2d1c112d4e6d1d3ada045Bjorn Bringert}
89