def test_does_not_remove_unclosed_overhang(self): self.assertEquals(remove_overhangs('(atg/aa'), '(atg/aa') self.assertEquals(remove_overhangs('atg/aa)'), 'atg/aa)')
def test_works_with_single_char_input(self): self.assertEquals(remove_overhangs(')'), ')') self.assertEquals(remove_overhangs('('), '(')
def test_removes_front_and_back(self): self.assertEquals(remove_overhangs('(atg/)aa(atg/)'), 'aa')
def test_does_not_remove_internal_overhang(self): self.assertEquals(remove_overhangs('(atg/)a(atg/)a(atg/)'), 'a(atg/)a')
def test_works_with_single_char_input(self): self.assertEquals(remove_overhangs(')'), ')') self.assertEquals(remove_overhangs('('), '(')
def test_removes_back_overhang(self): self.assertEquals(remove_overhangs('aa(atg/)'), 'aa')
def test_does_not_remove_internal_overhang(self): self.assertEquals(remove_overhangs('(atg/)a(atg/)a(atg/)'), 'a(atg/)a')
def test_does_not_remove_unclosed_overhang(self): self.assertEquals(remove_overhangs('(atg/aa'), '(atg/aa') self.assertEquals(remove_overhangs('atg/aa)'), 'atg/aa)')
def test_removes_back_overhang(self): self.assertEquals(remove_overhangs('aa(atg/)'), 'aa')
def test_removes_front_and_back(self): self.assertEquals(remove_overhangs('(atg/)aa(atg/)'), 'aa')
def test_works_with_single_char_input(self): self.assertEquals(remove_overhangs(")"), ")") self.assertEquals(remove_overhangs("("), "(")
def test_does_not_remove_unclosed_overhang(self): self.assertEquals(remove_overhangs("(atg/aa"), "(atg/aa") self.assertEquals(remove_overhangs("atg/aa)"), "atg/aa)")
def test_does_not_remove_internal_overhang(self): self.assertEquals(remove_overhangs("(atg/)a(atg/)a(atg/)"), "a(atg/)a")
def test_removes_front_and_back(self): self.assertEquals(remove_overhangs("(atg/)aa(atg/)"), "aa")
def test_removes_back_overhang(self): self.assertEquals(remove_overhangs("aa(atg/)"), "aa")