def METHOD_NAME(self):
    flag = VersionFlag("flag")
    self.assertEqual(str(flag), "")
    self.assertTrue(flag.matches("1.0"))
    self.assertRaises(ErrorMessage, flag.add_definition, "flag!=2")
    flag.add_definition("flag=1.0")
    self.assertEqual(str(flag), "flag=1.0")
    self.assertTrue(flag.matches("1.0"))
    self.assertFalse(flag.matches("2.0"))
    flag.add_definition("flag=2.0")
    self.assertEqual(str(flag), "flag=1.0 flag=2.0")
    self.assertTrue(flag.matches("1.0"))
    self.assertTrue(flag.matches("2.0"))
    self.assertFalse(flag.matches("3.0"))
    flag = VersionFlag("flag")
    flag.add_definition("flag>=2.0")
    self.assertEqual(str(flag), "flag>=2.0")
    self.assertFalse(flag.matches("1.0"))
    self.assertTrue(flag.matches("2.0"))
    self.assertTrue(flag.matches("3.0"))
    flag.add_definition("flag<1.10")
    self.assertEqual(str(flag), "flag>=2.0 flag<1.10")
    self.assertTrue(flag.matches("1.0"))
    self.assertTrue(flag.matches("1.9"))
    self.assertFalse(flag.matches("1.10"))
    self.assertFalse(flag.matches("1.20"))
    self.assertTrue(flag.matches("2.0"))
    self.assertTrue(flag.matches("3.0"))
    self.assertRaises(Exception, flag.add_definition, "flag<")
    self.assertRaises(Exception, flag.add_definition, "flag>")
    self.assertRaises(Exception, flag.add_definition, "flag>=")
    self.assertRaises(Exception, flag.add_definition, "flag<=")
    self.assertRaises(Exception, flag.add_definition, "flag!=1.0")