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

📄 testbeanutil.java

📁 Jodd是一个开源的公用Java基础类库
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package jodd.bean;

import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.HashMap;

import jodd.bean.modifiers.TrimStrings;
import junit.framework.TestCase;

public class TestBeanUtil extends TestCase {

	public void testSetPropertyNumbers() {
		FooBean fb = new FooBean();

		// Integer
		boolean valid;
		String propName = "fooInteger";
		valid = BeanUtil.setProperty(fb, propName, new Integer(1));
		assertTrue(valid);
		assertEquals(1, fb.getFooInteger().intValue());
		valid = BeanUtil.setProperty(fb, propName, null);
		assertTrue(valid);
		assertNull(fb.getFooInteger());
		valid = BeanUtil.setProperty(fb, propName, "2");			// valid string
		assertTrue(valid);
		assertEquals(2, fb.getFooInteger().intValue());
		valid = BeanUtil.setProperty(fb, propName, "x");			// invalid string - value stays the same
		assertFalse(valid);
		assertEquals(2, fb.getFooInteger().intValue());

		// int
		propName = "fooint";
		valid = BeanUtil.setProperty(fb, propName, new Integer(1));
		assertTrue(valid);
		assertEquals(1, fb.getFooint());
		valid = BeanUtil.setProperty(fb, propName, null);			// null is not an int
		assertFalse(valid);
		assertEquals(1, fb.getFooint());
		valid = BeanUtil.setProperty(fb, propName, "2");			// valid string
		assertTrue(valid);
		assertEquals(2, fb.getFooint());
		valid = BeanUtil.setProperty(fb, propName, "w");			// invalid string
		assertFalse(valid);
		assertEquals(2, fb.getFooint());

		// Long
		propName = "fooLong";
		valid = BeanUtil.setProperty(fb, propName, new Long(1));
		assertTrue(valid);
		assertEquals(1L, fb.getFooLong().longValue());
		valid = BeanUtil.setProperty(fb, propName, new Integer(3));
		assertTrue(valid);
		assertEquals(3L, fb.getFooLong().longValue());
		valid = BeanUtil.setProperty(fb, propName, null);
		assertTrue(valid);
		assertNull(fb.getFooLong());
		valid = BeanUtil.setProperty(fb, propName, "2");			// valid string
		assertTrue(valid);
		assertEquals(2L, fb.getFooLong().longValue());
		valid = BeanUtil.setProperty(fb, propName, "x");			// invalid string - value stays the same
		assertFalse(valid);
		assertEquals(2L, fb.getFooLong().longValue());

		// long
		propName = "foolong";
		valid = BeanUtil.setProperty(fb, propName, new Long(1));
		assertTrue(valid);
		assertEquals(1L, fb.getFoolong());
		valid = BeanUtil.setProperty(fb, propName, new Integer(3));
		assertTrue(valid);
		assertEquals(3L, fb.getFoolong());
		valid = BeanUtil.setProperty(fb, propName, null);			// null is not a long
		assertFalse(valid);
		assertEquals(3L, fb.getFoolong());
		valid = BeanUtil.setProperty(fb, propName, "2");			// valid string
		assertTrue(valid);
		assertEquals(2L, fb.getFoolong());
		valid = BeanUtil.setProperty(fb, propName, "w");			// invalid string
		assertFalse(valid);
		assertEquals(2L, fb.getFoolong());

		// Byte
		propName = "fooByte";
		valid = BeanUtil.setProperty(fb, propName, new Byte((byte) 1));
		assertTrue(valid);
		assertEquals(1, fb.getFooByte().byteValue());
		valid = BeanUtil.setProperty(fb, propName, new Integer(3));
		assertTrue(valid);
		assertEquals(3, fb.getFooByte().byteValue());
		valid = BeanUtil.setProperty(fb, propName, new Integer(257));
		assertTrue(valid);
		assertEquals(1, fb.getFooByte().byteValue());				// lower byte of 257
		valid = BeanUtil.setProperty(fb, propName, null);
		assertTrue(valid);
		assertNull(fb.getFooByte());
		valid = BeanUtil.setProperty(fb, propName, "2");			// valid string
		assertTrue(valid);
		assertEquals(2, fb.getFooByte().byteValue());
		valid = BeanUtil.setProperty(fb, propName, "x");			// invalid string - value stays the same
		assertFalse(valid);
		assertEquals(2, fb.getFooByte().byteValue());

		// byte
		propName = "foobyte";
		valid = BeanUtil.setProperty(fb, propName, new Byte((byte) 1));
		assertTrue(valid);
		assertEquals(1, fb.getFoobyte());
		valid = BeanUtil.setProperty(fb, propName, new Integer(3));
		assertTrue(valid);
		assertEquals(3, fb.getFoobyte());
		valid = BeanUtil.setProperty(fb, propName, new Integer(257));
		assertTrue(valid);
		assertEquals(1, fb.getFoobyte());
		valid = BeanUtil.setProperty(fb, propName, null);			// null is not a byte
		assertFalse(valid);
		assertEquals(1, fb.getFoobyte());
		valid = BeanUtil.setProperty(fb, propName, "2");			// valid string
		assertTrue(valid);
		assertEquals(2, fb.getFoobyte());
		valid = BeanUtil.setProperty(fb, propName, "x");			// invalid string - value stays the same
		assertFalse(valid);
		assertEquals(2, fb.getFoobyte());

		// Boolean
		propName = "fooBoolean";
		valid = BeanUtil.setProperty(fb, propName, Boolean.TRUE);
		assertTrue(valid);
		assertEquals(true, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, new Boolean(false));
		assertTrue(valid);
		assertEquals(false, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, null);
		assertTrue(valid);
		assertNull(fb.getFooBoolean());
		valid = BeanUtil.setProperty(fb, propName, "yes");
		assertTrue(valid);
		assertEquals(true, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, "y");
		assertTrue(valid);
		assertEquals(true, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, "true");
		assertTrue(valid);
		assertEquals(true, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, "on");
		assertTrue(valid);
		assertEquals(true, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, "1");
		assertTrue(valid);
		assertEquals(true, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, "no");
		assertTrue(valid);
		assertEquals(false, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, "n");
		assertTrue(valid);
		assertEquals(false, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, "false");
		assertTrue(valid);
		assertEquals(false, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, "off");
		assertTrue(valid);
		assertEquals(false, fb.getFooBoolean().booleanValue());
		valid = BeanUtil.setProperty(fb, propName, "0");
		assertTrue(valid);
		assertEquals(false, fb.getFooBoolean().booleanValue());

		// boolean
		propName = "fooboolean";
		valid = BeanUtil.setProperty(fb, propName, Boolean.TRUE);
		assertTrue(valid);
		assertEquals(true, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, new Boolean(false));
		assertTrue(valid);
		assertEquals(false, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, null);
		assertFalse(valid);
		assertEquals(false, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "yes");
		assertTrue(valid);
		assertEquals(true, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "y");
		assertTrue(valid);
		assertEquals(true, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "true");
		assertTrue(valid);
		assertEquals(true, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "on");
		assertTrue(valid);
		assertEquals(true, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "1");
		assertTrue(valid);
		assertEquals(true, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "no");
		assertTrue(valid);
		assertEquals(false, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "n");
		assertTrue(valid);
		assertEquals(false, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "false");
		assertTrue(valid);
		assertEquals(false, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "off");
		assertTrue(valid);
		assertEquals(false, fb.getFooboolean());
		valid = BeanUtil.setProperty(fb, propName, "0");
		assertTrue(valid);
		assertEquals(false, fb.getFooboolean());

		// Float
		propName = "fooFloat";
		valid = BeanUtil.setProperty(fb, propName, new Float(1.1));
		assertTrue(valid);
		assertEquals(1.1, fb.getFooFloat().floatValue(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, new Integer(3));
		assertTrue(valid);
		assertEquals(3.0, fb.getFooFloat().floatValue(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, null);
		assertTrue(valid);
		assertNull(fb.getFooFloat());
		valid = BeanUtil.setProperty(fb, propName, "2.2");			// valid string
		assertTrue(valid);
		assertEquals(2.2, fb.getFooFloat().floatValue(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, "x");			// invalid string - value stays the same
		assertFalse(valid);
		assertEquals(2.2, fb.getFooFloat().floatValue(), 0.0005);

		// float
		propName = "foofloat";
		valid = BeanUtil.setProperty(fb, propName, new Float(1.1));
		assertTrue(valid);
		assertEquals(1.1, fb.getFoofloat(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, new Integer(3));
		assertTrue(valid);
		assertEquals(3.0, fb.getFoofloat(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, null);			// null is not a long
		assertFalse(valid);
		assertEquals(3.0, fb.getFoofloat(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, "2.2");			// valid string
		assertTrue(valid);
		assertEquals(2.2, fb.getFoofloat(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, "w");			// invalid string
		assertFalse(valid);
		assertEquals(2.2, fb.getFoofloat(), 0.0005);


		// Double
		propName = "fooDouble";
		valid = BeanUtil.setProperty(fb, propName, new Double(1.1));
		assertTrue(valid);
		assertEquals(1.1, fb.getFooDouble().doubleValue(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, new Integer(3));
		assertTrue(valid);
		assertEquals(3.0, fb.getFooDouble().doubleValue(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, null);
		assertTrue(valid);
		assertNull(fb.getFooDouble());
		valid = BeanUtil.setProperty(fb, propName, "2.2");			// valid string
		assertTrue(valid);
		assertEquals(2.2, fb.getFooDouble().doubleValue(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, "x");			// invalid string - value stays the same
		assertFalse(valid);
		assertEquals(2.2, fb.getFooDouble().doubleValue(), 0.0005);

		// double
		propName = "foodouble";
		valid = BeanUtil.setProperty(fb, propName, new Double(1.1));
		assertTrue(valid);
		assertEquals(1.1, fb.getFoodouble(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, new Integer(3));
		assertTrue(valid);
		assertEquals(3.0, fb.getFoodouble(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, null);			// null is not a long
		assertFalse(valid);
		assertEquals(3.0, fb.getFoodouble(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, "2.2");			// valid string
		assertTrue(valid);
		assertEquals(2.2, fb.getFoodouble(), 0.0005);
		valid = BeanUtil.setProperty(fb, propName, "w");			// invalid string
		assertFalse(valid);
		assertEquals(2.2, fb.getFoodouble(), 0.0005);
	}


	public void testSetPropertySql() {
		FooBean2 fb = new FooBean2();

		String propName = "fooTimestamp";
		Timestamp ts = new Timestamp(101, 0, 17, 1, 2, 3, 4);
		boolean valid = BeanUtil.setProperty(fb, propName, ts);
		assertTrue(valid);
		assertEquals("2001-01-17 01:02:03.000000004", fb.getFooTimestamp().toString());

		propName = "fooTime";
		Time t = new Time(17, 13, 15);
		valid = BeanUtil.setProperty(fb, propName, t);
		assertTrue(valid);
		assertEquals("17:13:15", fb.getFooTime().toString());

		propName = "fooDate";

⌨️ 快捷键说明

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