// Path: CutletLib/src/main/java/com/cutlet/lib/model/Dimension.java
// @ToString
// public class Dimension implements Serializable{
// 
//     private double length;
//     private double width;
// 
//     public Dimension(final double length, final double width) {
//         this.length = length;
//         this.width = width;
//     }
// 
//     public double getLength() {
//         return length;
//     }
// 
//     public void setLength(final double length) {
//         this.length = length;
//     }
// 
//     public double getWidth() {
//         return width;
//     }
// 
//     public void setWidth(final double width) {
//         this.width = width;
//     }
// 
//     public double getArea() {
//         return getLength() * getWidth();
//     }
// 
//     public boolean canHold(@NonNull final Dimension other) {
//         return other.getLength() <= this.getLength() && other.getWidth() <= this.getWidth();
//     }    
//     
//     public Dimension rotated() {
//         return new Dimension(width, length);
//     }
// }
// 
// Path: CutletLib/src/main/java/com/cutlet/lib/model/Panel.java
// @ToString(exclude = "sheet")
// public class Panel implements Serializable {
// 
//     private final String title;
//     private final StockSheet sheet;
//     private final Dimension dimension;
//     private final boolean canRotate;
//     private final int count;
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public Panel(@NonNull final StockSheet sheet,
//             @NonNull final Dimension dimension,
//             @NonNull final String title,
//             final boolean canRotate,
//             final int count) {
// 
//         this.sheet = sheet;
//         this.title = title;
//         this.dimension = dimension;
//         this.canRotate = canRotate;
//         this.count = count;
// 
//         if (dimension.getWidth() > sheet.getDimension().getWidth() || dimension.getLength() > sheet.getDimension().getLength()) {
//             throw new RuntimeException("panel too large for sheet");
//         }
//     }
// 
//     public StockSheet getSheet() {
//         return sheet;
//     }
// 
//     public Dimension getDimension() {
//         return dimension;
//     }
// 
//     public boolean canRotate() {
//         return canRotate;
//     }
// 
//     public boolean isCanRotate() {
//         return canRotate;
//     }
// 
//     public int getCount() {
//         return count;
//     }
// 
// }
// 
// Path: CutletLib/src/main/java/com/cutlet/lib/model/Project.java
// public class Project implements Serializable {
// 
//     private List<Panel> panels = new ArrayList<>();
//     private double bladeWidth = 3;
//     private Optional<OptimizationResult> optimizationResult;
// 
//     public List<Panel> getPanels() {
//         return panels;
//     }
// 
//     public void setPanels(@NonNull final List<Panel> inputs) {
//         this.panels = inputs;
//     }
// 
//     public double getBladeWidth() {
//         return bladeWidth;
//     }
// 
//     public void setBladeWidth(final double bladeWidth) {
//         checkArgument(bladeWidth >= 0, "bladeWidth can't be negative");
//         this.bladeWidth = bladeWidth;
//     }
// 
//     public Optional<OptimizationResult> getOptimizationResult() {
//         return optimizationResult;
//     }
// 
//     public void setOptimizationResult(@NonNull final Optional<OptimizationResult> optimizationResult) {
//         this.optimizationResult = optimizationResult;
//     }
// 
//     public void setOptimizationResult(java.util.Optional<OptimizationResult> newValue) {
//         if (newValue.isPresent()) {
//             this.optimizationResult = Optional.of(newValue.get());
// 
//         } else {
//             this.optimizationResult = Optional.absent();
// 
//         }
//     }
// 
//     public List<PanelInstance> getPanelInstances() {
//         List<PanelInstance> pis = new ArrayList<>();
//         for (Panel p : panels) {
//             for (int i = 0; i < p.getCount(); i++) {
//                 pis.add(new PanelInstance(p.getSheet(), p.getDimension(), p.getTitle(), i, p.canRotate()));
//             }
//         }
//         return pis;
//     }
// }
// 
// Path: CutletLib/src/main/java/com/cutlet/lib/model/StockSheet.java
// @ToString
// public class StockSheet implements Serializable {
// 
//     private final Material material;
//     private final double thickness;
//     private final String title;
//     private final Dimension dimension;
//     
// 
// 
//     public StockSheet(@NonNull final String title, 
//             @NonNull final Material material, 
//             @NonNull final Dimension dimension, 
//             final double thickness) {
//         
//         this.material = material;
//         this.dimension = dimension;
//         this.thickness = thickness;
//         this.title = title;
//     }
// 
//     public Dimension getDimension() {
//         return dimension;
//     }
// 
//     public double getThickness() {
//         return thickness;
//     }
// }


import com.cutlet.lib.model.Dimension;
import com.cutlet.lib.model.Panel;
import com.cutlet.lib.model.Project;
import com.cutlet.lib.model.StockSheet;
import java.util.ArrayList;
import java.util.List;

/*
 * Copyright (C) 2017 rudolf.muehlbauer@gmail.com
 */
package com.cutlet.lib.testing;


/**
 *
 * @author rmuehlba
 */
public class Data1 extends AbstractTestData {

    @Override

// Path: CutletLib/src/main/java/com/cutlet/lib/model/Dimension.java
// @ToString
// public class Dimension implements Serializable{
// 
//     private double length;
//     private double width;
// 
//     public Dimension(final double length, final double width) {
//         this.length = length;
//         this.width = width;
//     }
// 
//     public double getLength() {
//         return length;
//     }
// 
//     public void setLength(final double length) {
//         this.length = length;
//     }
// 
//     public double getWidth() {
//         return width;
//     }
// 
//     public void setWidth(final double width) {
//         this.width = width;
//     }
// 
//     public double getArea() {
//         return getLength() * getWidth();
//     }
// 
//     public boolean canHold(@NonNull final Dimension other) {
//         return other.getLength() <= this.getLength() && other.getWidth() <= this.getWidth();
//     }    
//     
//     public Dimension rotated() {
//         return new Dimension(width, length);
//     }
// }
// 
// Path: CutletLib/src/main/java/com/cutlet/lib/model/Panel.java
// @ToString(exclude = "sheet")
// public class Panel implements Serializable {
// 
//     private final String title;
//     private final StockSheet sheet;
//     private final Dimension dimension;
//     private final boolean canRotate;
//     private final int count;
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public Panel(@NonNull final StockSheet sheet,
//             @NonNull final Dimension dimension,
//             @NonNull final String title,
//             final boolean canRotate,
//             final int count) {
// 
//         this.sheet = sheet;
//         this.title = title;
//         this.dimension = dimension;
//         this.canRotate = canRotate;
//         this.count = count;
// 
//         if (dimension.getWidth() > sheet.getDimension().getWidth() || dimension.getLength() > sheet.getDimension().getLength()) {
//             throw new RuntimeException("panel too large for sheet");
//         }
//     }
// 
//     public StockSheet getSheet() {
//         return sheet;
//     }
// 
//     public Dimension getDimension() {
//         return dimension;
//     }
// 
//     public boolean canRotate() {
//         return canRotate;
//     }
// 
//     public boolean isCanRotate() {
//         return canRotate;
//     }
// 
//     public int getCount() {
//         return count;
//     }
// 
// }
// 
// Path: CutletLib/src/main/java/com/cutlet/lib/model/Project.java
// public class Project implements Serializable {
// 
//     private List<Panel> panels = new ArrayList<>();
//     private double bladeWidth = 3;
//     private Optional<OptimizationResult> optimizationResult;
// 
//     public List<Panel> getPanels() {
//         return panels;
//     }
// 
//     public void setPanels(@NonNull final List<Panel> inputs) {
//         this.panels = inputs;
//     }
// 
//     public double getBladeWidth() {
//         return bladeWidth;
//     }
// 
//     public void setBladeWidth(final double bladeWidth) {
//         checkArgument(bladeWidth >= 0, "bladeWidth can't be negative");
//         this.bladeWidth = bladeWidth;
//     }
// 
//     public Optional<OptimizationResult> getOptimizationResult() {
//         return optimizationResult;
//     }
// 
//     public void setOptimizationResult(@NonNull final Optional<OptimizationResult> optimizationResult) {
//         this.optimizationResult = optimizationResult;
//     }
// 
//     public void setOptimizationResult(java.util.Optional<OptimizationResult> newValue) {
//         if (newValue.isPresent()) {
//             this.optimizationResult = Optional.of(newValue.get());
// 
//         } else {
//             this.optimizationResult = Optional.absent();
// 
//         }
//     }
// 
//     public List<PanelInstance> getPanelInstances() {
//         List<PanelInstance> pis = new ArrayList<>();
//         for (Panel p : panels) {
//             for (int i = 0; i < p.getCount(); i++) {
//                 pis.add(new PanelInstance(p.getSheet(), p.getDimension(), p.getTitle(), i, p.canRotate()));
//             }
//         }
//         return pis;
//     }
// }
// 
// Path: CutletLib/src/main/java/com/cutlet/lib/model/StockSheet.java
// @ToString
// public class StockSheet implements Serializable {
// 
//     private final Material material;
//     private final double thickness;
//     private final String title;
//     private final Dimension dimension;
//     
// 
// 
//     public StockSheet(@NonNull final String title, 
//             @NonNull final Material material, 
//             @NonNull final Dimension dimension, 
//             final double thickness) {
//         
//         this.material = material;
//         this.dimension = dimension;
//         this.thickness = thickness;
//         this.title = title;
//     }
// 
//     public Dimension getDimension() {
//         return dimension;
//     }
// 
//     public double getThickness() {
//         return thickness;
//     }
// }


// Path: CutletLib/src/main/java/com/cutlet/lib/testing/Data1.java
import com.cutlet.lib.model.Dimension;
import com.cutlet.lib.model.Panel;
import com.cutlet.lib.model.Project;
import com.cutlet.lib.model.StockSheet;
import java.util.ArrayList;
import java.util.List;

/*
 * Copyright (C) 2017 rudolf.muehlbauer@gmail.com
 */
package com.cutlet.lib.testing;


/**
 *
 * @author rmuehlba
 */
public class Data1 extends AbstractTestData {

    @Override

    public Project getData() {
