from test import fixture from migrate.versioning.version import * class TestVerNum(fixture.Base): def test_invalid(self): """Disallow invalid version numbers""" versions = ('-1',-1,'Thirteen','') for version in versions: self.assertRaises(ValueError,VerNum,version) def test_is(self): a=VerNum(1) b=VerNum(1) self.assert_(a is b) def test_add(self): self.assert_(VerNum(1)+VerNum(1)==VerNum(2)) self.assert_(VerNum(1)+1==2) self.assert_(VerNum(1)+1=='2') def test_sub(self): self.assert_(VerNum(1)-1==0) self.assertRaises(ValueError,lambda:VerNum(0)-1) def test_eq(self): self.assert_(VerNum(1)==VerNum('1')) self.assert_(VerNum(1)==1) self.assert_(VerNum(1)=='1') self.assert_(not VerNum(1)==2) def test_ne(self): self.assert_(VerNum(1)!=2) self.assert_(not VerNum(1)!=1) def test_lt(self): self.assert_(not VerNum(1)<1) self.assert_(VerNum(1)<2) self.assert_(not VerNum(2)<1) def test_le(self): self.assert_(VerNum(1)<=1) self.assert_(VerNum(1)<=2) self.assert_(not VerNum(2)<=1) def test_gt(self): self.assert_(not VerNum(1)>1) self.assert_(not VerNum(1)>2) self.assert_(VerNum(2)>1) def test_ge(self): self.assert_(VerNum(1)>=1) self.assert_(not VerNum(1)>=2) self.assert_(VerNum(2)>=1) class TestDescriptionNaming(fixture.Base): def test_names(self): self.assertEquals(strToFilename(''), '') self.assertEquals(strToFilename('a'), 'a') self.assertEquals(strToFilename('Abc Def'), 'Abc_Def') self.assertEquals(strToFilename('Abc "D" Ef'), 'Abc_D_Ef') self.assertEquals(strToFilename("Abc's Stuff"), 'Abc_s_Stuff') self.assertEquals(strToFilename("a b"), 'a_b')