summaryrefslogtreecommitdiffstats
path: root/flisthash.py
diff options
context:
space:
mode:
Diffstat (limited to 'flisthash.py')
-rw-r--r--flisthash.py180
1 files changed, 90 insertions, 90 deletions
diff --git a/flisthash.py b/flisthash.py
index 345cac4..5134931 100644
--- a/flisthash.py
+++ b/flisthash.py
@@ -38,96 +38,96 @@ from flist import Flist
from fstringhash import FstringHash
class FlistHash(Flist):
- """ This class is a wrapper arounf the flist class, providing some search capabilities"""
-
- def __init__(self):
- Flist.__init__(self) # force constructor
-
- def __str__(self):
- return "\t"+Flist.__str__(self)+\
- "FlistHash - (null)\n"
-
- #def SearchPos(self,fstringHash):
- # """/** Search the position of the stringhash name.
- # Return the position in the list or None if not found. */"""
- # ret = None
- # print self.L
- # for I in self.L:
- # if I.equals(fstringHash):
- # return self.L.index(I)
- # return ret
-
-
- def Search(self,fstringHash):
- """/** Search if same name (stringhash) exist */"""
- for I in self.L:
- if I.equals(fstringHash):
- return I
- return None
-
- def addOrGet(self,fstringHash):
- """/** If the same name exist in the list then get it from the list.
- If not, add stringhash in the list then return None. */"""
- pos = self.Search(fstringHash)
- if pos <> None:
- return pos
- self.add(fstringHash)
- return None
-
- def addOrRemove(self,fstringHash):
- """/** If the same name exist in the list, then removes and return it.
- If not, then add to the list and return None. */"""
- pos = self.Search(fstringHash)
- if pos <> None:
- self.L.remove(pos)
- return pos
- self.add(fstringHash)
- return None
-
+ """ This class is a wrapper arounf the flist class, providing some search capabilities"""
+
+ def __init__(self):
+ Flist.__init__(self) # force constructor
+
+ def __str__(self):
+ return "\t"+Flist.__str__(self)+\
+ "FlistHash - (null)\n"
+
+ #def SearchPos(self,fstringHash):
+ # """/** Search the position of the stringhash name.
+ # Return the position in the list or None if not found. */"""
+ # ret = None
+ # print self.L
+ # for I in self.L:
+ # if I.equals(fstringHash):
+ # return self.L.index(I)
+ # return ret
+
+
+ def Search(self,fstringHash):
+ """/** Search if same name (stringhash) exist */"""
+ for I in self.L:
+ if I.equals(fstringHash):
+ return I
+ return None
+
+ def addOrGet(self,fstringHash):
+ """/** If the same name exist in the list then get it from the list.
+ If not, add stringhash in the list then return None. */"""
+ pos = self.Search(fstringHash)
+ if pos <> None:
+ return pos
+ self.add(fstringHash)
+ return None
+
+ def addOrRemove(self,fstringHash):
+ """/** If the same name exist in the list, then removes and return it.
+ If not, then add to the list and return None. */"""
+ pos = self.Search(fstringHash)
+ if pos <> None:
+ self.L.remove(pos)
+ return pos
+ self.add(fstringHash)
+ return None
+
if __name__ == '__main__':
- import unittest
- from OSconfig import START_ELEMENTS
-
- List = FlistHash()
-
- str=[FstringHash(),FstringHash(),FstringHash(),FstringHash(),FstringHash()]
- STR=["TEST", "TEST1", "TEST", "TEST1", "TEST2"]
- str[0].setString(STR[0])
- str[1].setString(STR[1])
- str[2].setString(STR[2])
- str[3].setString(STR[3])
- str[4].setString(STR[4])
-
- class FlistHashTestCase(unittest.TestCase):
-
- def test1HashAddOrGet(self):
- self.assertEquals(List.addOrGet(str[0]),None)
- self.assertEquals(List.addOrGet(str[1]),None)
- self.assertEquals(List.addOrGet(str[2]).equals(str[2]),True)
- self.assertEquals(List.addOrGet(str[3]).equals(str[3]),True)
- self.assertEquals(List.addOrGet(str[4]),None)
-
- def test2HashAddOrRemove(self):
- self.assertEquals(List.addOrRemove(str[0]).equals(str[0]),True)
- self.assertEquals(List.addOrRemove(str[1]).equals(str[1]),True)
- self.assertEquals(List.addOrRemove(str[2]),None)
- self.assertEquals(List.addOrRemove(str[3]),None)
- self.assertEquals(List.addOrRemove(str[4]).equals(str[4]),True)
- self.assertEquals(List.addOrRemove(str[2]).equals(str[2]),True)
- self.assertEquals(List.addOrRemove(str[3]).equals(str[3]),True)
-
- def test3HashSearch(self):
- for I in range (START_ELEMENTS+10):
- buffer = "TEST%d"%I
- str1 = FstringHash()
- str1.setString(buffer)
- self.assertEquals(List.addOrGet( str1),None)
- buffer = "TEST%d"%(START_ELEMENTS-10)
- str1 = FstringHash()
- str1.setString(buffer)
- self.assertEquals(List.Search(str1).getString(),"TEST%d"%(START_ELEMENTS-10))
-
-
- unittest.main()
+ import unittest
+ from OSconfig import START_ELEMENTS
+
+ List = FlistHash()
+
+ str=[FstringHash(),FstringHash(),FstringHash(),FstringHash(),FstringHash()]
+ STR=["TEST", "TEST1", "TEST", "TEST1", "TEST2"]
+ str[0].setString(STR[0])
+ str[1].setString(STR[1])
+ str[2].setString(STR[2])
+ str[3].setString(STR[3])
+ str[4].setString(STR[4])
+
+ class FlistHashTestCase(unittest.TestCase):
+
+ def test1HashAddOrGet(self):
+ self.assertEquals(List.addOrGet(str[0]),None)
+ self.assertEquals(List.addOrGet(str[1]),None)
+ self.assertEquals(List.addOrGet(str[2]).equals(str[2]),True)
+ self.assertEquals(List.addOrGet(str[3]).equals(str[3]),True)
+ self.assertEquals(List.addOrGet(str[4]),None)
+
+ def test2HashAddOrRemove(self):
+ self.assertEquals(List.addOrRemove(str[0]).equals(str[0]),True)
+ self.assertEquals(List.addOrRemove(str[1]).equals(str[1]),True)
+ self.assertEquals(List.addOrRemove(str[2]),None)
+ self.assertEquals(List.addOrRemove(str[3]),None)
+ self.assertEquals(List.addOrRemove(str[4]).equals(str[4]),True)
+ self.assertEquals(List.addOrRemove(str[2]).equals(str[2]),True)
+ self.assertEquals(List.addOrRemove(str[3]).equals(str[3]),True)
+
+ def test3HashSearch(self):
+ for I in range (START_ELEMENTS+10):
+ buffer = "TEST%d"%I
+ str1 = FstringHash()
+ str1.setString(buffer)
+ self.assertEquals(List.addOrGet( str1),None)
+ buffer = "TEST%d"%(START_ELEMENTS-10)
+ str1 = FstringHash()
+ str1.setString(buffer)
+ self.assertEquals(List.Search(str1).getString(),"TEST%d"%(START_ELEMENTS-10))
+
+
+ unittest.main()