@Test
/**
 * Tests Bayesian Dirichlet Process Gaussian Mixture on a three well separated clusters.
 */
public void univariateToyBimodalTest() throws Exception {

    MacroBaseConf conf = new MacroBaseConf()
            .set(MacroBaseConf.RANDOM_SEED, 4)
            .set(MacroBaseConf.TRANSFORM_TYPE, "VARIATIONAL_DPMM")
            .set(GMMConf.MAX_ITERATIONS_TO_CONVERGE, 15)
            .set(GMMConf.DPM_TRUNCATING_PARAMETER, 8)
            .set(GMMConf.DPM_CONCENTRATION_PARAMETER, 2)
            .set(MacroBaseConf.DATA_LOADER_TYPE, "CSV_LOADER")
            .set(MacroBaseConf.CSV_COMPRESSION, CSVIngester.Compression.UNCOMPRESSED)
            .set(MacroBaseConf.CSV_INPUT_FILE, "src/test/resources/data/toy2gaussians.csv")
            .set(MacroBaseConf.METRICS, "XX")
            .set(MacroBaseConf.ATTRIBUTES, "");
    List<Datum> data = conf.constructIngester().getStream().drain();
    assertEquals(18, data.size());
    DPGMM variationalDPGM = new DPGMM(conf);
    variationalDPGM.train(data);
    log.debug("{}",  variationalDPGM.getClusterCenters(), variationalDPGM.getClusterProportions());
}