package cn.org.rapid_framework.generator.util; import java.util.List; import java.util.Map; import junit.framework.TestCase; import cn.org.rapid_framework.generator.provider.db.table.model.Column.EnumMetaDada; public class StringConvertHelperTest extends TestCase{ // public void test_string2Map() { // Map map = StringHelper.string2Map("abc=123,diy='123',sex='blog'"); // System.out.println(map.keySet()+" "+map.values()); // assertEquals("123",map.get("abc")); // assertEquals("'123'",map.get("diy")); // assertEquals("'blog'",map.get("sex")); // // assertEquals(map.size(),3); // // assertTrue(StringHelper.string2Map(null).isEmpty()); // } public void test_string2ColumnEnumList_with_three_argument() { List<EnumMetaDada> list= StringHelper.string2EnumMetaData("F(1,女);M(0,男)"); verify3Argument(list); list= StringHelper.string2EnumMetaData("F(1,女),M(0,男)"); verify3Argument(list); list= StringHelper.string2EnumMetaData("F(1,女),M(2,男),G(3,未知)"); assertEquals(3,list.size()); verifyMetadata(list.get(0), "F", "女", "1"); verifyMetadata(list.get(1), "M", "男", "2"); verifyMetadata(list.get(2), "G", "未知", "3"); } private void verify3Argument(List<EnumMetaDada> list) { assertEquals(2,list.size()); EnumMetaDada f= list.get(0); verifyMetadata(f, "F", "女", "1"); EnumMetaDada m= list.get(1); verifyMetadata(m, "M", "男", "0"); } public void test_string2ColumnEnumList_with_two_argument() { List<EnumMetaDada> list= StringHelper.string2EnumMetaData("F(女);M(男)"); verify2Argument(list); list= StringHelper.string2EnumMetaData("F(女),M(男)"); verify2Argument(list); list= StringHelper.string2EnumMetaData("F(女),M(男);G(未知)"); assertEquals(3,list.size()); verifyMetadata(list.get(0), "F", "女", "F"); verifyMetadata(list.get(1), "M", "男", "M"); verifyMetadata(list.get(2), "G", "未知", "G"); list= StringHelper.string2EnumMetaData("中国人民争行: F(女),M(男);G(未知)"); assertEquals(3,list.size()); verifyMetadata(list.get(0), "F", "女", "F"); verifyMetadata(list.get(1), "M", "男", "M"); verifyMetadata(list.get(2), "G", "未知", "G"); } public void testEmptyString() { assertTrue(StringHelper.string2EnumMetaData("").isEmpty()); assertTrue(StringHelper.string2EnumMetaData(" ").isEmpty()); assertTrue(StringHelper.string2EnumMetaData(null).isEmpty()); } private void verify2Argument(List<EnumMetaDada> list) { assertEquals(2,list.size()); EnumMetaDada f= list.get(0); verifyMetadata(f, "F", "女", "F"); EnumMetaDada m= list.get(1); verifyMetadata(m, "M", "男", "M"); } private void verifyMetadata(EnumMetaDada m, String enumAlias, String enumDesc, String enumKey) { assertEquals(m.getEnumAlias(),enumAlias); assertEquals(m.getEnumDesc(),enumDesc); assertEquals(m.getEnumKey(),enumKey); } public void test_string2ColumnEnumList_with_exception() { try { List<EnumMetaDada> list= StringHelper.string2EnumMetaData(",,"); assertTrue(list.isEmpty()); // fail(); }catch(Exception e) { System.out.println(e); } } }