// Path: ugeojson-model/src/main/java/org/ugeojson/model/PositionDto.java
// public class PositionDto implements Serializable {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private double[] numbers;
// 
// 	/**
// 	 * This constructor initializes numbers field to hold two double numbers. Do
// 	 * not use this constructor if you need the third elevation parameter.
// 	 */
// 	public PositionDto() {
// 		this.numbers = new double[2];
// 	}
// 
// 	/**
// 	 * Simple coordinate position constructor
// 	 * 
// 	 * @param longitude
// 	 * @param latitude
// 	 */
// 	public PositionDto(double longitude, double latitude) {
// 		this.numbers = new double[] { longitude, latitude };
// 	}
// 
// 	/**
// 	 * Use this constructor if you need elevation parameter
// 	 * 
// 	 * @param longitude
// 	 * @param latitude
// 	 * @param elevation
// 	 */
// 	public PositionDto(double longitude, double latitude, double elevation) {
// 		this.numbers = new double[] { longitude, latitude, elevation };
// 	}
// 
// 	/**
// 	 * Copy constructor
// 	 * 
// 	 * @param position
// 	 */
// 	public PositionDto(PositionDto position) {
// 		if (position != null) {
// 			double[] copyNumbers = position.getNumbers();
// 			this.numbers = new double[copyNumbers.length];
// 			for (int i = 0; i < copyNumbers.length; i++) {
// 				this.numbers[i] = copyNumbers[i];
// 			}
// 		}
// 	}
// 
// 	@Override
// 	public String toString() {
// 		if (numbers == null) {
// 			return "null numbers[]";
// 		}
// 		StringBuilder value = new StringBuilder("[");
// 		for (int i = 0; i < numbers.length; i++) {
// 			value.append(numbers[i]);
// 			if (i < numbers.length - 1) {
// 				value.append(", ");
// 			}
// 		}
// 		value.append("]");
// 		return value.toString();
// 	}
// 
// 	public void setLongitude(double longitude) {
// 		this.numbers[0] = longitude;
// 	}
// 
// 	public double getLongitude() {
// 		return numbers[0];
// 	}
// 
// 	public void setLatitude(double latitude) {
// 		this.numbers[1] = latitude;
// 	}
// 
// 	public double getLatitude() {
// 		return numbers[1];
// 	}
// 
// 	public void setElevation(double elevation) {
// 		this.numbers[2] = elevation;
// 	}
// 
// 	public double getElevation() {
// 		return numbers[2];
// 	}
// 
// 	public double[] getNumbers() {
// 		return numbers;
// 	}
// 
// 	public void setNumbers(double[] numbers) {
// 		this.numbers = numbers;
// 	}
// }
// 
// Path: ugeojson-parser/src/main/java/org/ugeojson/parser/deserializer/PositionDeserializer.java
// public class PositionDeserializer implements JsonDeserializer<PositionDto> {
// 
// 	@Override
// 	public PositionDto deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
// 
// 		JsonArray asJsonArray = json.getAsJsonArray();
// 		double[] numbers = new double[asJsonArray.size()];
// 		for (int i = 0; i < asJsonArray.size(); i++) {
// 			numbers[i] = asJsonArray.get(i).getAsDouble();
// 		}
// 
// 		PositionDto positionDto = new PositionDto();
// 		positionDto.setNumbers(numbers);
// 		return positionDto;
// 	}
// 
// }


import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
import java.lang.reflect.Type;
import java.util.List;
import org.junit.Test;
import org.ugeojson.model.PositionDto;
import org.ugeojson.parser.deserializer.PositionDeserializer;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
package org.ugeojson.parser.deserializer;





public class PositionDeserializerShould {

	@Test public void
	deserialize_position(){
		GsonBuilder gsonBuilder = new GsonBuilder();
		gsonBuilder.registerTypeAdapter(PositionDto.class, new PositionDeserializer());
		Gson gson = gsonBuilder.create();
		 
		PositionDto positionDto = gson.fromJson(" [14.258,   \n47.141, 0.7890780] ", PositionDto.class);
		assertThat(positionDto.getLongitude(), equalTo(14.258));
		assertThat(positionDto.getLatitude(), equalTo(47.141));
		assertThat(positionDto.getElevation(), equalTo(0.7890780));
	}
	
	@Test public void
	deserialize_position_list(){
		GsonBuilder gsonBuilder = new GsonBuilder();
		gsonBuilder.registerTypeAdapter(PositionDto.class, new PositionDeserializer());
		Gson gson = gsonBuilder.create();
		
// Path: ugeojson-model/src/main/java/org/ugeojson/model/PositionDto.java
// public class PositionDto implements Serializable {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private double[] numbers;
// 
// 	/**
// 	 * This constructor initializes numbers field to hold two double numbers. Do
// 	 * not use this constructor if you need the third elevation parameter.
// 	 */
// 	public PositionDto() {
// 		this.numbers = new double[2];
// 	}
// 
// 	/**
// 	 * Simple coordinate position constructor
// 	 * 
// 	 * @param longitude
// 	 * @param latitude
// 	 */
// 	public PositionDto(double longitude, double latitude) {
// 		this.numbers = new double[] { longitude, latitude };
// 	}
// 
// 	/**
// 	 * Use this constructor if you need elevation parameter
// 	 * 
// 	 * @param longitude
// 	 * @param latitude
// 	 * @param elevation
// 	 */
// 	public PositionDto(double longitude, double latitude, double elevation) {
// 		this.numbers = new double[] { longitude, latitude, elevation };
// 	}
// 
// 	/**
// 	 * Copy constructor
// 	 * 
// 	 * @param position
// 	 */
// 	public PositionDto(PositionDto position) {
// 		if (position != null) {
// 			double[] copyNumbers = position.getNumbers();
// 			this.numbers = new double[copyNumbers.length];
// 			for (int i = 0; i < copyNumbers.length; i++) {
// 				this.numbers[i] = copyNumbers[i];
// 			}
// 		}
// 	}
// 
// 	@Override
// 	public String toString() {
// 		if (numbers == null) {
// 			return "null numbers[]";
// 		}
// 		StringBuilder value = new StringBuilder("[");
// 		for (int i = 0; i < numbers.length; i++) {
// 			value.append(numbers[i]);
// 			if (i < numbers.length - 1) {
// 				value.append(", ");
// 			}
// 		}
// 		value.append("]");
// 		return value.toString();
// 	}
// 
// 	public void setLongitude(double longitude) {
// 		this.numbers[0] = longitude;
// 	}
// 
// 	public double getLongitude() {
// 		return numbers[0];
// 	}
// 
// 	public void setLatitude(double latitude) {
// 		this.numbers[1] = latitude;
// 	}
// 
// 	public double getLatitude() {
// 		return numbers[1];
// 	}
// 
// 	public void setElevation(double elevation) {
// 		this.numbers[2] = elevation;
// 	}
// 
// 	public double getElevation() {
// 		return numbers[2];
// 	}
// 
// 	public double[] getNumbers() {
// 		return numbers;
// 	}
// 
// 	public void setNumbers(double[] numbers) {
// 		this.numbers = numbers;
// 	}
// }
// 
// Path: ugeojson-parser/src/main/java/org/ugeojson/parser/deserializer/PositionDeserializer.java
// public class PositionDeserializer implements JsonDeserializer<PositionDto> {
// 
// 	@Override
// 	public PositionDto deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
// 
// 		JsonArray asJsonArray = json.getAsJsonArray();
// 		double[] numbers = new double[asJsonArray.size()];
// 		for (int i = 0; i < asJsonArray.size(); i++) {
// 			numbers[i] = asJsonArray.get(i).getAsDouble();
// 		}
// 
// 		PositionDto positionDto = new PositionDto();
// 		positionDto.setNumbers(numbers);
// 		return positionDto;
// 	}
// 
// }


// Path: ugeojson-parser/src/test/java/org/ugeojson/parser/deserializer/PositionDeserializerShould.java
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
import java.lang.reflect.Type;
import java.util.List;
import org.junit.Test;
import org.ugeojson.model.PositionDto;
import org.ugeojson.parser.deserializer.PositionDeserializer;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;

package org.ugeojson.parser.deserializer;





public class PositionDeserializerShould {

	@Test public void
	deserialize_position(){
		GsonBuilder gsonBuilder = new GsonBuilder();
		gsonBuilder.registerTypeAdapter(PositionDto.class, new PositionDeserializer());
		Gson gson = gsonBuilder.create();
		 
		PositionDto positionDto = gson.fromJson(" [14.258,   \n47.141, 0.7890780] ", PositionDto.class);
		assertThat(positionDto.getLongitude(), equalTo(14.258));
		assertThat(positionDto.getLatitude(), equalTo(47.141));
		assertThat(positionDto.getElevation(), equalTo(0.7890780));
	}
	
	@Test public void
	deserialize_position_list(){
		GsonBuilder gsonBuilder = new GsonBuilder();
		gsonBuilder.registerTypeAdapter(PositionDto.class, new PositionDeserializer());
		Gson gson = gsonBuilder.create();
		
		Type collectionType = new TypeToken<List<PositionDto>>(){}.getType();