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

📄 propertysettingjobfactorytest.java

📁 Quartz is a full-featured, open source job scheduling system that can be integrated with, or used al
💻 JAVA
字号:
/*  * Copyright 2004-2006 OpenSymphony  *  * Licensed under the Apache License, Version 2.0 (the "License"); you may not  * use this file except in compliance with the License. You may obtain a copy  * of the License at  *  *   http://www.apache.org/licenses/LICENSE-2.0  *    * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the  * License for the specific language governing permissions and limitations  * under the License. */package org.quartz.simpl;import java.util.Collections;import java.util.Map;import org.quartz.JobDataMap;import org.quartz.SchedulerException;import junit.framework.TestCase;/** * Unit test for PropertySettingJobFactory. */public class PropertySettingJobFactoryTest extends TestCase {        private PropertySettingJobFactory factory;        protected void setUp() throws Exception {        factory = new PropertySettingJobFactory();        factory.setThrowIfPropertyNotFound(true);        }        public void testSetBeanPropsPrimatives() throws SchedulerException {        JobDataMap jobDataMap = new JobDataMap();        jobDataMap.put("intValue", new Integer(1));        jobDataMap.put("longValue", new Long(2l));        jobDataMap.put("floatValue", new Float(3.0f));        jobDataMap.put("doubleValue", new Double(4.0));        jobDataMap.put("booleanValue", Boolean.TRUE);        jobDataMap.put("shortValue", new Short(((short)5)));        jobDataMap.put("charValue", 'a');        jobDataMap.put("byteValue", new Byte((byte)6));        jobDataMap.put("stringValue", "S1");        jobDataMap.put("mapValue", Collections.singletonMap("A", "B"));                TestBean myBean = new TestBean();        factory.setBeanProps(myBean, jobDataMap);                assertEquals(1, myBean.getIntValue());        assertEquals(2l, myBean.getLongValue());        assertEquals(3.0f, myBean.getFloatValue(), 0.0001);        assertEquals(4.0, myBean.getDoubleValue(), 0.0001);        assertTrue(myBean.getBooleanValue());        assertEquals(5, myBean.getShortValue());        assertEquals('a', myBean.getCharValue());        assertEquals((byte)6, myBean.getByteValue());        assertEquals("S1", myBean.getStringValue());        assertTrue(myBean.getMapValue().containsKey("A"));    }        public void testSetBeanPropsUnknownProperty() {        JobDataMap jobDataMap = new JobDataMap();        jobDataMap.put("bogusValue", new Integer(1));        try {            factory.setBeanProps(new TestBean(), jobDataMap);            fail();        } catch (SchedulerException ignore) {}    }        public void testSetBeanPropsNullPrimative() {        JobDataMap jobDataMap = new JobDataMap();        jobDataMap.put("intValue", null);        try {            factory.setBeanProps(new TestBean(), jobDataMap);            fail();        } catch (SchedulerException ignore) {}    }        public void testSetBeanPropsNullNonPrimative() throws SchedulerException {        JobDataMap jobDataMap = new JobDataMap();        jobDataMap.put("mapValue", null);        TestBean testBean = new TestBean();        testBean.setMapValue(Collections.singletonMap("A", "B"));        factory.setBeanProps(testBean, jobDataMap);        assertNull(testBean.getMapValue());    }        public void testSetBeanPropsWrongPrimativeType() {        JobDataMap jobDataMap = new JobDataMap();        jobDataMap.put("intValue", new Float(7));        try {            factory.setBeanProps(new TestBean(), jobDataMap);            fail();        } catch (SchedulerException ignore) {}    }    public void testSetBeanPropsWrongNonPrimativeType() {        JobDataMap jobDataMap = new JobDataMap();        jobDataMap.put("mapValue", new Float(7));        try {            factory.setBeanProps(new TestBean(), jobDataMap);            fail();        } catch (SchedulerException ignore) {}    }    public void testSetBeanPropsCharStringTooShort() {        JobDataMap jobDataMap = new JobDataMap();        jobDataMap.put("charValue", "");        try {            factory.setBeanProps(new TestBean(), jobDataMap);            fail();        } catch (SchedulerException ignore) {}    }    public void testSetBeanPropsCharStringTooLong() {        JobDataMap jobDataMap = new JobDataMap();        jobDataMap.put("charValue", "abba");        try {            factory.setBeanProps(new TestBean(), jobDataMap);            fail();        } catch (SchedulerException ignore) {}    }    public void testSetBeanPropsFromStrings() throws SchedulerException {        JobDataMap jobDataMap = new JobDataMap();        jobDataMap.put("intValue", "1");        jobDataMap.put("longValue", "2");        jobDataMap.put("floatValue", "3.0");        jobDataMap.put("doubleValue", "4.0");        jobDataMap.put("booleanValue", "true");        jobDataMap.put("shortValue", "5");        jobDataMap.put("charValue", "a");        jobDataMap.put("byteValue", "6");                TestBean myBean = new TestBean();        factory.setBeanProps(myBean, jobDataMap);                assertEquals(1, myBean.getIntValue());        assertEquals(2l, myBean.getLongValue());        assertEquals(3.0f, myBean.getFloatValue(), 0.0001);        assertEquals(4.0, myBean.getDoubleValue(), 0.0001);        assertEquals(true, myBean.getBooleanValue());        assertEquals(5, myBean.getShortValue());        assertEquals('a', myBean.getCharValue());        assertEquals((byte)6, myBean.getByteValue());    }    private static final class TestBean {        private int intValue;        private long longValue;        private float floatValue;        private double doubleValue;        private boolean booleanValue;        private byte byteValue;        private short shortValue;        private char charValue;        private String stringValue;        private Map mapValue;            public boolean getBooleanValue() {            return booleanValue;        }            public void setBooleanValue(boolean booleanValue) {            this.booleanValue = booleanValue;        }            public double getDoubleValue() {            return doubleValue;        }            public void setDoubleValue(double doubleValue) {            this.doubleValue = doubleValue;        }            public float getFloatValue() {            return floatValue;        }            public void setFloatValue(float floatValue) {            this.floatValue = floatValue;        }           public int getIntValue() {            return intValue;        }            public void setIntValue(int intValue) {            this.intValue = intValue;        }            public long getLongValue() {            return longValue;        }            public void setLongValue(long longValue) {            this.longValue = longValue;        }        public Map getMapValue() {            return mapValue;        }            public void setMapValue(Map mapValue) {            this.mapValue = mapValue;        }            public String getStringValue() {            return stringValue;        }            public void setStringValue(String stringValue) {            this.stringValue = stringValue;        }        public byte getByteValue() {            return byteValue;        }        public void setByteValue(byte byteValue) {            this.byteValue = byteValue;        }        public char getCharValue() {            return charValue;        }        public void setCharValue(char charValue) {            this.charValue = charValue;        }        public short getShortValue() {            return shortValue;        }        public void setShortValue(short shortValue) {            this.shortValue = shortValue;        }    }}

⌨️ 快捷键说明

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