@Test public void test5() { RandomUtil.getInstance().setSeed(29999483L); List<Node> nodes = new ArrayList<>(); for (int i1 = 0; i1 < 5; i1++) { nodes.add(new ContinuousVariable("X" + (i1 + 1))); } Graph graph = new Dag(GraphUtils.randomGraph(nodes, 0, 5, 30, 15, 15, false)); SemPm semPm = new SemPm(graph); SemIm semIm = new SemIm(semPm); semIm.simulateDataReducedForm(1000, false); GeneralizedSemPm pm = new GeneralizedSemPm(semPm); GeneralizedSemIm im = new GeneralizedSemIm(pm, semIm); TetradVector e = new TetradVector(5); for (int i = 0; i < e.size(); i++) { e.set(i, RandomUtil.getInstance().nextNormal(0, 1)); } TetradVector record1 = semIm.simulateOneRecord(e); TetradVector record2 = im.simulateOneRecord(e); print("XXX1" + e); print("XXX2" + record1); print("XXX3" + record2); for (int i = 0; i < record1.size(); i++) { assertEquals(record1.get(i), record2.get(i), 1e-10); } }