Sha256: 5cf10acf117ada68bcf94da0b6738405c3aab15e65575c38e92eb34007201133

Contents?: true

Size: 1.44 KB

Versions: 40

Compression:

Stored size: 1.44 KB

Contents

source('./luhn.R')
suppressPackageStartupMessages({ require(testthat) })

test_that("single digit strings can not be valid", {
  input <- "1"
  expect_equal(is_valid(input), FALSE)
})

test_that("A single zero is invalid", {
  input <- "0"
  expect_equal(is_valid(input), FALSE)
})

test_that("simple valid sin", {
  input <- " 5 9 "
  expect_equal(is_valid(input), TRUE)
})

test_that("valid Canadian SIN", {
  input <- "046 454 286"
  expect_equal(is_valid(input), TRUE)
})

test_that("invalid Canadian SIN", {
  input <- "046 454 287"
  expect_equal(is_valid(input), FALSE)
})

test_that("invalid credit card", {
  input <- "8273 1232 7352 0569"
  expect_equal(is_valid(input), FALSE)
})

test_that("valid strings with a non-digit added become invalid", {
  input <- "046a 454 286"
  expect_equal(is_valid(input), FALSE)
})

test_that("punctuation is not allowed", {
  input <- "055-444-285"
  expect_equal(is_valid(input), FALSE)
})

test_that("symbols are not allowed", {
  input <- "055£ 444$ 285"
  expect_equal(is_valid(input), FALSE)
})

test_that("single zero with space is invalid", {
  input <- " 0"
  expect_equal(is_valid(input), FALSE)
})

test_that("lots of zeros are valid", {
  input <- " 00000"
  expect_equal(is_valid(input), TRUE)
})

test_that("another valid sin", {
  input <- "055 444 285"
  expect_equal(is_valid(input), TRUE)
})

test_that("nine doubled is nine", {
  input <- "091"
  expect_equal(is_valid(input), TRUE)
})

print("All tests passed!")

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
trackler-2.0.8.37 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.36 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.35 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.34 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.33 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.32 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.31 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.30 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.29 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.28 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.27 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.26 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.24 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.23 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.22 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.21 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.20 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.19 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.18 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.8.17 tracks/r/exercises/luhn/test_luhn.R