测试XmlHandler,接上篇(自己实现的XML和Entity映射工具)

本文介绍了一个关于XmlHandler类的单元测试案例,该测试涵盖了将实体对象转化为XML字符串及从XML字符串还原为实体对象的过程。测试中使用了Book实体类及其关联的Publish实体类,并通过Set和List集合来测试复杂对象的序列化与反序列化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于XmlHandler的单元测试代码:

package test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import org.dom4j.DocumentException;

import com.cugxw.entity.Book;
import com.cugxw.entity.Publish;
import com.cugxw.utils.XmlHandler;
public class Test {

	@SuppressWarnings("unchecked")
	public static void main(String[] args) throws Exception{
		
		/*Initialize the entity object*/
		Book b = new Book();
		b.setBookId("1001");
		b.setBookName("English 4");
		b.setIsbn("00000000001");
		Publish pubA = new Publish();
		pubA.setPubId("pub-000000000000001");
		pubA.setPubName("The dog of China");
		b.setPublish(pubA);
		
		Publish pubB = new Publish();
		pubB.setPubId("pub-1111111111111110");
		pubB.setPubName("The dog of America");
		
		Set<Publish> set = new HashSet<Publish>();
		set.add(pubA);
		set.add(pubB);
		b.setSet(set);
		
		List<Publish> list = new ArrayList<Publish>();
		list.add(pubA);
		list.add(pubB);
		b.setList(list);
		
		XmlHandler xmlHandler = null;
		xmlHandler = new XmlHandler("com.cugxw.entity");
//		xmlHandler = new XmlHandler();
		xmlHandler.setUseXmlAnnotation(true);
		xmlHandler.showRegMap();
		String resXml = null;
		
		/*Test parse the xml*/
		resXml = xmlHandler.toXml(b);
		System.out.println("---------------------Entity To Xml---------------------");
		System.out.println("Return xml: \n" + resXml + "\n");
		
		/*Test xml to entity*/
		try {
			Book book = (Book)xmlHandler.fromXml(Book.class, resXml);
			System.out.println("---------------------Xml To Entity---------------------");
			System.out.println("Return entity: ");
			System.out.println("Book-BookId: " + book.getBookId());
			System.out.println("Book-BookName: " + book.getBookName());
			System.out.println("Book-ISBN: " + book.getIsbn());
			Publish publish = book.getPublish();
			if(publish != null)
			{
				System.out.println("Book-Publish-pubId: " 
						+ publish.getPubId());
				System.out.println("Book-Publish-pubName: " 
						+ publish.getPubName());
			}
			Set aset = book.getSet();
			if(aset != null && aset.size() > 0)
			{
				Iterator it = aset.iterator();
				while(it.hasNext())
				{
					Publish pub = (Publish)it.next();
					System.out.println("Book-Set-Publish-pubId:"
							+ pub.getPubId());
					System.out.println("Book-Set-Publish-pubName: " 
							+ pub.getPubName());
				}
				
				List<Publish> alist = book.getList();
				for(Publish publ : alist)
				{
					System.out.println("Book-List-Publish-pubId:"
							+ publ.getPubId());
					System.out.println("Book-List-Publish-pubName: " 
							+ publ.getPubName());
				}
			}
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值