Sha256: 3157aca4e5a3e8d65a38d1ad6b1ee50cc8373557842053a9aab04a03e4cdf42a

Contents?: true

Size: 1.21 KB

Versions: 97

Compression:

Stored size: 1.21 KB

Contents

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

test_that("check digit", {
  input <- 34567
  expect_equal(check_digit(input),
    7
  )
})

test_that("check digit with input ending in zero", {
  input <- 91370
  expect_equal(check_digit(input),
    0
  )
})

test_that("check addends", {
  input <- 12121
  expect_equal(addends(input),
    c(1,4,1,4,1)
  )
})

test_that("check too large addends", {
  input <- 8631
  expect_equal(addends(input),
    c(7,6,6,1)
  )
})

test_that("checksum", {
  input <- 4913
  expect_equal(checksum(input),
    22
  )
})

test_that("checksum of larger number", {
  input <- 201773
  expect_equal(checksum(input),
    21
  )
})

test_that("check invalid number", {
  input <- 738
  expect_equal(is_valid(input),
    FALSE
  )
})

test_that("check valid number", {
  input <- 8739567
  expect_equal(is_valid(input),
    TRUE
  )
})

test_that("create valid number", {
  input <- 123
  expect_equal(luhn(input),
    1230
  )
})

test_that("create larger valid number", {
  input <- 873956
  expect_equal(luhn(input),
    8739567
  )
})

test_that("create even larger valid number", {
  input <- 837263756
  expect_equal(luhn(input),
    8372637564
  )
})

print("All tests passed!")

Version data entries

97 entries across 97 versions & 1 rubygems

Version Path
trackler-2.0.6.41 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.40 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.39 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.38 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.37 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.36 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.35 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.34 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.33 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.32 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.31 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.30 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.29 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.28 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.27 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.26 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.25 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.24 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.23 tracks/r/exercises/luhn/test_luhn.R
trackler-2.0.6.22 tracks/r/exercises/luhn/test_luhn.R