// Path: ugeojson-builder/src/main/java/org/ugeojson/builder/geometry/LineStringBuilder.java
// public class LineStringBuilder extends GeometryBuilder<LineStringDto> {
// 
// 	private static final LineStringBuilder INSTANCE = new LineStringBuilder();
// 
// 	public static LineStringBuilder getInstance() {
// 		return INSTANCE;
// 	}
// 
// 	private LineStringBuilder() {
// 	}
// 
// 	@Override
// 	public String toGeoJSON(LineStringDto lineString) {
// 		if (lineString == null || lineString.getPositions() == null || lineString.getPositions().isEmpty()) {
// 			return BuilderConstants.NULL_VALUE;
// 		}
// 
// 		StringBuilder builder = initializeBuilder();
// 		buildTypePart(builder, GeoJSONObjectTypeEnum.LineString);
// 
// 		builder.append(BuilderConstants.COORDINATES_SPACE);
// 		builder.append(BuilderConstants.OPEN_BRACKET);
// 		builder.append(BuilderConstants.NEWLINE);
// 
// 		buildLineStringPositions(builder, lineString);
// 
// 		builder.append(BuilderConstants.CLOSE_BRACKET);
// 
// 		buildBbox(builder, lineString.getBbox());
// 		endBuilder(builder);
// 
// 		return builder.toString();
// 	}
// 
// }
// 
// 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-model/src/main/java/org/ugeojson/model/geometry/LineStringDto.java
// public class LineStringDto extends GeometryDto {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private List<PositionDto> positions;
// 
// 	public LineStringDto(){
// 	}
// 	
// 	public LineStringDto(List<PositionDto> positions){
// 		this.positions = new ArrayList<>();
// 		for (PositionDto positionDto : positions) {
// 			this.positions.add(new PositionDto(positionDto));
// 		}
// 	}
// 
// 	public List<PositionDto> getPositions() {
// 		return positions;
// 	}
// 
// 	public void setPositions(List<PositionDto> positions) {
// 		this.positions = positions;
// 	}
// 
// 	@Override
// 	public GeoJSONObjectTypeEnum getGeoJSONObjectType() {
// 		return GeoJSONObjectTypeEnum.LineString;
// 	}
// }


import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.ugeojson.builder.geometry.LineStringBuilder;
import org.ugeojson.model.PositionDto;
import org.ugeojson.model.geometry.LineStringDto;
package org.ugeojson.builder.geometry;




public class LineStringBuilderShould {

	@Test
	public void build_linestring() {
		LineStringDto lineString = new LineStringDto();
		List<PositionDto> positions = new ArrayList<>();
// Path: ugeojson-builder/src/main/java/org/ugeojson/builder/geometry/LineStringBuilder.java
// public class LineStringBuilder extends GeometryBuilder<LineStringDto> {
// 
// 	private static final LineStringBuilder INSTANCE = new LineStringBuilder();
// 
// 	public static LineStringBuilder getInstance() {
// 		return INSTANCE;
// 	}
// 
// 	private LineStringBuilder() {
// 	}
// 
// 	@Override
// 	public String toGeoJSON(LineStringDto lineString) {
// 		if (lineString == null || lineString.getPositions() == null || lineString.getPositions().isEmpty()) {
// 			return BuilderConstants.NULL_VALUE;
// 		}
// 
// 		StringBuilder builder = initializeBuilder();
// 		buildTypePart(builder, GeoJSONObjectTypeEnum.LineString);
// 
// 		builder.append(BuilderConstants.COORDINATES_SPACE);
// 		builder.append(BuilderConstants.OPEN_BRACKET);
// 		builder.append(BuilderConstants.NEWLINE);
// 
// 		buildLineStringPositions(builder, lineString);
// 
// 		builder.append(BuilderConstants.CLOSE_BRACKET);
// 
// 		buildBbox(builder, lineString.getBbox());
// 		endBuilder(builder);
// 
// 		return builder.toString();
// 	}
// 
// }
// 
// 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-model/src/main/java/org/ugeojson/model/geometry/LineStringDto.java
// public class LineStringDto extends GeometryDto {
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private List<PositionDto> positions;
// 
// 	public LineStringDto(){
// 	}
// 	
// 	public LineStringDto(List<PositionDto> positions){
// 		this.positions = new ArrayList<>();
// 		for (PositionDto positionDto : positions) {
// 			this.positions.add(new PositionDto(positionDto));
// 		}
// 	}
// 
// 	public List<PositionDto> getPositions() {
// 		return positions;
// 	}
// 
// 	public void setPositions(List<PositionDto> positions) {
// 		this.positions = positions;
// 	}
// 
// 	@Override
// 	public GeoJSONObjectTypeEnum getGeoJSONObjectType() {
// 		return GeoJSONObjectTypeEnum.LineString;
// 	}
// }


// Path: ugeojson-builder/src/test/java/org/ugeojson/builder/geometry/LineStringBuilderShould.java
import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.ugeojson.builder.geometry.LineStringBuilder;
import org.ugeojson.model.PositionDto;
import org.ugeojson.model.geometry.LineStringDto;

package org.ugeojson.builder.geometry;




public class LineStringBuilderShould {

	@Test
	public void build_linestring() {
		LineStringDto lineString = new LineStringDto();
		List<PositionDto> positions = new ArrayList<>();
		positions.add(new PositionDto(32.123,24.587));