def test_flatten_should_neutralize_sharp(self):
    expected_semitone = Semitone('D')
    instance = Semitone('D',sharps=1)

    result = instance.flatten()

    self.assertSame(result,expected_semitone)
  def test_flatten_should_flatten_flat(self):
    expected_semitone = Semitone('D',flats=2)
    instance = Semitone('D',flats=1)

    result = instance.flatten()

    self.assertSame(result,expected_semitone)
 def test_sub_with_flattened_semitone(self):
   instance = Semitone('D')
   expected_result = 1
   result = instance - instance.flatten()
   self.assertEquals(result, expected_result)