generator property

ValueGenerator Function() generator

Implementation

ValueGenerator Function() get generator {
  switch (this) {
    // Scalar
    case TypeTest.bool:
      return () => BoolGenerator();
    case TypeTest.int:
      return () => IntGenerator();
    case TypeTest.double:
      return () => DoubleGenerator();
    case TypeTest.string:
      return () => StringGenerator();
    // List
    case TypeTest.listOfBool:
      return () => IteratorGenerator(BoolGenerator());
    case TypeTest.listOfInt:
      return () => IteratorGenerator(IntGenerator());
    case TypeTest.listOfDouble:
      return () => IteratorGenerator(DoubleGenerator());
    case TypeTest.listOfString:
      return () => IteratorGenerator(StringGenerator());
    // Map
    case TypeTest.mapOfBoolBool:
      return () => MapGenerator(BoolGenerator(), BoolGenerator());
    case TypeTest.mapOfBoolInt:
      return () => MapGenerator(BoolGenerator(), IntGenerator());
    case TypeTest.mapOfBoolDouble:
      return () => MapGenerator(BoolGenerator(), DoubleGenerator());
    case TypeTest.mapOfBoolString:
      return () => MapGenerator(BoolGenerator(), StringGenerator());
    case TypeTest.mapOfIntBool:
      return () => MapGenerator(IntGenerator(), BoolGenerator());
    case TypeTest.mapOfIntInt:
      return () => MapGenerator(IntGenerator(), IntGenerator());
    case TypeTest.mapOfIntDouble:
      return () => MapGenerator(IntGenerator(), DoubleGenerator());
    case TypeTest.mapOfIntString:
      return () => MapGenerator(IntGenerator(), StringGenerator());
    case TypeTest.mapOfDoubleBool:
      return () => MapGenerator(DoubleGenerator(), BoolGenerator());
    case TypeTest.mapOfDoubleInt:
      return () => MapGenerator(DoubleGenerator(), IntGenerator());
    case TypeTest.mapOfDoubleDouble:
      return () => MapGenerator(DoubleGenerator(), DoubleGenerator());
    case TypeTest.mapOfDoubleString:
      return () => MapGenerator(DoubleGenerator(), StringGenerator());
    case TypeTest.mapOfStringBool:
      return () => MapGenerator(StringGenerator(), BoolGenerator());
    case TypeTest.mapOfStringInt:
      return () => MapGenerator(StringGenerator(), IntGenerator());
    case TypeTest.mapOfStringDouble:
      return () => MapGenerator(StringGenerator(), DoubleGenerator());
    case TypeTest.mapOfStringString:
      return () => MapGenerator(StringGenerator(), StringGenerator());
    // Class of scalar
    case TypeTest.classOfBool:
      return () => ValueClassGenerator(BoolGenerator());
    case TypeTest.classOfInt:
      return () => ValueClassGenerator(IntGenerator());
    case TypeTest.classOfDouble:
      return () => ValueClassGenerator(DoubleGenerator());
    case TypeTest.classOfString:
      return () => ValueClassGenerator(StringGenerator());
    // Class of list
    case TypeTest.classOfListBool:
      return () => ValueClassGenerator(IteratorGenerator(BoolGenerator()));
    case TypeTest.classOfListInt:
      return () => ValueClassGenerator(IteratorGenerator(IntGenerator()));
    case TypeTest.classOfListDouble:
      return () => ValueClassGenerator(IteratorGenerator(DoubleGenerator()));
    case TypeTest.classOfListString:
      return () => ValueClassGenerator(IteratorGenerator(StringGenerator()));
    // Class of map
    case TypeTest.classOfMapBoolBool:
      return () =>
          ValueClassGenerator(MapGenerator(BoolGenerator(), BoolGenerator()));
    case TypeTest.classOfMapBoolInt:
      return () =>
          ValueClassGenerator(MapGenerator(BoolGenerator(), IntGenerator()));
    case TypeTest.classOfMapBoolDouble:
      return () => ValueClassGenerator(
          MapGenerator(BoolGenerator(), DoubleGenerator()));
    case TypeTest.classOfMapBoolString:
      return () => ValueClassGenerator(
          MapGenerator(BoolGenerator(), StringGenerator()));
    case TypeTest.classOfMapIntBool:
      return () =>
          ValueClassGenerator(MapGenerator(IntGenerator(), BoolGenerator()));
    case TypeTest.classOfMapIntInt:
      return () =>
          ValueClassGenerator(MapGenerator(IntGenerator(), IntGenerator()));
    case TypeTest.classOfMapIntDouble:
      return () => ValueClassGenerator(
          MapGenerator(IntGenerator(), DoubleGenerator()));
    case TypeTest.classOfMapIntString:
      return () => ValueClassGenerator(
          MapGenerator(IntGenerator(), StringGenerator()));
    case TypeTest.classOfMapDoubleBool:
      return () => ValueClassGenerator(
          MapGenerator(DoubleGenerator(), BoolGenerator()));
    case TypeTest.classOfMapDoubleInt:
      return () => ValueClassGenerator(
          MapGenerator(DoubleGenerator(), IntGenerator()));
    case TypeTest.classOfMapDoubleDouble:
      return () => ValueClassGenerator(
          MapGenerator(DoubleGenerator(), DoubleGenerator()));
    case TypeTest.classOfMapDoubleString:
      return () => ValueClassGenerator(
          MapGenerator(DoubleGenerator(), StringGenerator()));
    case TypeTest.classOfMapStringBool:
      return () => ValueClassGenerator(
          MapGenerator(StringGenerator(), BoolGenerator()));
    case TypeTest.classOfMapStringInt:
      return () => ValueClassGenerator(
          MapGenerator(StringGenerator(), IntGenerator()));
    case TypeTest.classOfMapStringDouble:
      return () => ValueClassGenerator(
          MapGenerator(StringGenerator(), DoubleGenerator()));
    case TypeTest.classOfMapStringString:
      return () => ValueClassGenerator(
          MapGenerator(StringGenerator(), StringGenerator()));
    // Class of class of scalar
    case TypeTest.classOfClassOfBool:
      return () =>
          ContainerClassGenerator(ValueClassGenerator(BoolGenerator()));
    case TypeTest.classOfClassOfInt:
      return () =>
          ContainerClassGenerator(ValueClassGenerator(IntGenerator()));
    case TypeTest.classOfClassOfDouble:
      return () =>
          ContainerClassGenerator(ValueClassGenerator(DoubleGenerator()));
    case TypeTest.classOfClassOfString:
      return () =>
          ContainerClassGenerator(ValueClassGenerator(StringGenerator()));
    // Class of class of list
    case TypeTest.classOfClassOfListBool:
      return () => ContainerClassGenerator(
          ValueClassGenerator(IteratorGenerator(BoolGenerator())));
    case TypeTest.classOfClassOfListInt:
      return () => ContainerClassGenerator(
          ValueClassGenerator(IteratorGenerator(IntGenerator())));
    case TypeTest.classOfClassOfListDouble:
      return () => ContainerClassGenerator(
          ValueClassGenerator(IteratorGenerator(DoubleGenerator())));
    case TypeTest.classOfClassOfListString:
      return () => ContainerClassGenerator(
          ValueClassGenerator(IteratorGenerator(StringGenerator())));
    // Class of class of map
    case TypeTest.classOfClassOfMapBoolBool:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(BoolGenerator(), BoolGenerator())));
    case TypeTest.classOfClassOfMapBoolInt:
      return () => ContainerClassGenerator(
          ValueClassGenerator(MapGenerator(BoolGenerator(), IntGenerator())));
    case TypeTest.classOfClassOfMapBoolDouble:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(BoolGenerator(), DoubleGenerator())));
    case TypeTest.classOfClassOfMapBoolString:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(BoolGenerator(), StringGenerator())));
    case TypeTest.classOfClassOfMapIntBool:
      return () => ContainerClassGenerator(
          ValueClassGenerator(MapGenerator(IntGenerator(), BoolGenerator())));
    case TypeTest.classOfClassOfMapIntInt:
      return () => ContainerClassGenerator(
          ValueClassGenerator(MapGenerator(IntGenerator(), IntGenerator())));
    case TypeTest.classOfClassOfMapIntDouble:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(IntGenerator(), DoubleGenerator())));
    case TypeTest.classOfClassOfMapIntString:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(IntGenerator(), StringGenerator())));
    case TypeTest.classOfClassOfMapDoubleBool:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(DoubleGenerator(), BoolGenerator())));
    case TypeTest.classOfClassOfMapDoubleInt:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(DoubleGenerator(), IntGenerator())));
    case TypeTest.classOfClassOfMapDoubleDouble:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(DoubleGenerator(), DoubleGenerator())));
    case TypeTest.classOfClassOfMapDoubleString:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(DoubleGenerator(), StringGenerator())));
    case TypeTest.classOfClassOfMapStringBool:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(StringGenerator(), BoolGenerator())));
    case TypeTest.classOfClassOfMapStringInt:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(StringGenerator(), IntGenerator())));
    case TypeTest.classOfClassOfMapStringDouble:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(StringGenerator(), DoubleGenerator())));
    case TypeTest.classOfClassOfMapStringString:
      return () => ContainerClassGenerator(ValueClassGenerator(
          MapGenerator(StringGenerator(), StringGenerator())));
  }
}