1b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook/*
2b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * Copyright (C) 2011 The Android Open Source Project
3b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook *
4b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * Licensed under the Apache License, Version 2.0 (the "License");
5b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * you may not use this file except in compliance with the License.
6b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * You may obtain a copy of the License at
7b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook *
8b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook *      http://www.apache.org/licenses/LICENSE-2.0
9b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook *
10b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * Unless required by applicable law or agreed to in writing, software
11b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * distributed under the License is distributed on an "AS IS" BASIS,
12b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * See the License for the specific language governing permissions and
14b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * limitations under the License.
15b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook */
16b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook
17b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookpackage com.android.exchange;
18b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook
19b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookimport com.android.emailcommon.provider.EmailContent.Attachment;
20b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook
21b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookimport android.test.AndroidTestCase;
22b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook
23b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook/**
24b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook * You can run this entire test case with:
25b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook *   runtest -c com.android.exchange.RequestTests exchange
26b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook */
27b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrookpublic class RequestTests extends AndroidTestCase {
28b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook
29b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook    public void testPartRequestEquals() {
30b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        Attachment att1 = new Attachment();
31b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        att1.mId = 1;
32b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        Attachment att2 = new Attachment();
33b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        att2.mId = 2;
34b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        // For part requests, the attachment id's must be ==
35b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        PartRequest req1 = new PartRequest(att1, "dest1", "content1");
36b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        PartRequest req2 = new PartRequest(att2, "dest2", "content2");
37b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        assertFalse(req1.equals(req2));
38b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        Attachment att3 = new Attachment();
39b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        att3.mId = 1;
40b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        PartRequest req3 = new PartRequest(att3, "dest3", "content3");
41b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        assertTrue(req1.equals(req3));
42b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        MessageMoveRequest req4 = new MessageMoveRequest(10L, 12L);
43b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        assertFalse(req1.equals(req4));
44b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook    }
45b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook
46b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook    public void testRequestEquals() {
47b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        // Only the messageId needs to be ==
48b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        MessageMoveRequest req1 = new MessageMoveRequest(1L, 10L);
49b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        MessageMoveRequest req2 = new MessageMoveRequest(1L, 11L);
50b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        assertTrue(req1.equals(req2));
51b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        MessageMoveRequest req3 = new MessageMoveRequest(2L, 11L);
52b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        assertFalse(req3.equals(req2));
53b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        MeetingResponseRequest req4 = new MeetingResponseRequest(1L, 3);
54b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        assertFalse(req4.equals(req1));
55b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        MeetingResponseRequest req5 = new MeetingResponseRequest(1L, 4);
56b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook        assertTrue(req5.equals(req4));
57b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook    }
58b931f82fa44c2e26e2645c0d5fde9eef3e666efdPaul Westbrook}