package com.fanruan.api.conf.xml; import java.util.ArrayList; import java.util.List; import com.fr.stable.xml.XMLable; import org.easymock.EasyMock; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.api.easymock.PowerMock; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; /** * @author Lucian.Chen * @version 10.0 * Created by Lucian.Chen on 2020/3/24 */ @RunWith(PowerMockRunner.class) @PrepareForTest({XmlHolderKit.class}) public class XmlHolderKitTest { @Test public void testOjb() throws Exception { XMLable xmlable = EasyMock.createMock(XMLable.class); XmlConf xmlConf = EasyMock.createMock(XmlConf.class); PowerMock.expectNew(XmlConf.class, xmlable, XMLable.class, "A").andReturn(xmlConf); EasyMock.replay(xmlable, xmlConf); PowerMock.replay(XmlConf.class); Assert.assertEquals(XmlHolderKit.obj(xmlable, XMLable.class, "A"), xmlConf); EasyMock.verify(xmlable, xmlConf); PowerMock.verify(XmlConf.class); } @Test public void testCollection() throws Exception { XmlColConf xmlColConf1 = EasyMock.createMock(XmlColConf.class); XmlColConf xmlColConf2 = EasyMock.createMock(XmlColConf.class); List list = new ArrayList<>(); PowerMock.expectNew(XmlColConf.class, list, XMLable.class, true).andReturn(xmlColConf1).times(2); PowerMock.expectNew(XmlColConf.class, list, XMLable.class, false).andReturn(xmlColConf2).once(); EasyMock.replay(xmlColConf1, xmlColConf2); PowerMock.replay(XmlColConf.class); Assert.assertEquals(XmlHolderKit.collection(list, XMLable.class), xmlColConf1); Assert.assertEquals(XmlHolderKit.collection(list, XMLable.class, true), xmlColConf1); Assert.assertEquals(XmlHolderKit.collection(list, XMLable.class, false), xmlColConf2); EasyMock.verify(xmlColConf1, xmlColConf2); PowerMock.verify(XmlColConf.class); } }