Example #1
0
class MorseParity:
    def __init__(self):
        self.morse = Morse()

    def encode(self,value):
        value = self.morse.encode(value)
        if self.even_dots(value):
            value = value + "-"
        else:
            value = value + "."
        return value
        

    def decode(self,value):
        if not self.even_dots(value):
            return "?"
        value = value[:-1]
        return self.morse.decode(value)
    
    def even_dots(self, value):
        count = 0
        for currentChar in value:
            if currentChar == '.':
                count = count + 1
        if count % 2 == 0:
            return True
        else:
            return False
Example #2
0
class SanityCheck(unittest.TestCase):
    def setUp(self):
        self.morse = Morse()
        

    def testEncodeA(self):
        self.assertEqual(".-", self.morse.encode("a"))
    def testEncodeB(self):
        self.assertEqual("-...", self.morse.encode("b"))
    def testEncodeC(self):
        self.assertEqual("-.-.", self.morse.encode("c"))
    def testEncodeD(self):
        self.assertEqual("-..", self.morse.encode("d"))
    def testEncodeE(self):
        self.assertEqual(".", self.morse.encode("e"))
    def testEncodeF(self):
        self.assertEqual("..-.", self.morse.encode("f"))
    def testEncodeG(self):
        self.assertEqual("--.", self.morse.encode("g"))
    def testEncodeH(self):
        self.assertEqual("....", self.morse.encode("h"))
    def testEncodeI(self):
        self.assertEqual("..", self.morse.encode("i"))
    def testEncodeJ(self):
        self.assertEqual(".---", self.morse.encode("j"))
    def testEncodeK(self):
        self.assertEqual("-.-", self.morse.encode("k"))
    def testEncodeL(self):
        self.assertEqual(".-..", self.morse.encode("l"))
    def testEncodeM(self):
        self.assertEqual("--", self.morse.encode("m"))
    def testEncodeN(self):
        self.assertEqual("-.", self.morse.encode("n"))
    def testEncodeO(self):
        self.assertEqual("---", self.morse.encode("o"))
    def testEncodeP(self):
        self.assertEqual(".--.", self.morse.encode("p"))
    def testEncodeQ(self):
        self.assertEqual("--.-", self.morse.encode("q"))
    def testEncodeR(self):
        self.assertEqual(".-.", self.morse.encode("r"))
    def testEncodeS(self):
        self.assertEqual("...", self.morse.encode("s"))
    def testEncodeT(self):
        self.assertEqual("-", self.morse.encode("t"))
    def testEncodeU(self):
        self.assertEqual("..-", self.morse.encode("u"))
    def testEncodeV(self):
        self.assertEqual("...-", self.morse.encode("v"))
    def testEncodeW(self):
        self.assertEqual(".--", self.morse.encode("w"))
    def testEncodeX(self):
        self.assertEqual("-..-", self.morse.encode("x"))
    def testEncodeY(self):
        self.assertEqual("-.--", self.morse.encode("y"))
    def testEncodeZ(self):
        self.assertEqual("--..", self.morse.encode("z"))

    def testDecode(self):
        for c in ascii_lowercase:
            self.assertEqual(c, self.morse.decode(self.morse.encode(c)))

    def testUppercase(self):
        for c in ascii_lowercase:
            self.assertEqual(c, self.morse.decode(self.morse.encode(c.upper())))