Running 'spelling.R' [0s]
  Running 'testthat.R' [529s]
Running the tests in 'tests/testthat.R' failed.
Complete output:
  > library(testthat)
  > library(autodb)
  
  Attaching package: 'autodb'
  
  The following object is masked from 'package:stats':
  
      decompose
  
  > 
  > test_check("autodb")
  Saving _problems/test-discover-1045.R
  [ FAIL 1 | WARN 0 | SKIP 1 | PASS 778 ]
  
  ══ Skipped tests (1) ═══════════════════════════════════════════════════════════
  • empty test (1): 'test-decompose.r:130:3'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-discover.r:971:7'): discover / for accuracy = 1, is invariant to:
  - having a non-false keep_rownames vs. adding row names as first column
  - method used
  - excluding a class vs. excluding attributes in that class
  - filtering by arguments (dependants/detset_limit) or by subsetting results
  - whether partition is transferred between dependants
  - whether bijections are skipped ──
  Falsifiable after 2 tests, and 1 shrinks
  <simpleError in (function (df, method = c("FDHitsSep", "FDHitsJoint", "DFD"),     keep_rownames = FALSE, digits = getOption("digits"), exclude = character(),     exclude_class = character(), dependants = names(df), detset_limit = ncol(df) -         1L, progress = FALSE, progress_file = "", skip_bijections = FALSE,     accuracy = 1, full_cache = TRUE, store_cache = TRUE) {    method <- match.arg(method)    if (method == "FDHitsSep" && accuracy < 1)         stop("FDHitsSep can not take accuracy < 1")    if (method == "FDHitsJoint" && accuracy < 1)         stop("FDHitsJoint can not take accuracy < 1")    if (skip_bijections && accuracy < 1)         warning("skipping bijections when accuracy < 1 can result in incorrect output")    report <- reporter(progress, progress_file, new = TRUE)    if (!isFALSE(keep_rownames)) {        nm <- if (isTRUE(keep_rownames))             "row"        else keep_rownames[[1]]        df <- cbind(stats::setNames(data.frame(rownames(df)),             nm), df)    }    n_cols <- ncol(df)    if (n_cols == 0)         return(functional_dependency(stats::setNames(list(),             character()), attrs_order = character()))    attr_names <- colnames(df)    duplicates <- which(duplicated(attr_names))    if (length(duplicates) > 0) {        dup_names <- unique(attr_names[duplicates])        sorted_dup_names <- dup_names[order(match(dup_names,             attr_names))]        stop("duplicate column names: ", toString(sorted_dup_names))    }    if (any(!is.element(exclude, attr_names)))         warning("there are attribute names in exclude not present in df")    if (any(!is.element(dependants, attr_names)))         warning("there are attribute names in dependants not present in df")    dependants <- intersect(attr_names, dependants)    dependants <- match(dependants, attr_names)    valid_determinant_name <- !is.element(attr_names, exclude)    valid_determinant_class <- !vapply(df, inherits, logical(1),         exclude_class)    valid_determinant_attrs_prefixing <- which(valid_determinant_name &         valid_determinant_class)    if (!is.na(digits)) {        report(paste("formatting numerical/complex variables with",             digits, "significant digits"))        df[] <- lapply(df, format_if_float, digits = digits)    }    report("simplifying data types")    df <- lookup_table(df)    switch(method, DFD = DFD(df, accuracy = accuracy, full_cache = full_cache,         store_cache = store_cache, skip_bijections = skip_bijections,         determinants = valid_determinant_attrs_prefixing, dependants = dependants,         detset_limit = detset_limit, report = report), FDHitsSep = FDHits(df,         method = "Sep", determinants = valid_determinant_attrs_prefixing,         dependants = dependants, detset_limit = detset_limit,         report = report), FDHitsJoint = FDHits(df, method = "Joint",         determinants = valid_determinant_attrs_prefixing, dependants = dependants,         detset_limit = detset_limit, report = report))})(df = structure(list(`rgp q` = structure(2L, levels = c("FALSE", "TRUE"), class = "factor"), ` wVYbvXt` = NA_character_, kCYi = "FALSE",     b = NA, zwKYz = "FALSE"), class = "data.frame", row.names = c(NA, -1L)), accuracy = 1, keep_rownames = "b", method = "DFD", exclude_class = "logical",     store_cache = FALSE, skip_bijections = FALSE): duplicate column names: b>
  Counterexample:
  [[1]]
    rgp q  wVYbvXt  kCYi  b zwKYz
  1  TRUE     <NA> FALSE NA FALSE
  
  [[2]]
  [1] "b"
  
  [[3]]
  character(0)
  
  [[4]]
  [1] 0
  
  
  [ FAIL 1 | WARN 0 | SKIP 1 | PASS 778 ]
  Error:
  ! Test failures.
  Execution halted