diff --git a/src/test/java/org/redkale/test/convert/BiFunctionConvertTest.java b/src/test/java/org/redkale/test/convert/BiFunctionConvertTest.java index ae48e1797..3ebe8ca27 100644 --- a/src/test/java/org/redkale/test/convert/BiFunctionConvertTest.java +++ b/src/test/java/org/redkale/test/convert/BiFunctionConvertTest.java @@ -14,60 +14,60 @@ import org.redkale.util.Attribute; /** @author zhangjx */ public class BiFunctionConvertTest { - public static class GamePlayer { + public static class GamePlayer { - public int userid; + public int userid; - public String username; + public String username; - public int[] cards; - } + public int[] cards; + } - public static class GameTable { + public static class GameTable { - public int tableid; + public int tableid; - public GamePlayer[] players; - } + public GamePlayer[] players; + } - @Test - public void run() throws Throwable { - GamePlayer player1 = new GamePlayer(); - player1.userid = 1; - player1.username = "玩家1"; - player1.cards = new int[] {11, 12, 13, 14, 15}; - GamePlayer player2 = new GamePlayer(); - player2.userid = 2; - player2.username = "玩家2"; - player2.cards = new int[] {21, 22, 23, 24, 25}; - GamePlayer player3 = new GamePlayer(); - player3.userid = 3; - player3.username = "玩家3"; - player3.cards = new int[] {31, 32, 33, 34, 35}; - GameTable table = new GameTable(); - table.tableid = 100; - table.players = new GamePlayer[] {player1, player2, player3}; - JsonConvert convert1 = JsonConvert.root(); - System.out.println(convert1.convertTo(table)); - JsonConvert convert2 = convert1.newConvert( - (Attribute t, Object u) -> { - if (t.field().equals("cards") && u instanceof GamePlayer) { - int userid = ((GamePlayer) u).userid; - if (userid == 3) return null; // 玩家3的cards不输出 - return t.get(u); - } - return t.get(u); - }, - (Object u) -> { - if (table != u) return null; - // return new ConvertField[]{new ConvertField("extcol1", 30), new ConvertField("extcol2", "扩展字段值")}; - return ConvertField.ofArray("extcol1", 30, "extcol2", "扩展字段值"); - }); - System.out.println(convert2.convertTo(table)); - Assertions.assertEquals( - "{\"players\":[{\"cards\":[11,12,13,14,15],\"userid\":1,\"username\":\"玩家1\"},{\"cards\":[21,22,23,24,25],\"userid\":2,\"username\":\"玩家2\"},{\"userid\":3,\"username\":\"玩家3\"}],\"tableid\":100,\"extcol1\":30,\"extcol2\":\"扩展字段值\"}", - convert2.convertTo(table)); - // {"players":[{"cards":[11,12,13,14,15],"userid":1,"username":"玩家1"},{"cards":[21,22,23,24,25],"userid":2,"username":"玩家2"},{"cards":[31,32,33,34,35],"userid":3,"username":"玩家3"}],"tableid":100} - // {"players":[{"cards":[11,12,13,14,15],"userid":1,"username":"玩家1"},{"cards":[21,22,23,24,25],"userid":2,"username":"玩家2"},{"userid":3,"username":"玩家3"}],"tableid":100,"extcol1":30,"extcol2":"扩展字段值"} - } + @Test + public void run() throws Throwable { + GamePlayer player1 = new GamePlayer(); + player1.userid = 1; + player1.username = "玩家1"; + player1.cards = new int[] {11, 12, 13, 14, 15}; + GamePlayer player2 = new GamePlayer(); + player2.userid = 2; + player2.username = "玩家2"; + player2.cards = new int[] {21, 22, 23, 24, 25}; + GamePlayer player3 = new GamePlayer(); + player3.userid = 3; + player3.username = "玩家3"; + player3.cards = new int[] {31, 32, 33, 34, 35}; + GameTable table = new GameTable(); + table.tableid = 100; + table.players = new GamePlayer[] {player1, player2, player3}; + JsonConvert convert1 = JsonConvert.root(); + System.out.println(convert1.convertTo(table)); + JsonConvert convert2 = convert1.newConvert( + (Attribute t, Object u) -> { + if (t.field().equals("cards") && u instanceof GamePlayer) { + int userid = ((GamePlayer) u).userid; + if (userid == 3) return null; // 玩家3的cards不输出 + return t.get(u); + } + return t.get(u); + }, + (Object u) -> { + if (table != u) return null; + // return new ConvertField[]{new ConvertField("extcol1", 30), new ConvertField("extcol2", "扩展字段值")}; + return ConvertField.ofArray("extcol1", 30, "extcol2", "扩展字段值"); + }); + System.out.println(convert2.convertTo(table)); + Assertions.assertEquals( + "{\"players\":[{\"cards\":[11,12,13,14,15],\"userid\":1,\"username\":\"玩家1\"},{\"cards\":[21,22,23,24,25],\"userid\":2,\"username\":\"玩家2\"},{\"userid\":3,\"username\":\"玩家3\"}],\"tableid\":100,\"extcol1\":30,\"extcol2\":\"扩展字段值\"}", + convert2.convertTo(table)); + // {"players":[{"cards":[11,12,13,14,15],"userid":1,"username":"玩家1"},{"cards":[21,22,23,24,25],"userid":2,"username":"玩家2"},{"cards":[31,32,33,34,35],"userid":3,"username":"玩家3"}],"tableid":100} + // {"players":[{"cards":[11,12,13,14,15],"userid":1,"username":"玩家1"},{"cards":[21,22,23,24,25],"userid":2,"username":"玩家2"},{"userid":3,"username":"玩家3"}],"tableid":100,"extcol1":30,"extcol2":"扩展字段值"} + } }