tests/testthat/test-overall-annotation.R

context("package loading annotations")

test_that("correct text when there are no matches", {
  test_string <- c("cdog\n23")
  expect_output(annotate_pkg_calls(test_string), "no matching library load calls")
  expect_output(annotate_repo_source(test_string), "no matching library load calls")
  expect_output(annotate_repostitle(test_string), "no matching library load calls")
  expect_output(annotate_pkg_datasets(test_string), "no matching library load calls")
  })

test_that("repo details returns a user/repository-name vector", {
  expect_match(repo_details("stringr"), ".*\\/.*")
})

test_that("repository sources returns a repository-version combination", {
  test_string <- c("library(tibble)")
  expect_match(
    annotate_repo_source(test_string),
    "library\\(tibble\\) # .+\\w+ v.*"
  )
})

test_that("repository sources returns a repository-version combination (p_load)", {
  test_string <- c("p_load(tibble)")
  expect_match(
    annotate_repo_source(test_string),
    "p_load\\(\ntibble # .+\\w+ v.*\\)"
  )
})

test_that("input for alignment function is a character string", {
  expect_error(align_annotations(1234))
})

test_that("repository title and sources includes a repository-version combination", {
  test_string <- c("library(tibble)")
  expect_match(
    annotate_repostitle(test_string),
    "\\w v.*"
  )
})

test_that("repository sources returns a repository-version combination (p_load and library)", {
  test_string <- c(
    "p_load(tidyr)
library(stringi)"
  )
  expect_match(
    annotate_repo_source(test_string),
    "p_load.*tidyr\\s*# .+ v.*library.stringi.* .+ v.*"
  )
})

test_that("package function annotations when none used", {
  test_string <- c("library(purrr)\nread_delim('dat')")
  test_string_p <- c("p_load(tidyr)\nread_delim('dat')")
  expect_match(
    annotate_fun_calls(test_string),
    "No used functions found"
  )
  expect_match(
    annotate_fun_calls(test_string_p),
    "No used functions found"
  )
})


test_that("package dataset annotations when none used", {
  test_string <- c("library(tibble)\nread_delim('dat')")
  expect_match(
    annotate_pkg_datasets(test_string),
    "No loaded datasets found"
  )
})

test_that("if statement for pacman calls works", {
  test_string <- c("p_load(purrr)")
  expect_match(
    annotate_repostitle(test_string),
    "# Functional"
  )
})

test_that("if statement for pacman + base calls works", {
  test_string <- c("p_load(purrr)\nlibrary(tidyr)")
  expect_match(annotate_repostitle(test_string), "# Functional")
  expect_match(annotate_repostitle(test_string), "# Tidy")
})
luisDVA/annotater documentation built on Feb. 2, 2024, 1:08 a.m.