From bdf9ec57f213eb652ba5fb3b21973d028034d40e Mon Sep 17 00:00:00 2001 From: Sergey Nastich Date: Tue, 3 Apr 2018 10:57:14 -0700 Subject: Add enumeratum support to JSON format and generators (#144) * Add enumeratum support to JSON format and generators * Move enumeratum serializers into their own object. Add enumeratum unmarshaller. Add entities to derive JsonFormats instead of having to type them externally. --- src/test/scala/xyz/driver/core/GeneratorsTest.scala | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/test/scala/xyz/driver/core/GeneratorsTest.scala') diff --git a/src/test/scala/xyz/driver/core/GeneratorsTest.scala b/src/test/scala/xyz/driver/core/GeneratorsTest.scala index 62ba7ae..53a3aa9 100644 --- a/src/test/scala/xyz/driver/core/GeneratorsTest.scala +++ b/src/test/scala/xyz/driver/core/GeneratorsTest.scala @@ -2,6 +2,8 @@ package xyz.driver.core import org.scalatest.{Assertions, FlatSpec, Matchers} +import scala.collection.immutable.IndexedSeq + class GeneratorsTest extends FlatSpec with Matchers with Assertions { import generators._ @@ -175,6 +177,24 @@ class GeneratorsTest extends FlatSpec with Matchers with Assertions { Set(pick1, pick2, pick3, pick4, pick5, pick6).size should be >= 1 } + it should "be able to generate a specific value from an enumeratum enum" in { + + import enumeratum._ + sealed trait TestEnumValue extends EnumEntry + object TestEnum extends Enum[TestEnumValue] { + case object Value1 extends TestEnumValue + case object Value2 extends TestEnumValue + case object Value3 extends TestEnumValue + case object Value4 extends TestEnumValue + val values: IndexedSeq[TestEnumValue] = findValues + } + + val picks = (1 to 100).map(_ => generators.oneOf(TestEnum)) + + TestEnum.values should contain allElementsOf picks + picks.toSet.size should be >= 1 + } + it should "be able to generate array with values generated by generators" in { val arrayOfTimes = arrayOf(nextTime(), 16) -- cgit v1.2.3