15a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo/*
25a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * Copyright (C) 2011 The Android Open Source Project
35a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo *
45a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * Licensed under the Apache License, Version 2.0 (the "License");
55a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * you may not use this file except in compliance with the License.
65a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * You may obtain a copy of the License at
75a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo *
85a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo *      http://www.apache.org/licenses/LICENSE-2.0
95a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo *
105a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * Unless required by applicable law or agreed to in writing, software
115a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * distributed under the License is distributed on an "AS IS" BASIS,
125a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * See the License for the specific language governing permissions and
145a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * limitations under the License.
155a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo */
165a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
175a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugopackage com.android.emailcommon.provider;
185a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
195a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugoimport android.content.Context;
205a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugoimport android.os.Parcel;
215a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugoimport android.test.ProviderTestCase2;
225a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugoimport android.test.suitebuilder.annotation.SmallTest;
235a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
246e418aa41a17136be0dddb816d843428a0a1e722Marc Blankimport com.android.email.provider.ContentCache;
256e418aa41a17136be0dddb816d843428a0a1e722Marc Blankimport com.android.email.provider.EmailProvider;
265a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
275a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo/**
285a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo * Unit tests for the QuickResponse class
295a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo */
305a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo@SmallTest
315a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugopublic class QuickResponseTests extends ProviderTestCase2<EmailProvider> {
325a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo    private Context mMockContext;
335a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo    private EmailProvider mProvider;
345a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
355a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo    public QuickResponseTests() {
365a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        super(EmailProvider.class, EmailContent.AUTHORITY);
375a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo    }
385a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
395a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo    @Override
405a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo    public void setUp() throws Exception {
415a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        super.setUp();
425a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        mMockContext = getMockContext();
435a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        mProvider = getProvider();
445a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        // Invalidate all caches, since we reset the database for each test
456e418aa41a17136be0dddb816d843428a0a1e722Marc Blank        ContentCache.invalidateAllCaches();
465a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo    }
475a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
485a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo    public void testParcelling() {
495a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        QuickResponse original = new QuickResponse(7, "quick response text");
505a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
515a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        Parcel p = Parcel.obtain();
525a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        original.writeToParcel(p, 0);
535a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
545a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        // Reset.
555a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        p.setDataPosition(0);
565a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
575a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        QuickResponse unparcelled = QuickResponse.CREATOR.createFromParcel(p);
585a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        assert(original.equals(unparcelled));
595a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
605a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        QuickResponse phony = new QuickResponse(17, "quick response text");
615a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        assert(!(phony.equals(unparcelled)));
625a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
635a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        QuickResponse phony2 = new QuickResponse(7, "different text");
645a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        assert(!(phony2.equals(unparcelled)));
655a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
665a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo        p.recycle();
675a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo    }
685a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo}
695a3888f35b669ffb3cc785d7dfe4862879a3896cJorge Lugo
70