Author: jmorliaguet Date: Mon Jun 5 16:16:52 2006 New Revision: 3316 Modified: cpsskins/branches/paris-sprint-2006/storage/relations.py cpsskins/branches/paris-sprint-2006/tests/test_storages.py
Log: - using unicode strings Modified: cpsskins/branches/paris-sprint-2006/storage/relations.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/storage/relations.py (original) +++ cpsskins/branches/paris-sprint-2006/storage/relations.py Mon Jun 5 16:16:52 2006 @@ -41,16 +41,16 @@ # Wildcards are used to index the relates of a relation. WILDCARDS = { 1: ( - ('',), + (u'',), ), 2: ( - ('', ''), - ('*', ''), ('', '*'), + (u'', u''), + (u'*', u''), (u'', u'*'), ), 3: ( - ('', '', ''), - ('*', '', ''), ('', '*', ''), ('', '', '*'), - ('*', '*', ''), ('', '*', '*'), ('*', '', '*'), + (u'', u'', u''), + (u'*', u'', u''), (u'', u'*', u''), (u'', u'', u'*'), + (u'*', u'*', u''), (u'', u'*', u'*'), (u'*', u'', u'*'), ), } @@ -93,7 +93,7 @@ >>> first = Relate(u'this') >>> second = Relate(u'that') - >>> predicate = Predicate('_ depends on _') + >>> predicate = Predicate(u'_ depends on _') >>> r = DyadicRelation(predicate, first, second) >>> r @@ -126,11 +126,11 @@ The index is now rebuilt >>> items = list(storage._relates.items()) - >>> ('*,that', [u'dependency']) in items + >>> (u'*,that', [u'dependency']) in items True - >>> ('this,*', [u'dependency']) in items + >>> (u'this,*', [u'dependency']) in items True - >>> ('this,that', [u'dependency']) in items + >>> (u'this,that', [u'dependency']) in items True @@ -192,8 +192,8 @@ A compound predicate is a collection of predicates written as a tuple. For instance: - >>> is_black = '_ is black' - >>> is_white = '_ is white' + >>> is_black = u'_ is black' + >>> is_white = u'_ is white' >>> from cpsskins.relations.predicates import CompoundPredicate >>> is_black_or_white = is_black, is_white @@ -201,8 +201,8 @@ >>> CP <Compound Predicate: '_ is black OR _ is white'> - >>> a = Relate('snow') - >>> b = Relate('ebony') + >>> a = Relate(u'snow') + >>> b = Relate(u'ebony') >>> a_is_white = MonadicRelation(Predicate(is_white), a) >>> b_is_black = MonadicRelation(Predicate(is_black), b) >>> storage[u'some_white'] = a_is_white @@ -257,7 +257,7 @@ """Choose a name and add the relation to the store. """ chooser = INameChooser(self) - name = unicode(relation).replace('_', '').replace(' ', '') + name = unicode(relation).replace(u'_', u'').replace(u' ', u'') relation_name = chooser.chooseName(name, relation) self[relation_name] = relation logger.debug("Added a relation '%s': '%s'", relation_name, @@ -313,8 +313,8 @@ arity = len(relation) def f(v, w): - if w == '*': - return '*' + if w == u'*': + return u'*' return unicode(IRelatable(v, v)) for w in WILDCARDS[arity]: @@ -329,9 +329,9 @@ """ def f(v): if v is None: - return '*' + return u'*' return unicode(IRelatable(v, v)) - return ','.join([f(r) for r in relates]) + return u','.join([f(r) for r in relates]) def _lookup(self, relates): """Do a lookup among the indexed relates. Modified: cpsskins/branches/paris-sprint-2006/tests/test_storages.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/tests/test_storages.py (original) +++ cpsskins/branches/paris-sprint-2006/tests/test_storages.py Mon Jun 5 16:16:52 2006 @@ -28,6 +28,7 @@ from cpsskins.storage.relations import RelationStorage class TestRelationStorage(PlacelessSetup, unittest.TestCase): + def makeTestObject(self): return RelationStorage() @@ -36,26 +37,24 @@ self.storage = RelationStorage() def test_one_monad_one_predicate(self): - - A = Relate('a') - P = Predicate('_ is red') + A = Relate(u'a') + P = Predicate(u'_ is red') monad = Monad(P, A) - self.storage['r1'] = monad + self.storage[u'r1'] = monad result = self.storage.search(predicate=P, first=A) self.assertEqual(result, [u'r1']) def test_two_monads_one_predicate(self): - - A1 = Relate('a1') - A2 = Relate('a2') - P = Predicate('_ is red') + A1 = Relate(u'a1') + A2 = Relate(u'a2') + P = Predicate(u'_ is red') monad1 = Monad(P, A1) monad2 = Monad(P, A2) - self.storage['r1'] = monad1 - self.storage['r2'] = monad2 + self.storage[u'r1'] = monad1 + self.storage[u'r2'] = monad2 result = self.storage.search(predicate=P, first=A1) self.assertEqual(result, [u'r1']) @@ -64,13 +63,12 @@ self.assertEqual(result, [u'r2']) def test_one_dyad_one_predicate(self): - - A = Relate('a') - B = Relate('b') - P = Predicate('_ is _') + A = Relate(u'a') + B = Relate(u'b') + P = Predicate(u'_ is _') dyad = Dyad(P, A, B) - self.storage['r1'] = dyad + self.storage[u'r1'] = dyad result = self.storage.search(predicate=P, first=A, second=B) self.assertEqual(result, [u'r1']) @@ -88,16 +86,15 @@ self.assertEqual(result, []) def test_two_dyads_one_predicate(self): - - A = Relate('a') - B1 = Relate('b1') - B2 = Relate('b2') - P = Predicate('_ is _') + A = Relate(u'a') + B1 = Relate(u'b1') + B2 = Relate(u'b2') + P = Predicate(u'_ is _') dyad1 = Dyad(P, A, B1) dyad2 = Dyad(P, A, B2) - self.storage['r1'] = dyad1 - self.storage['r2'] = dyad2 + self.storage[u'r1'] = dyad1 + self.storage[u'r2'] = dyad2 result = self.storage.search(predicate=P, first=A, second=B1) self.assertEqual(result, [u'r1']) @@ -118,17 +115,16 @@ self.assertEqual(result, [u'r2']) def test_two_dyads_two_predicates(self): - - A = Relate('a') - B1 = Relate('b1') - B2 = Relate('b2') - P1 = Predicate('_ is _') - P2 = Predicate('_ has _') + A = Relate(u'a') + B1 = Relate(u'b1') + B2 = Relate(u'b2') + P1 = Predicate(u'_ is _') + P2 = Predicate(u'_ has _') dyad1 = Dyad(P1, A, B1) dyad2 = Dyad(P2, A, B2) - self.storage['r1'] = dyad1 - self.storage['r2'] = dyad2 + self.storage[u'r1'] = dyad1 + self.storage[u'r2'] = dyad2 result = self.storage.search(predicate=P1, first=A, second=B1) self.assertEqual(result, [u'r1']) @@ -149,14 +145,13 @@ self.assertEqual(result, [u'r2']) def test_one_triad_one_predicate(self): - - A = Relate('a') - B = Relate('b') - C = Relate('c') - P = Predicate('_ gives _ to _') + A = Relate(u'a') + B = Relate(u'b') + C = Relate(u'c') + P = Predicate(u'_ gives _ to _') triad = Triad(P, A, B, C) - self.storage['r'] = triad + self.storage[u'r'] = triad result = self.storage.search(predicate=P, first=A) self.assertEqual(result, [u'r']) -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins