tests/testthat/test-parseBotResponse.R

test_argument_validation(
  function_name = "extractCode",
  argument_name = "text",
  argument_type = "string",
  allow_null = FALSE
)

test_argument_validation(
  function_name = "extractCode",
  argument_name = "delimiter",
  argument_type = "string",
  allow_null = FALSE
)

test_that("Code can be extracted, but not the text.", {
  resp <- "To conduct a t-test in R, you use the `t.test()` function. The two main types of t-tests are:\n- Independent t-tests (comparison between two different groups)\n- Paired t-tests (comparison of two variables for a single group)\n\nHere's how to do them:\n\nFor an independent t-test:\n\n```R\n# Here, 'variable1' and 'variable2' are two different groups you want to compare.\nresult <- t.test(variable1, variable2)\nprint(result)\n```\n\nFor a paired t-test:\n\n```R\n# Here, 'pair1' and 'pair2' are paired measurements from the same group.\nresult <- t.test(pair1, pair2, paired = TRUE)\nprint(result)\n```\n\nThis will print the t-statistic, degrees of freedom, p-value, and confidence interval.\n\nPlease replace `variable1`, `variable2`, `pair1`, `pair2` with your actual data vectors.\n\nAlso, keep in mind that a t-test assumes your data is normally distributed, or approximately so. If your data do not meet this assumption, you may need to apply a different statistical test."
  clean_resp <- clean_code_blocks(resp)
  actual_code <- extractCode(clean_resp)$code
  expect_equal(actual_code,"\n# Here, 'variable1' and 'variable2' are two different groups you want to compare.\nresult <- t.test(variable1, variable2)\nprint(result)\n\n\n# Here, 'pair1' and 'pair2' are paired measurements from the same group.\nresult <- t.test(pair1, pair2, paired = TRUE)\nprint(result)\n")
})

test_that("Not only default delimiter works",{
  resp <-"Now my code looks different.\n111x=5111\n but this should not matter."
  actual_code <- extractCode(resp,delimiter = "111")$code
  expect_equal("x=5",actual_code)
})

test_that("Forgetting proper delimiter results in no codeblock",{
  resp <-"Now my code looks different.\n111x=5111\n but this should not matter."
  actual_code <- extractCode(resp)$code
  expect_equal("",actual_code)
})

test_that("Text is cleaned of codeblock",{
  resp <-"Now my code looks different.\n111x=5111\n but this should not matter."
  actual_text <- extractCode(resp,delimiter="111")$text
  expect_equal("Now my code looks different.\n\n\n but this should not matter.",actual_text)
})

test_that("Text is cleaned of codeblock",{
  resp <-"My code looks good.\n```x=5```\n How nice is that."
  actual_text <- extractCode(resp,delimiter="```")$text
  expect_equal("My code looks good.\n\n\n How nice is that.",actual_text)
})

Try the mergen package in your browser

Any scripts or data that you put into this service are public.

mergen documentation built on June 27, 2024, 5:10 p.m.