Package org.growersnation.site.model.soil

Source Code of org.growersnation.site.model.soil.SoilDataFaker

package org.growersnation.site.model.soil;

import com.github.javafaker.Faker;
import com.google.common.collect.Lists;
import org.bson.types.ObjectId;
import org.growersnation.site.model.soil.carbon.TopsoilCarbonFields;
import org.growersnation.site.model.soil.nutrients.TopsoilNutrientsFields;
import org.growersnation.site.model.soil.ph.PHBulkDensityFields;
import org.growersnation.site.model.soil.texture.SoilTextureFields;

import java.util.List;

import static com.google.common.collect.Lists.newArrayListWithCapacity;

/**
* <p>SoilDataFaker provides test implementations of {@link SoilData} for use in test cases</p>
* <p/>
* See the <a href="https://github.com/DiUS/java-faker">GitHub Java Faker project</a> more details
*/
public class SoilDataFaker {

  private static Faker faker = new Faker();

  public static SoilData createValidSoilData() {
    return new SoilData();
  }

  public static List<SoilData> createSoilDatas(String titlePrefix, int count) {
    // Pre-allocate for efficiency at larger scale
    List<SoilData> list = newArrayListWithCapacity(count);
    for (int i = 0; i < count; i++) {
      list.add(SoilDataFaker.createValidSoilData());
    }
    return list;
  }

  public static String createValidId() {
    return new ObjectId().toString();
  }

  public static List<TopsoilCarbonFields> createTopsoilCarbonFields() {
    List<TopsoilCarbonFields> topsoilCarbonFieldsList = Lists.newArrayList();

    for (int i = 0; i < 2; i++) {

      TopsoilCarbonFields topsoilCarbonFields = new TopsoilCarbonFields();

      topsoilCarbonFields.setDominantBroadHabitat("Arable");
      topsoilCarbonFields.setDominantBroadHabitat2000("Arable");
      topsoilCarbonFields.setConcentration1978(faker.numerify("3#.#"));
      topsoilCarbonFields.setConcentration1998(faker.numerify("3#.#"));
      topsoilCarbonFields.setConcentration2007(faker.numerify("3#.#"));
      topsoilCarbonFields.setCnRatio1998(faker.numerify("11.#"));
      topsoilCarbonFields.setCnRatio2007(faker.numerify("11.#"));
      topsoilCarbonFields.setCnRatio1998_2007(faker.numerify("-0.#"));
      topsoilCarbonFields.setnConcentration1998_2007(faker.numerify("-0.0#"));
      topsoilCarbonFields.setMiteSpringtailRatio1998(faker.numerify("1.##"));
      topsoilCarbonFields.setMiteSpringtailRatio2007(faker.numerify("5.##"));
      topsoilCarbonFields.setMiteSpringtailRatio9807(faker.numerify("3.##"));
      topsoilCarbonFields.setNumBroadtaxa1998(faker.numerify("4.##"));
      topsoilCarbonFields.setNumBroadtaxa2007(faker.numerify("3.#"));
      topsoilCarbonFields.setNumBroadtaxa9807(faker.numerify("-0.##"));

      topsoilCarbonFieldsList.add(topsoilCarbonFields);
    }

    return topsoilCarbonFieldsList;
  }

  public static List<TopsoilNutrientsFields> createTopsoilNutrientsFields() {
    List<TopsoilNutrientsFields> topsoilNutrientsFieldsList = Lists.newArrayList();

    for (int i = 0; i < 2; i++) {

      TopsoilNutrientsFields topsoilNutrientsFields = new TopsoilNutrientsFields();

      topsoilNutrientsFields.setDominantBroadHabitat("Arable");
      topsoilNutrientsFields.setMinerisableN2007("8.#######");

      topsoilNutrientsFieldsList.add(topsoilNutrientsFields);
    }
    return topsoilNutrientsFieldsList;
  }

  public static List<PHBulkDensityFields> createPHBulkDensityFields() {
    List<PHBulkDensityFields> pHBulkDensityFieldsList = Lists.newArrayList();

    for (int i = 0; i < 2; i++) {

      PHBulkDensityFields pHBulkDensityFields = new PHBulkDensityFields();

      pHBulkDensityFields.setDominantBroadHabitat("Arable");
      pHBulkDensityFields.setPh1978(faker.numerify("6.##"));
      pHBulkDensityFields.setPh1998(faker.numerify("6.##"));
      pHBulkDensityFields.setPh2007(faker.numerify("6.##"));
      pHBulkDensityFields.setCnRatio1998(faker.numerify("11.#"));
      pHBulkDensityFields.setCnRatio2007(faker.numerify("11.#"));
      pHBulkDensityFields.setCnRatio1998_2007(faker.numerify("-0.#"));
      pHBulkDensityFields.setnConc1998_2007(faker.numerify("-0.0#"));
      pHBulkDensityFields.setMiteSpringtailRatio1998(faker.numerify("1.##"));
      pHBulkDensityFields.setMiteSpringtailRatio2007(faker.numerify("5.##"));
      pHBulkDensityFields.setMiteSpringtailRatio9807(faker.numerify("3.##"));
      pHBulkDensityFields.setNumBroadtaxa1998(faker.numerify("4.##"));
      pHBulkDensityFields.setNumBroadtaxa2007(faker.numerify("3.#"));
      pHBulkDensityFields.setNumBroadtaxa1998_2007(faker.numerify("-0.##"));

      pHBulkDensityFieldsList.add(pHBulkDensityFields);
    }


    return pHBulkDensityFieldsList;
  }

  public static List<SoilTextureFields> createSoilTextureFields() {
    List<SoilTextureFields> soilTextureFieldsList = Lists.newArrayList();

    for (int i = 0; i < 2; i++) {

      SoilTextureFields soilTextureFields = new SoilTextureFields();

      soilTextureFields.setObjectId("######");
      soilTextureFields.setShape("Polygon");
      soilTextureFields.setGenPMLith("CLAY-SILT-SAND-GRAVEL");
      soilTextureFields.setEsbDescription("RIVERINE CLAY AND FLOODPLAIN SANDS AND GRAVEL");
      soilTextureFields.setGrainSize(null);
      soilTextureFields.setSoilGroup("ALL");
      soilTextureFields.setSoilDepth("DEEP");
      soilTextureFields.setCac03Rank(null);
      soilTextureFields.setPmmUID(faker.numerify("bgsn:PMMv6_pk_######"));
      soilTextureFields.setEsbCode(faker.numerify("###_###"));
      soilTextureFields.setLexRCS(faker.letterify("???-?????"));
      soilTextureFields.setShapeLength(faker.numerify("3###.####"));
      soilTextureFields.setShapeArea(faker.numerify("999###.######"));

      soilTextureFieldsList.add(soilTextureFields);
    }

    return soilTextureFieldsList;
  }

}
TOP

Related Classes of org.growersnation.site.model.soil.SoilDataFaker

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.