@Test public void shouldHandleDoubleQuotedValue() { // Given ListConverter converter = new ListConverter( String.class, NTString ); String listString = "[\"foo\", \"bar\"]"; // When DefaultParameterValue converted = converter.apply( listString ); // Then assertThat( converted, equalTo( ntList( asList( "foo", "bar" ), NTString ) ) ); }
@Test public void shouldHandleBooleanValues() { // Given ListConverter converter = new ListConverter( Boolean.class, NTBoolean ); String mapString = "[false, true]"; // When DefaultParameterValue converted = converter.apply( mapString ); // Then assertThat( converted, equalTo( ntList( asList( false, true ), NTBoolean ) ) ); }
@Test public void shouldHandleFloatValue() { // Given ListConverter converter = new ListConverter( Double.class, NTFloat ); String listSting = "[2.718281828, 3.14]"; // When DefaultParameterValue converted = converter.apply( listSting ); // Then assertThat( converted, equalTo( ntList( asList( 2.718281828, 3.14 ), NTFloat ) ) ); }
@Test public void shouldHandleNullValue() { // Given ListConverter converter = new ListConverter( Double.class, NTFloat ); String listString = "[null]"; // When DefaultParameterValue converted = converter.apply( listString ); // Then assertThat( converted, equalTo( ntList( singletonList( null ), NTFloat ) ) ); }
@Test public void shouldHandleSingleQuotedValue() { // Given ListConverter converter = new ListConverter( String.class, NTString ); String listString = "['foo', 'bar']"; // When DefaultParameterValue converted = converter.apply( listString ); // Then assertThat( converted, equalTo( ntList( asList( "foo", "bar" ), NTString ) ) ); }
@Test public void shouldPassOnValidMixedTyoes() { // Given ListConverter converter = new ListConverter( Object.class, NTAny ); String listString = "[1337, 'forty-two']"; // When DefaultParameterValue value = converter.apply( listString ); // Then assertThat( value, equalTo( ntList( asList( 1337L, "forty-two" ), NTAny ) ) ); }
@Test public void shouldHandleEmptyList() { // Given ListConverter converter = new ListConverter( String.class, NTString ); String listString = "[]"; // When DefaultParameterValue converted = converter.apply( listString ); // Then assertThat( converted, equalTo( ntList( emptyList(), NTString ) ) ); }
@Test public void shouldHandleEmptyListWithSpaces() { // Given ListConverter converter = new ListConverter( String.class, NTString ); String listString = " [ ] "; // When DefaultParameterValue converted = converter.apply( listString ); // Then assertThat( converted, equalTo( ntList( emptyList(), NTString ) ) ); }
@Test public void shouldHandleIntegerValue() { // Given ListConverter converter = new ListConverter( Long.class, NTInteger ); String listString = "[1337, 42]"; // When DefaultParameterValue converted = converter.apply( listString ); // Then assertThat( converted, equalTo( ntList( asList( 1337L, 42L ), NTInteger ) ) ); }
@Test public void shouldHandleNullString() { // Given ListConverter converter = new ListConverter( String.class, NTString ); String listString = "null"; // When DefaultParameterValue converted = converter.apply( listString ); // Then assertThat( converted, equalTo( ntList( null, NTString ) ) ); }
if (value == null) return null; typeName = typeName.toUpperCase(); if (typeName.startsWith("LIST ")) return DefaultParameterValue.ntList((List<?>) value,typeof(typeName.substring(5))); switch (typeName) { case "MAP": return DefaultParameterValue.ntMap((Map<String, Object>) value);