tests/testthat/test_lism.R

library(LogicalItemsetMiner)
library(arules)

context("Check test set")

# Setup test dataset -----------------------------------------------------------

# data <- data.frame(item_id = c(1,3,4,6,3,4,3,5,6,1,2,1,4,2),
#                    trans_id = c(1,2,3,4,1,2,3,4,1,2,3,4,1,2))
# data <- readRDS("data/flickr_data.Rdata")
data("Groceries")
basket_items_range <- min(Groceries@data@p):max(Groceries@data@p)
trans_ids <- as.integer(cut(basket_items_range, Groceries@data@p))
data <- data.frame(item_id = Groceries@data@i,
                   trans_id = trans_ids[!is.na(trans_ids)])
item_col <- "item_id"
link_col <- "trans_id"

# test_that("sets found correct", {
#
#   item_col <- "item_id"
#   link_col <- "trans_id"
#   res <- lism(data, item_col, link_col)
#
#
#   #expect_equal(str_length("abc"), 3)
# })

test_that("min_cooccur_cnt works", {

  min_cooccur_cnt <- 5

  # Test without filter
  res <- lism(data, item_col, link_col)
  expect_lt(min(res$cooccurrences), min_cooccur_cnt)

  # Test with filter
  res <- lism(data, item_col, link_col, min_cooccur_cnt = min_cooccur_cnt)
  expect_gte(min(res$cooccurrences), min_cooccur_cnt)

})

# Test min_consistency observed

# Test works passing in data.frame or data.table

# Test generates the correct results
mvanwyk/logical-itemset-miner documentation built on May 15, 2019, 5:50 p.m.