Sha256: 753cd83b9f8f2cc85171b16a46321ce8cd23868c9e9be979de5bd3eba0a8bafa

Contents?: true

Size: 1.05 KB

Versions: 343

Compression:

Stored size: 1.05 KB

Contents

(ql:quickload "lisp-unit")
#-xlisp-test (load "hamming")

(defpackage #:hamming-test
  (:use #:common-lisp #:lisp-unit))

(in-package #:hamming-test)

(define-test no-difference-between-empty-strands
  (assert-equal 0 (hamming:distance "" "")))

(define-test no-difference-between-identical-strands
  (assert-equal 0 (hamming:distance "GGACTGA" "GGACTGA")))

(define-test complete-hamming-distance-in-small-strand
  (assert-equal 3 (hamming:distance "ACT" "GGA")))

(define-test small-hamming-distance-in-middle-somewhere
  (assert-equal 1 (hamming:distance "GGACG" "GGTCG")))

(define-test larger-distance
  (assert-equal 2 (hamming:distance "ACCAGGG" "ACTATGG")))

(define-test invalid-to-get-distance-for-different-length-strings
  (assert-equal nil (hamming:distance "AGACAACAGCCAGCCGCCGGATT" "AGGCAA"))
  (assert-equal nil (hamming:distance "AGACAACAGCCAGCCGCCGGATT" "AGACATCTTTCAGCCGCCGGATTAGGCAA"))
  (assert-equal nil (hamming:distance "AGG" "AGACAACAGCCAGCCGCCGGATT")))

#-xlisp-test
(let ((*print-errors* t)
      (*print-failures* t))
  (run-tests :all :hamming-test))

Version data entries

343 entries across 343 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.179 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.178 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.177 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.176 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.175 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.174 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.173 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.172 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.171 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.170 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.169 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.167 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.166 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.165 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.164 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.163 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.162 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.161 tracks/common-lisp/exercises/hamming/hamming-test.lisp
trackler-2.2.1.160 tracks/common-lisp/exercises/hamming/hamming-test.lisp