### Question:
CustomerTransactionParametersSamplerBuilder { public Sampler<CustomerTransactionParameters> build() { Sampler<Integer> nPetsSampler = new UniformIntSampler(Constants.MIN_PETS, Constants.MAX_PETS, seedFactory); Sampler<PetSpecies> petSpeciesSampler = RouletteWheelSampler.createUniform(Arrays.asList(PetSpecies.values()), seedFactory); Sampler<Double> transactionTriggerTimeSampler = new BoundedMultiModalGaussianSampler(Constants.TRANSACTION_TRIGGER_TIME_GAUSSIANS, Constants.TRANSACTION_TRIGGER_TIME_MIN, Constants.TRANSACTION_TRIGGER_TIME_MAX, seedFactory); Sampler<Double> purchaseTriggerTimeSampler = new BoundedMultiModalGaussianSampler(Constants.PURCHASE_TRIGGER_TIME_GAUSSIANS, Constants.PURCHASE_TRIGGER_TIME_MIN, Constants.PURCHASE_TRIGGER_TIME_MAX, seedFactory); return new CustomerTransactionParametersSampler(nPetsSampler, petSpeciesSampler, transactionTriggerTimeSampler, purchaseTriggerTimeSampler); } CustomerTransactionParametersSamplerBuilder(SeedFactory seedFactory); Sampler<CustomerTransactionParameters> build();  }### Answer:
@Test public void testBuild() throws Exception { SeedFactory seedFactory = new SeedFactory(1234); CustomerTransactionParametersSamplerBuilder builder = new CustomerTransactionParametersSamplerBuilder(seedFactory); Sampler<CustomerTransactionParameters> sampler = builder.build(); CustomerTransactionParameters transParams = sampler.sample(); assertTrue(transParams.countPets() >= Constants.MIN_PETS); assertTrue(transParams.countPets() <= Constants.MAX_PETS); assertTrue(transParams.getAveragePurchaseTriggerTime() >= Constants.PURCHASE_TRIGGER_TIME_MIN); assertTrue(transParams.getAveragePurchaseTriggerTime() <= Constants.PURCHASE_TRIGGER_TIME_MAX); assertTrue(transParams.getAverageTransactionTriggerTime() >= Constants.TRANSACTION_TRIGGER_TIME_MIN); assertTrue(transParams.getAverageTransactionTriggerTime() <= Constants.TRANSACTION_TRIGGER_TIME_MAX); }