Sha256: 437210449c8576b3d4b5996eb1f16bb1ec5dbd0826d73977cee59e8b25113f6e

Contents?: true

Size: 1.18 KB

Versions: 89

Compression:

Stored size: 1.18 KB

Contents

import org.junit.Test
import kotlin.test.assertEquals

class HammingTest {
    
    @Test
    fun noDifferenceBetweenIdenticalStrands() {
        assertEquals(0, Hamming.compute("A", "A"))
    }

    @Test
    fun completeHammingDistanceOfForSingleNucleotideStrand() {
        assertEquals(1, Hamming.compute("A", "G"))
    }

    @Test
    fun completeHammingDistanceForSmallStrand() {
        assertEquals(2, Hamming.compute("AG", "CT"))
    }

    @Test
    fun smallHammingDistance() {
        assertEquals(1, Hamming.compute("AT", "CT"))
    }

    @Test
    fun smallHammingDistanceInLongerStrand() {
        assertEquals(1, Hamming.compute("GGACG", "GGTCG"))
    }

    @Test(expected = IllegalArgumentException::class)
    fun validatesFirstStrandNotLonger() {
        Hamming.compute("AAAG", "AAA")
    }

    @Test(expected = IllegalArgumentException::class)
    fun validatesOtherStrandNotLonger() {
        Hamming.compute("AAA", "AAAG")
    }

    @Test
    fun largeHammingDistance() {
        assertEquals(4, Hamming.compute("GATACA", "GCATAA"))
    }

    @Test
    fun hammingDistanceInVeryLongStrand() {
        assertEquals(9, Hamming.compute("GGACGGATTCTG", "AGGACGGATTCT"))
    }

}

Version data entries

89 entries across 89 versions & 1 rubygems

Version Path
trackler-2.0.6.33 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.32 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.31 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.30 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.29 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.28 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.27 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.26 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.25 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.24 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.23 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.22 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.21 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.20 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.19 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.18 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.17 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.16 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.15 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt
trackler-2.0.6.14 tracks/kotlin/exercises/hamming/src/test/kotlin/HammingTest.kt