⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typemappingregistrytest.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire.aegis.type.java5;

import javax.xml.datatype.Duration;
import javax.xml.datatype.XMLGregorianCalendar;

import junit.framework.TestCase;

import org.codehaus.xfire.MessageContext;
import org.codehaus.xfire.aegis.MessageReader;
import org.codehaus.xfire.aegis.MessageWriter;
import org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry;
import org.codehaus.xfire.aegis.type.Type;
import org.codehaus.xfire.aegis.type.TypeMapping;
import org.easymock.MockControl;

public class TypeMappingRegistryTest extends TestCase
{
    
    public void testXMLGregorian() throws Exception
    {
        DefaultTypeMappingRegistry registry = new DefaultTypeMappingRegistry();
        registry.createDefaultMappings();
        
        TypeMapping tm = registry.getDefaultTypeMapping();

        Type type = tm.getType(XMLGregorianCalendar.class);
        assertEquals("dateTime", type.getSchemaType().getLocalPart());
        
        MockControl readerControl = MockControl.createControl(MessageReader.class);
        MessageReader reader = (MessageReader) readerControl.getMock();
        
        reader.getValue();
        readerControl.setDefaultReturnValue("---28");
        
        readerControl.replay();
        
        XMLGregorianCalendarType xType = (XMLGregorianCalendarType) tm.getType(XMLGregorianCalendar.class);
        assertNotNull(xType);
        XMLGregorianCalendar cal = (XMLGregorianCalendar) xType.readObject(reader, new MessageContext());
        assertEquals(28, cal.getDay());
        
        readerControl.verify();
        
        // test writing
        MockControl writerControl = MockControl.createControl(MessageWriter.class);
        MessageWriter writer = (MessageWriter) writerControl.getMock();
        
        writer.writeValue("---28");
        writerControl.setVoidCallable();
        
        writerControl.replay();
        
        xType.writeObject(cal, writer, new MessageContext());
        
        writerControl.verify();
    }
    
    public void testDurationType() throws Exception
    {
        DefaultTypeMappingRegistry registry = new DefaultTypeMappingRegistry();
        registry.createDefaultMappings();
        
        TypeMapping tm = registry.getDefaultTypeMapping();
        
        MockControl readerControl = MockControl.createControl(MessageReader.class);
        MessageReader reader = (MessageReader) readerControl.getMock();
        
        reader.getValue();
        readerControl.setDefaultReturnValue("-P120D");
        
        readerControl.replay();
        
        DurationType dType = (DurationType) tm.getType(Duration.class);
        assertNotNull(dType);
        Duration d = (Duration) dType.readObject(reader, new MessageContext());
        assertEquals(120, d.getDays());
        
        readerControl.verify();
        
        // test writing
        MockControl writerControl = MockControl.createControl(MessageWriter.class);
        MessageWriter writer = (MessageWriter) writerControl.getMock();
        
        writer.writeValue("-P120D");
        writerControl.setVoidCallable();
        
        writerControl.replay();
        
        dType.writeObject(d, writer, new MessageContext());
        assertEquals(120, d.getDays());
        
        writerControl.verify();
    }
}

⌨️ 快捷键说明

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