def scenariosByCategory(self): """ prepare scenarios in this folder """ scitems = self.context.objectValues('Scenario') categories = [item.getAccident_category().strip() for item in scitems] categories.sort() scmap = OrderedDict() for cat in categories: scmap[cat] = [] for item in scitems: cat = item.getAccident_category().strip() # save the english cat equivalents for later lookup to enable the schwusch anchors ccat = item.getCanonical().getAccident_category().strip() self._en_catnames[cat] = ccat scs = scmap.get(cat) scs.append(item) scmap[cat] = scs return scmap
class OrderedDictTest(ATTestCase): def afterSetUp(self): self.d = OrderedDict() self.d['a'] = '1' self.d['b'] = '2' self.d['c'] = '3' def test_order(self): self.assertTrue(self.d.keys() == ['a', 'b', 'c']) self.assertTrue(self.d.values() == ['1', '2', '3']) self.assertTrue(self.d.items() == [('a', '1'), ('b', '2'), ('c', '3')]) self.assertTrue(self.d.reverse() == [('c', '3'), ('b', '2'), ('a', '1')]) def test_setitem(self): self.d['d'] = '4' self.assertTrue(self.d.keys() == ['a', 'b', 'c', 'd']) self.assertTrue(self.d.values() == ['1', '2', '3', '4']) self.assertTrue(self.d.items() == [('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]) self.assertTrue(self.d.reverse() == [('d', '4'), ('c', '3'), ('b', '2'), ('a', '1')]) self.d['c'] = 'C' self.assertTrue(self.d.keys() == ['a', 'b', 'c', 'd']) self.assertTrue(self.d.values() == ['1', '2', 'C', '4']) self.assertTrue(self.d.items() == [('a', '1'), ('b', '2'), ('c', 'C'), ('d', '4')]) self.assertTrue(self.d.reverse() == [('d', '4'), ('c', 'C'), ('b', '2'), ('a', '1')]) def test_del(self): del self.d['b'] self.assertTrue(self.d.keys() == ['a', 'c']) self.assertTrue(self.d.values() == ['1', '3']) self.assertTrue(self.d.items() == [('a', '1'), ('c', '3')]) self.assertTrue(self.d.reverse() == [('c', '3'), ('a', '1')]) self.assertTrue('b' not in self.d) self.assertTrue(self.d.get('b', None) == None) def test_clear(self): self.d.clear() self.assertTrue(self.d.keys() == []) self.assertTrue(self.d.values() == []) self.assertTrue(self.d.items() == []) self.assertTrue(self.d.reverse() == []) def test_update(self): d2 = {'b': 'B', 'd': '4'} self.d.update(d2) self.assertTrue(self.d.keys() == ['a', 'b', 'c', 'd']) self.assertTrue(self.d.values() == ['1', 'B', '3', '4']) self.assertTrue(self.d.items() == [('a', '1'), ('b', 'B'), ('c', '3'), ('d', '4')]) self.assertTrue(self.d.reverse() == [('d', '4'), ('c', '3'), ('b', 'B'), ('a', '1')]) def test_popitem(self): (k, v) = self.d.popitem() self.assertTrue(k == 'c') self.assertTrue(v == '3')
def getSchemata(obj): """Returns an ordered dictionary, which maps all Schemata names to fields that belong to the Schemata.""" schema = obj.Schema() schemata = OrderedDict() for f in schema.fields(): sub = schemata.get(f.schemata, WrappedSchemata(name=f.schemata)) sub.addField(f) schemata[f.schemata] = sub.__of__(obj) return schemata
class OrderedDictTest(ATTestCase): def afterSetUp(self): self.d = OrderedDict() self.d['a'] = '1' self.d['b'] = '2' self.d['c'] = '3' def test_order(self): self.assertTrue(self.d.keys() == ['a', 'b', 'c']) self.assertTrue(self.d.values() == ['1', '2', '3']) self.assertTrue(self.d.items() == [('a', '1'), ('b', '2'), ('c', '3')]) self.assertTrue(self.d.reverse() == [ ('c', '3'), ('b', '2'), ('a', '1')]) def test_setitem(self): self.d['d'] = '4' self.assertTrue(self.d.keys() == ['a', 'b', 'c', 'd']) self.assertTrue(self.d.values() == ['1', '2', '3', '4']) self.assertTrue(self.d.items() == [ ('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]) self.assertTrue(self.d.reverse() == [ ('d', '4'), ('c', '3'), ('b', '2'), ('a', '1')]) self.d['c'] = 'C' self.assertTrue(self.d.keys() == ['a', 'b', 'c', 'd']) self.assertTrue(self.d.values() == ['1', '2', 'C', '4']) self.assertTrue(self.d.items() == [ ('a', '1'), ('b', '2'), ('c', 'C'), ('d', '4')]) self.assertTrue(self.d.reverse() == [ ('d', '4'), ('c', 'C'), ('b', '2'), ('a', '1')]) def test_del(self): del self.d['b'] self.assertTrue(self.d.keys() == ['a', 'c']) self.assertTrue(self.d.values() == ['1', '3']) self.assertTrue(self.d.items() == [('a', '1'), ('c', '3')]) self.assertTrue(self.d.reverse() == [('c', '3'), ('a', '1')]) self.assertTrue('b' not in self.d) self.assertTrue(self.d.get('b', None) == None) def test_clear(self): self.d.clear() self.assertTrue(self.d.keys() == []) self.assertTrue(self.d.values() == []) self.assertTrue(self.d.items() == []) self.assertTrue(self.d.reverse() == []) def test_update(self): d2 = {'b': 'B', 'd': '4'} self.d.update(d2) self.assertTrue(self.d.keys() == ['a', 'b', 'c', 'd']) self.assertTrue(self.d.values() == ['1', 'B', '3', '4']) self.assertTrue(self.d.items() == [ ('a', '1'), ('b', 'B'), ('c', '3'), ('d', '4')]) self.assertTrue(self.d.reverse() == [ ('d', '4'), ('c', '3'), ('b', 'B'), ('a', '1')]) def test_popitem(self): (k, v) = self.d.popitem() self.assertTrue(k == 'c') self.assertTrue(v == '3')