2014-04-07 22:32:31 -03:00
|
|
|
import unittest
|
|
|
|
|
|
2014-09-27 11:24:48 +02:00
|
|
|
import hamming
|
2014-06-11 15:06:22 +02:00
|
|
|
|
2014-04-07 22:32:31 -03:00
|
|
|
|
2014-09-27 11:24:48 +02:00
|
|
|
class HammingTest(unittest.TestCase):
|
2014-04-07 22:32:31 -03:00
|
|
|
|
2014-09-27 11:24:48 +02:00
|
|
|
def test_no_difference_between_identical_strands(self):
|
|
|
|
|
self.assertEqual(0, hamming.distance('A', 'A'))
|
2014-04-07 22:32:31 -03:00
|
|
|
|
2014-09-27 11:24:48 +02:00
|
|
|
def test_complete_hamming_distance_of_for_single_nucleotide_strand(self):
|
|
|
|
|
self.assertEqual(1, hamming.distance('A', 'G'))
|
2014-04-07 22:32:31 -03:00
|
|
|
|
2014-09-27 11:24:48 +02:00
|
|
|
def test_complete_hamming_distance_of_for_small_strand(self):
|
|
|
|
|
self.assertEqual(2, hamming.distance('AG', 'CT'))
|
2014-04-07 22:32:31 -03:00
|
|
|
|
2014-09-27 11:24:48 +02:00
|
|
|
def test_small_hamming_distance(self):
|
|
|
|
|
self.assertEqual(1, hamming.distance('AT', 'CT'))
|
2014-04-07 22:32:31 -03:00
|
|
|
|
2014-09-27 11:24:48 +02:00
|
|
|
def test_small_hamming_distance_in_longer_strand(self):
|
|
|
|
|
self.assertEqual(1, hamming.distance('GGACG', 'GGTCG'))
|
2014-04-07 22:32:31 -03:00
|
|
|
|
2014-09-27 11:24:48 +02:00
|
|
|
def test_large_hamming_distance(self):
|
|
|
|
|
self.assertEqual(4, hamming.distance('GATACA', 'GCATAA'))
|
2014-04-07 22:32:31 -03:00
|
|
|
|
2014-09-27 11:24:48 +02:00
|
|
|
def test_hamming_distance_in_very_long_strand(self):
|
|
|
|
|
self.assertEqual(9, hamming.distance('GGACGGATTCTG', 'AGGACGGATTCT'))
|
2014-04-07 22:32:31 -03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
unittest.main()
|