tests/testthat/test-feature-columns.R

context("Testing feature columns")

source("helper-utils.R")

test_succeeds("feature columns can be constructed correctly", {
  
  fcs <- feature_columns(column_numeric("drat"))
  expect_equal(length(fcs), 1)
  expect_true(grepl("NumericColumn", class(fcs[[1]])[1]))
  fcs <- feature_columns(column_numeric("drat", "cyl"))
  expect_equal(length(fcs), 2)
  expect_true(grepl("NumericColumn", class(fcs[[1]])[1]))
})

test_succeeds("feature columns can be constructed with (cond) ~ (op) syntax", {
  
  names <- do.call(paste0, expand.grid(letters, 0:9))
  
  # bare calls (no extra arguments to column function)
  mild <- feature_columns(
    column_numeric(starts_with("a")),
    names = names
  )
  
  spicy <- feature_columns(
    starts_with("a") ~ column_numeric(),
    names = names
  )
  
  expect_equal(mild, spicy)
  
  # extra arguments to 'column_numeric()'
  mild <- feature_columns(
    column_numeric(starts_with("a"), shape = 1L),
    names = names
  )
  
  spicy <- feature_columns(
    starts_with("a") ~ column_numeric(shape = 1L),
    names = names
  )
  
  expect_equal(mild, spicy)
  
})

test_succeeds("duplicates columns are dropped", {
  
  names <- c("aa")
  columns <- feature_columns(
    column_numeric(starts_with("a")),
    column_numeric(ends_with("a")),
    names = names
  )
  
  expect_true(length(columns) == 1)
})
rstudio/tflearn documentation built on Nov. 25, 2021, 2:45 a.m.