From d615114b33e552efceae36ec326b42452b29a3e9 Mon Sep 17 00:00:00 2001 From: Enrique Zamudio Date: Wed, 18 Jan 2017 21:38:52 -0600 Subject: [PATCH] parameterize test --- .../java/com/solab/iso8583/TestLlllPatch.java | 42 ++++++++++++++----- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/src/test/java/com/solab/iso8583/TestLlllPatch.java b/src/test/java/com/solab/iso8583/TestLlllPatch.java index 76541b4..9c60a4e 100644 --- a/src/test/java/com/solab/iso8583/TestLlllPatch.java +++ b/src/test/java/com/solab/iso8583/TestLlllPatch.java @@ -3,17 +3,32 @@ package com.solab.iso8583; import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import java.io.*; +import java.util.Arrays; +import java.util.List; /** * Extended test for LLLLVar field * * @author Peter Margetiak */ +@RunWith(Parameterized.class) public class TestLlllPatch { private MessageFactory mfact = new MessageFactory<>(); + private int fieldLength; + + @Parameterized.Parameters + public static List lengths() { + return Arrays.asList(5, 50, 500, 5000); + } + + public TestLlllPatch(int l) { + fieldLength = l; + } @Before public void setup() throws IOException { @@ -23,18 +38,23 @@ public class TestLlllPatch { @Test public void testParsingLength() throws Exception { - final int LENGTH = 1234; - // prepare - String LLLLVar = makeLLLLVar(LENGTH); - StringBuilder LLLLVarBuilder = new StringBuilder(); - LLLLVarBuilder.append("01004000000000000000") - .append(String.format("%04d", LENGTH)).append(LLLLVar); + String llllvar = makeLLLLVar(fieldLength); + StringBuilder sb = new StringBuilder(); + sb.append("01004000000000000000") + .append(String.format("%04d", fieldLength)).append(llllvar); // parse - IsoMessage m = mfact.parseMessage(LLLLVarBuilder.toString().getBytes(), 0); + IsoMessage m = mfact.parseMessage(sb.toString().getBytes(), 0); Assert.assertNotNull(m); - Assert.assertEquals(LLLLVar, m.getObjectValue(2)); + String f2 = m.getObjectValue(2); + Assert.assertEquals(llllvar, f2); + Assert.assertEquals(fieldLength, f2.length()); + //Encode + m = mfact.newMessage(0x100); + m.setIsoHeader(null); + m.setValue(2, llllvar, IsoType.LLLLVAR, 0); + Assert.assertEquals(sb.toString(), m.debugString()); } @Test @@ -83,11 +103,11 @@ public class TestLlllPatch { } private String makeLLLLVar(final int length) { - final StringBuilder sb = new StringBuilder(); + final char[] chars = new char[length]; for (int i = 0; i < length; i++) { - sb.append("a"); + chars[i] = 'a'; } - return sb.toString(); + return new String(chars); } }