Purpose: This test case verifies the ability of RStudio to seamlessly execute Python code interspersed with R code in a sequential order. The test utilizes the reticulate
package to facilitate communication between R and Python environments.
Scope:
reticulate
.Test Design:
1. Test Environment:
testthat
package installedreticulate
package installed2. Test Data:
3. Test Steps:
01-test_data.py
: Imports pandas
and os
, creates a dataFrame data
, writes it to a CSV file (test_data_py.csv
) and performs a calculation (e.g., sum of a column) and prints the result.02-test_data.py
: Imports pandas
, os
and sys
, reads/writes the CSV file test_data_py.csv
) created in 01-test_data.py
, creates a dataframe py_data
, defines a variable subdirectory
, checks if the subdirectory
variable exists in the python environment, passes the result to a variable data
, prints whether y
or n
, writes a dynamically named dataframe either y.csv
or n.csv
to the munge
subdirectoryreticulate
's source
function to sequentially load the Python scripts from the R Project Template package.except_false
and file.exists
from the testthat
package.except_false
from the testthat
package.01-test_data.py
) to test capturing of the Python calculation result.01-test_data.R
) to test capturing of the R result tibble.02-test_data.py
) to test capturing of the Python environment result.02-test_data.R
) to test capturing of the R result tibble.4. Expected Results:
01-test_data.py
) should capture the expected result from the Python calculation and the expect_true
, file.exists
assertion should pass.02-test_data.py
) should capture the expected result from the Python environment and the expect_true
, file.exists
assertion should pass.01-test_data.R
) should capture the expected result from the R calculation and the expect_true
, file.exists
assertion should pass.02-test_data.R
) should capture the expected result from the R environment and the expect_true
, file.exists
assertion should pass.test_data_py.csv
, write_test_data_py.csv
and y.csv
) created by the Python script should exist and the expect_true
, file.exists
assertion should pass.n.csv
) should not be created by the Python script and the expect_false
, file.exists
assertion should pass.data
) created in the (01-test_data.py
) script should not be written to the R Environment and the expect_false
, assertion should pass.5. Pass/Fail Criteria:
Additional Considerations:
Conclusion: This test case demonstrates the basic functionality of running Python code interspersed with R code using reticulate
. By successfully passing this test, we gain confidence in RStudio's ability to integrate Python code within the R environment, allowing for flexible data analysis workflows that leverage the strengths of both languages.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.