NewFakerRandomizer creates a randomizer that uses the faker library to generate fake but reasonable values.
(seed string)
| 98 | // NewFakerRandomizer creates a randomizer that uses the faker library to |
| 99 | // generate fake but reasonable values. |
| 100 | func NewFakerRandomizer(seed string) Randomizer { |
| 101 | hasher := md5.New() |
| 102 | hasher.Write([]byte(seed)) |
| 103 | sint := int64(binary.BigEndian.Uint64(hasher.Sum(nil))) |
| 104 | source := rand.NewSource(sint) |
| 105 | ran := rand.New(source) |
| 106 | faker := &faker.Faker{ |
| 107 | Language: "end", |
| 108 | Dict: faker.Dict["en"], |
| 109 | Rand: ran, |
| 110 | } |
| 111 | |
| 112 | return &FakerRandomizer{ |
| 113 | Seed: seed, |
| 114 | faker: faker, |
| 115 | rand: ran, |
| 116 | } |
| 117 | } |
| 118 | |
| 119 | // FakerRandomizer implements the Random interface, using the Faker library. |
| 120 | type FakerRandomizer struct { |