/** * Generated by API Builder - https://www.apibuilder.io * Service version: 1.0.1 * User agent: apibuilder app.apibuilder.io/gilt/gilt-public-api/1.0.1/scalacheck */ package com.gilt.public.api.models.scalacheck import org.scalacheck.{Arbitrary, Gen} object GiltPublicApiScalaCheck extends GiltPublicApiScalaCheck { implicit def arbitraryJodaDateTime: Arbitrary[_root_.org.joda.time.DateTime] = Arbitrary(genJodaDateTime) def genJodaDateTime: Gen[_root_.org.joda.time.DateTime] = Gen.posNum[Long].map(instant => new _root_.org.joda.time.DateTime(instant)) implicit def arbitraryPlayJsObject: Arbitrary[_root_.play.api.libs.json.JsObject] = Arbitrary(genPlayJsObject) def genPlayJsObject: Gen[_root_.play.api.libs.json.JsObject] = Gen.const(_root_.play.api.libs.json.JsObject.empty) } trait GiltPublicApiScalaCheck { implicit def arbitraryJodaDateTime: Arbitrary[_root_.org.joda.time.DateTime] implicit def arbitraryPlayJsObject: Arbitrary[_root_.play.api.libs.json.JsObject] implicit def arbitraryProduct: Arbitrary[com.gilt.public.api.models.Product] = Arbitrary(genProduct) def genProduct: Gen[com.gilt.public.api.models.Product] = for { name <- Arbitrary.arbitrary[String] product <- Arbitrary.arbitrary[String] id <- Arbitrary.arbitrary[Long] brand <- Arbitrary.arbitrary[String] url <- Arbitrary.arbitrary[String] content <- Arbitrary.arbitrary[com.gilt.public.api.models.ProductContent] categories <- Arbitrary.arbitrary[Seq[String]] imageUrls <- Arbitrary.arbitrary[_root_.play.api.libs.json.JsObject] skus <- Arbitrary.arbitrary[Seq[com.gilt.public.api.models.Sku]] } yield com.gilt.public.api.models.Product(name, product, id, brand, url, content, categories, imageUrls, skus) implicit def arbitraryProductCategories: Arbitrary[com.gilt.public.api.models.ProductCategories] = Arbitrary(genProductCategories) def genProductCategories: Gen[com.gilt.public.api.models.ProductCategories] = for { categories <- Arbitrary.arbitrary[Seq[String]] } yield com.gilt.public.api.models.ProductCategories(categories) implicit def arbitraryProductContent: Arbitrary[com.gilt.public.api.models.ProductContent] = Arbitrary(genProductContent) def genProductContent: Gen[com.gilt.public.api.models.ProductContent] = for { description <- Arbitrary.arbitrary[_root_.scala.Option[String]] fitNotes <- Arbitrary.arbitrary[_root_.scala.Option[String]] material <- Arbitrary.arbitrary[_root_.scala.Option[String]] careInstructions <- Arbitrary.arbitrary[_root_.scala.Option[String]] origin <- Arbitrary.arbitrary[_root_.scala.Option[String]] } yield com.gilt.public.api.models.ProductContent(description, fitNotes, material, careInstructions, origin) implicit def arbitrarySaleDetail: Arbitrary[com.gilt.public.api.models.SaleDetail] = Arbitrary(genSaleDetail) def genSaleDetail: Gen[com.gilt.public.api.models.SaleDetail] = for { name <- Arbitrary.arbitrary[String] sale <- Arbitrary.arbitrary[String] saleKey <- Arbitrary.arbitrary[String] store <- Arbitrary.arbitrary[com.gilt.public.api.models.Store] description <- Arbitrary.arbitrary[_root_.scala.Option[String]] saleUrl <- Arbitrary.arbitrary[String] begins <- Arbitrary.arbitrary[_root_.org.joda.time.DateTime] ends <- Arbitrary.arbitrary[_root_.scala.Option[_root_.org.joda.time.DateTime]] imageUrls <- Arbitrary.arbitrary[_root_.play.api.libs.json.JsObject] products <- Arbitrary.arbitrary[_root_.scala.Option[Seq[String]]] } yield com.gilt.public.api.models.SaleDetail( name, sale, saleKey, store, description, saleUrl, begins, ends, imageUrls, products ) implicit def arbitrarySaleList: Arbitrary[com.gilt.public.api.models.SaleList] = Arbitrary(genSaleList) def genSaleList: Gen[com.gilt.public.api.models.SaleList] = for { sales <- Arbitrary.arbitrary[Seq[com.gilt.public.api.models.SaleDetail]] } yield com.gilt.public.api.models.SaleList(sales) implicit def arbitrarySku: Arbitrary[com.gilt.public.api.models.Sku] = Arbitrary(genSku) def genSku: Gen[com.gilt.public.api.models.Sku] = for { id <- Arbitrary.arbitrary[Long] inventoryStatus <- Arbitrary.arbitrary[String] msrpPrice <- Arbitrary.arbitrary[BigDecimal] salePrice <- Arbitrary.arbitrary[BigDecimal] shippingSurcharge <- Arbitrary.arbitrary[_root_.scala.Option[BigDecimal]] attributes <- Arbitrary.arbitrary[Seq[_root_.play.api.libs.json.JsObject]] } yield com.gilt.public.api.models.Sku(id, inventoryStatus, msrpPrice, salePrice, shippingSurcharge, attributes) implicit def arbitraryStore: Arbitrary[com.gilt.public.api.models.Store] = Arbitrary(genStore) def genStore: Gen[com.gilt.public.api.models.Store] = Gen.oneOf( com.gilt.public.api.models.Store.Women, com.gilt.public.api.models.Store.Men, com.gilt.public.api.models.Store.Kids, com.gilt.public.api.models.Store.Home ) }