y0-causal-inference / causaleffect

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

Create unit test for `join` for Vignette 2 #1

Open hmhummel opened 2 months ago

hmhummel commented 2 months ago

See issue #2.

I have been able to create join unit tests for Vignettes 1 and #3 because join is called by simplify. However, I have not been able to create the join 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 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, vari, cond, S, M, and O that result after this step. Note that: P$children[[k]]$var = var, P$children[[k]]$cond: = cond, 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: