Sha256: 2649c18506d6c43acda841c9ef64a9e68a879927a220b894be4d35fbbe13395f

Contents?: true

Size: 846 Bytes

Versions: 14

Compression:

Stored size: 846 Bytes

Contents

require "spec"
require "./hamming"

describe "Hamming" do
  describe "#compute" do
    it "computes no difference for identical single nucleotide strands" do
      Hamming.compute("A", "A").should eq 0
    end

    pending "computes a distance for single nucleotide strands" do
      Hamming.compute("A", "G").should eq 1
    end

    pending "computes a distance for small strands" do
      Hamming.compute("AG", "CT").should eq 2
    end

    pending "computes a distance for medium strands" do
      Hamming.compute("GGACG", "GGTCG").should eq 1
    end

    pending "computes a distance for large strands" do
      Hamming.compute("GGACGGATTCTG", "AGGACGGATTCT").should eq 9
    end

    pending "raises an exception when strands aren't of equal length" do
      expect_raises(ArgumentError) { Hamming.compute("GCC", "A") }
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
trackler-2.0.0.3 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-2.0.0.2 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-2.0.0.1 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-2.0.0.0 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.4.1 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.4.0 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.3.0 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.2.1 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.2.0 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.1.2 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.1.1 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.1.0 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.0.1 tracks/crystal/exercises/hamming/hamming_spec.cr
trackler-1.0.0 tracks/crystal/exercises/hamming/hamming_spec.cr