### Question:
CustomerSamplerBuilder { public Sampler<Customer> build() throws Exception { ProbabilityDensityFunction<Store> storePDF = new CustomerStorePDF(stores); Sampler<Integer> idSampler = new SequenceSampler(); Sampler<Pair<String, String>> nameSampler = new NameGenerator(seedFactory); Sampler<Store> storeSampler = RouletteWheelSampler.create(stores, storePDF, seedFactory); return new CustomerSampler(idSampler, nameSampler, storeSampler, buildLocationSampler()); } CustomerSamplerBuilder(List<Store> stores, InputData inputData, SeedFactory seedFactory); Sampler<Customer> build();  }### Answer:
@Test public void testSample() throws Exception { List<Location> zipcodes = Arrays.asList(new Location[] { new Location("11111", Pair.of(1.0, 1.0), "AZ", "Tempte", 30000.0, 100), new Location("22222", Pair.of(2.0, 2.0), "AZ", "Phoenix", 45000.0, 200), new Location("33333", Pair.of(3.0, 3.0), "AZ", "Flagstaff", 60000.0, 300) }); InputData inputData = new InputData(zipcodes); List<Store> stores = Arrays.asList(new Store(0, "Store_0", zipcodes.get(0)), new Store(1, "Store_1", zipcodes.get(1)), new Store(2, "Store_2", zipcodes.get(2)) ); SeedFactory factory = new SeedFactory(1234); CustomerSamplerBuilder builder = new CustomerSamplerBuilder(stores, inputData, factory); Sampler<Customer> sampler = builder.build(); Customer customer = sampler.sample(); assertNotNull(customer); assertTrue(customer.getId() >= 0); assertNotNull(customer.getName()); assertNotNull(customer.getLocation()); }