tests/testthat/test-percolate.R

library(testthat)
library(assertthat)



test_that("multiplication works", {
  expect_equal(2 * 2, 4)
})

my_board = board(generate_board_mat(n = 10, p = 0))
expect_true(percolate(my_board)$result == TRUE)
m = matrix(2, nrow = 10, ncol = 10)
expect_true(all.equal(percolate(my_board)$result_board , board(m)))
my_board = board(generate_board_mat(n = 10, p = 1))
expect_true(percolate(my_board)$result == FALSE)
m = matrix(0, nrow = 10, ncol = 10)
expect_true(all.equal(percolate(my_board)$result_board ,board(m)))
my_board = board(generate_board_mat(n = 10, p = 0.4))
my_board[1,] = rep(0,10)
expect_true(percolate(my_board)$result == FALSE)
expect_true(all(percolate(my_board)$result_board[1,] == rep(0,10)))
my_board = board(generate_board_mat(n = 10, p = 0.4))
my_board[10,] = rep(0,10)
expect_true(percolate(my_board)$result == FALSE)
expect_true(all(percolate(my_board)$result_board[10,] == rep(0,10)))


test_that("percolate.board() works with all the test cases",{
  load(url("https://raw.githubusercontent.com/benjaminleroy/36-350-summer-data/master/Week5/percolate_test.Rdata"))

  your_result_list <- lapply(board_list, percolate)

  bool_vec <- sapply(1:length(result_list), function(x){
    your_board <- your_result_list[[x]]$result_board
    result_board <- result_list[[x]]$result_board

    identical(your_board, result_board) *
      (your_result_list[[x]]$result == result_list[[x]]$result)
  })

  expect_true(all(bool_vec))
})
Achowdh1/percolate documentation built on Oct. 30, 2019, 4:09 a.m.