contactitemtest.java

来自「moblie syncml mail javame」· Java 代码 · 共 162 行

JAVA
162
字号
/*
 * Funambol is a mobile platform developed by Funambol, Inc. 
 * Copyright (C) 2003 - 2007 Funambol, Inc.
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Affero General Public License version 3 as published by
 * the Free Software Foundation with the addition of the following permission 
 * added to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED
 * WORK IN WHICH THE COPYRIGHT IS OWNED BY FUNAMBOL, FUNAMBOL DISCLAIMS THE 
 * WARRANTY OF NON INFRINGEMENT  OF THIRD PARTY RIGHTS.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU Affero General Public License 
 * along with this program; if not, see http://www.gnu.org/licenses or write to
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301 USA.
 * 
 * You can contact Funambol, Inc. headquarters at 643 Bair Island Road, Suite 
 * 305, Redwood City, CA 94063, USA, or at email address info@funambol.com.
 * 
 * The interactive user interfaces in modified source and object code versions
 * of this program must display Appropriate Legal Notices, as required under
 * Section 5 of the GNU Affero General Public License version 3.
 * 
 * In accordance with Section 7(b) of the GNU Affero General Public License
 * version 3, these Appropriate Legal Notices must retain the display of the
 * "Powered by Funambol" logo. If the display of the logo is not reasonably 
 * feasible for technical reasons, the Appropriate Legal Notices must display
 * the words "Powered by Funambol".
 */


package com.funambol.mailclient.test;

import com.funambol.mail.Address;
import com.funambol.mailclient.cm.Contact;
import com.funambol.mailclient.cm.ContactManagerException;
import com.funambol.mailclient.ui.controller.UIController;
import com.funambol.mailclient.ui.view.ContactItem;
import com.funambol.util.Log;
import java.util.Date;
import javax.microedition.lcdui.Display;
import jmunit.framework.cldc10.TestCase;

public class ContactItemTest extends TestCase{
    
    /** Creates a new instance of ContactItemTest */
    public ContactItemTest() {
        super(10, "ContactItem Test");
        UIController.display = Display.getDisplay(this);
        
    }
    
    public void test(int testNumber) throws Throwable {
        Log.info("Starting test number " + testNumber);
        switch (testNumber) {
            
            case 0:
                testConstructors();
                break;
            case 1:
                testToNextAndPreviousEmail();
                break;
            case 2:
                break;
            case 3:
                break;
            case 4:
                break;
            case 5:
                break;
            case 6:
                break;
            case 7:
                break;
            case 8:
                break;
            case 9:
                break;
            default:
                break;
                
                
        }
    }
    
    private void testConstructors() throws Exception {
        
        Log.info("=========================================  Test Constructors");
        Contact c = createUniqueContact();
        
        ContactItem ci = new ContactItem(c);
        Log.info("\t testing default constructor");
        
        assertTrue(ci.getContact().toString().equals(c.toString()));
        assertTrue(ci.getState() == ContactItem.ADDRESS_STATE_NONE);
        assertTrue(ci.getAddress() == null);
        
        int[] state = {Address.TO, Address.CC, Address.BCC};
        int[] emailIndex = {Contact.DEFAULT_EMAIL, Contact.SECONDARY_EMAIL,
        Contact.TERTIARY_EMAIL};
        for (int i=0; i<3; i++) {
            for(int j=0; j<3; j++) {
                Log.info("\t testing constructor with state " + i + " and email " + j);
                ci = new ContactItem(c,state[i],emailIndex[j]);
                assertTrue(ci.getAddress().getType() == state[i]);
                assertTrue(ci.getAddress().getEmail().equals(c.getAddress(
                        state[i], emailIndex[j]).getEmail() ) );
            }
        }
        Log.info("==================================================== [ OK ]");
    }
    
    private Contact createUniqueContact() throws  ContactManagerException {
        long now = new Date().getTime();
        return new Contact(
                "Nick-" + now,
                "first-"+ now,
                "last-" + now,
                "email1@" + now,
                "email2@" + now,
                "email3@" + now,
                "00" + now,
                "01" + now,
                "02" + now);
    }
    
    private void testToNextAndPreviousEmail() throws Exception {
        
        Log.info("========================  Test ToNextEmail / ToPreviousEmail");
        Contact c = createUniqueContact();
        ContactItem ci = new ContactItem(c);
        Log.info("\t testing toNextEmail");
        ci.setState(Address.TO);
        
        assertEquals(c.getDefaultEmail(), ci.getAddress().getEmail());
        ci.toNextEmail();
        assertEquals(c.getEmail_2(), ci.getAddress().getEmail());
        ci.toNextEmail();
        assertEquals(c.getEmail_3(), ci.getAddress().getEmail());
        ci.toNextEmail();
        assertEquals(c.getDefaultEmail(), ci.getAddress().getEmail());
        
        //going back
        ci.toPreviousEmail();
        assertEquals(c.getEmail_3(), ci.getAddress().getEmail());
        ci.toPreviousEmail();
        assertEquals(c.getEmail_2(), ci.getAddress().getEmail());
        ci.toPreviousEmail();
        assertEquals(c.getDefaultEmail(), ci.getAddress().getEmail());
        
        Log.info("==================================================== [ OK ]");
 
    }
    
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?