y0-causal-inference / causaleffect

causaleffect: R package for identifying causal effects.
1 stars 0 forks source link

Create unit test for `insert` for Vignette 2 #2

Open hmhummel opened 2 months ago

hmhummel commented 2 months ago

See issue #1.

I have been able to create insert unit tests for Vignettes 2 and 3 because insert is called by simplify and uses similar inputs to join. However, I have not been able to create the insert unit test for Vignette 2 because simplify does not iterate all the way through, although the unit test passes the test_that test.

I created the unit tests for vignettes 1 and 3 by running simplify with breakpoints on each vignette (e.g. simplify(P_3_s1 (or s2), topo_3, G_3.unobs, G_3, G_3.obs)) using the browser() function. I added print statements after step 5 in simplify, and printed the J, D, M, cond, S, and O that result after this step. Note that:P$children[[k]]$cond: = cond and P$sumset[j] = S.

step <- step + 1
    cat("Step", step, "- After topological sorting\n")
    cat("M:", M, "\n")
    cat("O:", O, "\n")
    browser()  # Breakpoint 5: After topological sorting

    while (k <= i) {
      step <- step + 1
      cat("Step", step, "- Inside nested while loop before join operation\n")
      cat("P$children[[k]]$var:", P$children[[k]]$var, "\n")
      cat("P$children[[k]]$cond:", P$children[[k]]$cond, "\n")
      cat("P$sumset[j]:", P$sumset[j], "\n")
      browser()  # Breakpoint 6: Before join operation

When I attempt to similarly run simplify with breakpoints for Vignette 2, it only iterates through the first step and skips to step 8 (the last step).

hmhummel commented 2 months ago

To address this, I plan to: