Sha256: d12be202a6b02bd529386ce9f8d61d73e91f5e37ed15e49d1d2ba4e4c4a87bc7

Contents?: true

Size: 1.88 KB

Versions: 140

Compression:

Stored size: 1.88 KB

Contents

source("./hamming.R")
library(testthat)

test_that("identical strands", {
  strand1 <- "A"
  strand2 <- "A"
  expect_equal(hamming(strand1, strand2), 0)
})

test_that("long identical strands", {
  strand1 <- "GGACTGA"
  strand2 <- "GGACTGA"
  expect_equal(hamming(strand1, strand2), 0)
})

test_that("complete distance in single nucleotide strands", {
  strand1 <- "A"
  strand2 <- "G"
  expect_equal(hamming(strand1, strand2), 1)
})

test_that("complete distance in small strands", {
  strand1 <- "AG"
  strand2 <- "CT"
  expect_equal(hamming(strand1, strand2), 2)
})

test_that("small distance in small strands", {
  strand1 <- "AT"
  strand2 <- "CT"
  expect_equal(hamming(strand1, strand2), 1)
})

test_that("small distance", {
  strand1 <- "GGACG"
  strand2 <- "GGTCG"
  expect_equal(hamming(strand1, strand2), 1)
})

test_that("small distance in long strands", {
  strand1 <- "ACCAGGG"
  strand2 <- "ACTATGG"
  expect_equal(hamming(strand1, strand2), 2)
})

test_that("non-unique character in first strand", {
  strand1 <- "AGA"
  strand2 <- "AGG"
  expect_equal(hamming(strand1, strand2), 1)
})

test_that("non-unique character in second strand", {
  strand1 <- "AGG"
  strand2 <- "AGA"
  expect_equal(hamming(strand1, strand2), 1)
})

test_that("same nucleotides in different positions", {
  strand1 <- "TAG"
  strand2 <- "GAT"
  expect_equal(hamming(strand1, strand2), 2)
})

test_that("large distance", {
  strand1 <- "GATACA"
  strand2 <- "GCATAA"
  expect_equal(hamming(strand1, strand2), 4)
})

test_that("empty strands", {
  strand1 <- ""
  strand2 <- ""
  expect_equal(hamming(strand1, strand2), 0)
})

test_that("disallow first strand longer", {
  strand1 <- "AATG"
  strand2 <- "AAA"
  expect_error(hamming(strand1, strand2))
})

test_that("disallow second strand longer", {
  strand1 <- "ATA"
  strand2 <- "AGTG"
  expect_error(hamming(strand1, strand2))
})

message("All tests passed for exercise: hamming")

Version data entries

140 entries across 140 versions & 1 rubygems

Version Path
trackler-2.2.1.126 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.125 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.124 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.123 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.122 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.121 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.120 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.119 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.118 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.117 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.116 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.115 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.114 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.113 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.111 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.110 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.109 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.108 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.107 tracks/r/exercises/hamming/test_hamming.R
trackler-2.2.1.106 tracks/r/exercises/hamming/test_hamming.R