1/*
2 * Copyright (C) 2010 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 */
16
17package com.android.quicksearchbox.util;
18
19import android.database.DataSetObserver;
20
21import junit.framework.Assert;
22
23/**
24 * A {@link DataSetObserver} that knows whether it has been notified.
25 */
26public class MockDataSetObserver extends DataSetObserver {
27
28    private int mChangedCount = 0;
29    private int mInvalidatedCount = 0;
30
31    public void assertNotChanged() {
32        Assert.assertFalse("onChanged() was called", mChangedCount > 0);
33    }
34
35    public void assertNotInvalidated() {
36        Assert.assertFalse("onInvalidated() was called", mInvalidatedCount > 0);
37    }
38
39    public void assertChanged() {
40        Assert.assertTrue("onChanged() was not called", mChangedCount > 0);
41    }
42
43    public void assertInvalidated() {
44        Assert.assertTrue("onInvalidated() was not called", mInvalidatedCount > 0);
45    }
46
47    @Override
48    public void onChanged() {
49        mChangedCount++;
50    }
51
52    @Override
53    public void onInvalidated() {
54        mInvalidatedCount++;
55    }
56
57}
58