Sha256: 23f4e8023aa9c7351816fe0826dcf95215d17e2b060032eae8294fbe7b922937

Contents?: true

Size: 1.79 KB

Versions: 116

Compression:

Stored size: 1.79 KB

Contents

-module(hamming_tests).

% This file is automatically generated from the exercises canonical data.

-include_lib("erl_exercism/include/exercism.hrl").
-include_lib("eunit/include/eunit.hrl").


empty_strands_test() ->
    ?assertMatch(0, hamming:distance([], [])).

identical_strands_test() ->
    ?assertMatch(0, hamming:distance("A", "A")).

long_identical_strands_test() ->
    ?assertMatch(0, hamming:distance("GGACTGA", "GGACTGA")).

complete_distance_in_single_nucleotide_strands_test() ->
    ?assertMatch(1, hamming:distance("A", "G")).

complete_distance_in_small_strands_test() ->
    ?assertMatch(2, hamming:distance("AG", "CT")).

small_distance_in_small_strands_test() ->
    ?assertMatch(1, hamming:distance("AT", "CT")).

small_distance_test() ->
    ?assertMatch(1, hamming:distance("GGACG", "GGTCG")).

small_distance_in_long_strands_test() ->
    ?assertMatch(2, hamming:distance("ACCAGGG", "ACTATGG")).

non_unique_character_in_first_strand_test() ->
    ?assertMatch(1, hamming:distance("AAG", "AAA")).

non_unique_character_in_second_strand_test() ->
    ?assertMatch(1, hamming:distance("AAA", "AAG")).

same_nucleotides_in_different_positions_test() ->
    ?assertMatch(2, hamming:distance("TAG", "GAT")).

large_distance_test() ->
    ?assertMatch(4, hamming:distance("GATACA", "GCATAA")).

large_distance_in_off_by_one_strand_test() ->
    ?assertMatch(9,
		 hamming:distance("GGACGGATTCTG", "AGGACGGATTCT")).

disallow_first_strand_longer_test() ->
    ?assertMatch({error,
		  "left and right strands must be of equal "
		  "length"},
		 hamming:distance("AATG", "AAA")).

disallow_second_strand_longer_test() ->
    ?assertMatch({error,
		  "left and right strands must be of equal "
		  "length"},
		 hamming:distance("ATA", "AGTG")).

version_test() ->
    ?assertMatch(2, hamming:test_version()).

Version data entries

116 entries across 116 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.158 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.157 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.156 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.155 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.154 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.153 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.152 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.151 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.150 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.149 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.148 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.147 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.146 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.145 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.144 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.143 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.142 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.141 tracks/erlang/exercises/hamming/test/hamming_tests.erl
trackler-2.2.1.140 tracks/erlang/exercises/hamming/test/hamming_tests.erl