def test03_level(self): """Test level handling.""" i = IIIFInfo() i.compliance_prefix = 'prefix/' i.compliance_suffix = '/suffix' # and good i.compliance = 'prefix/2/suffix' self.assertEqual(i.level, 2) i.compliance = 'prefix/3/suffix' self.assertEqual(i.level, 3) # and bad i.compliance = '' # FIXME: how to avoid wrapping @property call in lamda? self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = 'prefix//suffix' self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = 'prefix/22/suffix' self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = 'prefix/junk/suffix' self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = 'extra/prefix/2/suffix' self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = '...2/suffix' self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = 'prefix/2...' self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = 'prefix/2/suffix/extra' self.assertRaises(IIIFInfoError, lambda: i.level)
def test03_level(self): """Test level handling.""" i = IIIFInfo() i.compliance_prefix = "prefix/" i.compliance_suffix = "/suffix" # and good i.compliance = "prefix/2/suffix" self.assertEqual(i.level, 2) i.compliance = "prefix/3/suffix" self.assertEqual(i.level, 3) # and bad i.compliance = "" # FIXME: how to avoid wrapping @property call in lamda? self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = "prefix//suffix" self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = "prefix/22/suffix" self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = "prefix/junk/suffix" self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = "extra/prefix/2/suffix" self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = "...2/suffix" self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = "prefix/2..." self.assertRaises(IIIFInfoError, lambda: i.level) i.compliance = "prefix/2/suffix/extra" self.assertRaises(IIIFInfoError, lambda: i.level)