55 lines
1.9 KiB
Python

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')