package com.lazerycode.jmeter; import com.lazerycode.jmeter.utility.UtilityFunctions; import org.junit.Test; import java.io.File; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.*; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; /** * Tests {@link UtilityFunctions} class */ public class UtilityFunctionsTest { @Test public void humanReadableCommandLineOutputTest() { List<String> testArray = new ArrayList<String>(Arrays.asList("a", "b", "c", "d")); String returnValue = UtilityFunctions.humanReadableCommandLineOutput(testArray); String expected = "a b c d"; assertEquals("string does not match array input", expected, returnValue); } @Test public void isNotSetMapTest() { Map testMap = null; assertThat(UtilityFunctions.isNotSet(testMap), is(equalTo(true))); Map testMap2 = Collections.emptyMap(); assertThat(UtilityFunctions.isNotSet(testMap2), is(equalTo(true))); } @Test public void isNotSetStringTest() { String testString = null; assertThat(UtilityFunctions.isNotSet(testString), is(equalTo(true))); String testString2 = ""; assertThat(UtilityFunctions.isNotSet(testString2), is(equalTo(true))); String testString3 = " "; assertThat(UtilityFunctions.isNotSet(testString3), is(equalTo(true))); } @Test public void isNotSetFile() { File testFile = null; assertThat(UtilityFunctions.isNotSet(testFile), is(equalTo(true))); File testFile2 = new File(" "); assertThat(UtilityFunctions.isNotSet(testFile2), is(equalTo(true))); File testFile3 = new File(""); assertThat(UtilityFunctions.isNotSet(testFile3), is(equalTo(true))); } @Test public void removeCarriageReturnsTest() { assertThat(UtilityFunctions.stripCarriageReturns("foo\n"), is(equalTo("foo"))); assertThat(UtilityFunctions.stripCarriageReturns("bar\r"), is(equalTo("bar"))); assertThat(UtilityFunctions.stripCarriageReturns("foo\nbar\r"), is(equalTo("foobar"))); } @Test public void checkPrivateConstructor() throws Exception { Constructor<UtilityFunctions> utilityFunctions; try { utilityFunctions = UtilityFunctions.class.getDeclaredConstructor(); utilityFunctions.setAccessible(true); utilityFunctions.newInstance(); } catch (InvocationTargetException e) { assertThat(e.getTargetException().getMessage(), is(equalTo("This class is non-instantiable."))); } } }