/** * Copyright (c) 2012 BMW Car IT and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.jnario.jnario.tests.integration; import java.util.List; import org.eclipse.xtext.xbase.lib.Functions.Function1; import org.eclipse.xtext.xbase.lib.ListExtensions; import org.jnario.jnario.tests.integration.ExtensionLibrarySpec; import org.jnario.lib.Assert; import org.jnario.lib.JnarioCollectionLiterals; import org.jnario.lib.Should; import org.jnario.lib.StringConversions; import org.jnario.runner.ExampleGroupRunner; import org.jnario.runner.Named; import org.jnario.runner.Order; import org.junit.Test; import org.junit.runner.RunWith; /** * Arguments passed in from step definitions in Jnario Features * are always of type string. These extension methods simplify * converting these string parameters into other types or representations. */ @Named("Converting Strings") @RunWith(ExampleGroupRunner.class) @SuppressWarnings("all") public class ExtensionLibraryConvertingStringsSpec extends ExtensionLibrarySpec { /** * Converting strings to other primitive types. */ @Test @Named("Converting Strings to Primitives") @Order(1) public void _convertingStringsToPrimitives() throws Exception { boolean _bool = StringConversions.toBool("true"); boolean _doubleArrow = Should.<Boolean>operator_doubleArrow(Boolean.valueOf(_bool), true); Assert.assertTrue("\nExpected \"true\".toBool => true but" + "\n \"true\".toBool is " + new org.hamcrest.StringDescription().appendValue(Boolean.valueOf(_bool)).toString() + "\n", _doubleArrow); int _int = StringConversions.toInt("5"); boolean _doubleArrow_1 = Should.<Integer>operator_doubleArrow(Integer.valueOf(_int), Integer.valueOf(5)); Assert.assertTrue("\nExpected \"5\".toInt => 5 but" + "\n \"5\".toInt is " + new org.hamcrest.StringDescription().appendValue(Integer.valueOf(_int)).toString() + "\n", _doubleArrow_1); double _double = StringConversions.toDouble("5.5"); boolean _doubleArrow_2 = Should.<Double>operator_doubleArrow(Double.valueOf(_double), Double.valueOf(5.5)); Assert.assertTrue("\nExpected \"5.5\".toDouble => 5.5 but" + "\n \"5.5\".toDouble is " + new org.hamcrest.StringDescription().appendValue(Double.valueOf(_double)).toString() + "\n", _doubleArrow_2); long _long = StringConversions.toLong("5"); Assert.assertTrue("\nExpected \"5\".toLong => 5l but" + "\n \"5\".toLong is " + new org.hamcrest.StringDescription().appendValue(Long.valueOf(_long)).toString() + "\n", Should.<Long>operator_doubleArrow(Long.valueOf(_long), Long.valueOf(5l))); } /** * Converting comma separated value strings into a list of strings. */ @Test @Named("Converting Strings to Lists") @Order(2) public void _convertingStringsToLists() throws Exception { List<String> _list = StringConversions.toList("1,2,3"); List<String> _list_1 = JnarioCollectionLiterals.<String>list("1", "2", "3"); boolean _doubleArrow = Should.<List<String>>operator_doubleArrow(_list, _list_1); Assert.assertTrue("\nExpected \"1,2,3\".toList => list(\"1\", \"2\", \"3\") but" + "\n \"1,2,3\".toList is " + new org.hamcrest.StringDescription().appendValue(_list).toString() + "\n list(\"1\", \"2\", \"3\") is " + new org.hamcrest.StringDescription().appendValue(_list_1).toString() + "\n", _doubleArrow); List<String> _list_2 = StringConversions.toList("1, 2, 3"); List<String> _list_3 = JnarioCollectionLiterals.<String>list("1", "2", "3"); boolean _doubleArrow_1 = Should.<List<String>>operator_doubleArrow(_list_2, _list_3); Assert.assertTrue("\nExpected \"1, 2, 3\".toList => list(\"1\", \"2\", \"3\") but" + "\n \"1, 2, 3\".toList is " + new org.hamcrest.StringDescription().appendValue(_list_2).toString() + "\n list(\"1\", \"2\", \"3\") is " + new org.hamcrest.StringDescription().appendValue(_list_3).toString() + "\n", _doubleArrow_1); List<String> _list_4 = StringConversions.toList("1, 2, 3"); final Function1<String, Integer> _function = new Function1<String, Integer>() { public Integer apply(final String it) { return Integer.valueOf(StringConversions.toInt(it)); } }; List<Integer> _map = ListExtensions.<String, Integer>map(_list_4, _function); List<Integer> _list_5 = JnarioCollectionLiterals.<Integer>list(Integer.valueOf(1), Integer.valueOf(2), Integer.valueOf(3)); Assert.assertTrue("\nExpected \"1, 2, 3\".toList.map[toInt] => list(1, 2, 3) but" + "\n \"1, 2, 3\".toList.map[toInt] is " + new org.hamcrest.StringDescription().appendValue(_map).toString() + "\n \"1, 2, 3\".toList is " + new org.hamcrest.StringDescription().appendValue(_list_4).toString() + "\n list(1, 2, 3) is " + new org.hamcrest.StringDescription().appendValue(_list_5).toString() + "\n", Should.<List<Integer>>operator_doubleArrow(_map, _list_5)); } }