def test_get(self): smap = SymbolMap() labeler = TextLabeler() self.assertEqual('x', smap.getSymbol(self.instance.x, labeler)) self.assertEqual('y(1)', smap.getSymbol(self.instance.y[1], labeler)) self.assertEqual(set(smap.bySymbol.keys()), set(['x', 'y(1)'])) self.assertEqual('x', smap.getSymbol(self.instance.x, labeler))
def test_creates(self): smap = SymbolMap() labeler = TextLabeler() smap.createSymbols(self.instance.component_data_objects(Var), labeler) self.assertEqual( set(smap.bySymbol.keys()), set([ 'x', 'y(1)', 'y(2)', 'y(3)', 'b_x', 'b_y(1)', 'b_y(2)', 'b_y(3)' ]))
def test_adds(self): smap = SymbolMap() labeler = TextLabeler() smap.addSymbols((obj, labeler(obj)) for obj in self.instance.component_data_objects(Var)) self.assertEqual( set(smap.bySymbol.keys()), set([ 'x', 'y(1)', 'y(2)', 'y(3)', 'b_x', 'b_y(1)', 'b_y(2)', 'b_y(3)' ]))
def test_textlabeler(self): m = self.m lbl = TextLabeler() self.assertEqual(lbl(m.mycomp), 'mycomp') self.assertEqual(lbl(m.mycomp), 'mycomp') self.assertEqual(lbl(m.that), 'that') self.assertEqual(lbl(self.long1), 'myverylongcomponentname') self.assertEqual(lbl(m.myblock), 'myblock') self.assertEqual(lbl(m.myblock.mystreet), 'myblock_mystreet') self.assertEqual(lbl(self.thecopy), '_myblock_mystreet_') self.assertEqual(lbl(m.ind[3]), 'ind(3)') self.assertEqual(lbl(m.ind[10]), 'ind(10)') self.assertEqual(lbl(m.ind[1]), 'ind(1)')
def test_error1(self): smap = SymbolMap() labeler = TextLabeler() self.assertEqual('x', smap.getSymbol(self.instance.x, labeler)) class FOO(object): def __call__(self, *args): return 'x' labeler = FOO() try: self.assertEqual('x', smap.getSymbol(self.instance.y[1], labeler)) self.fail("Expected RuntimeError") except RuntimeError: pass
def test_create(self): smap = SymbolMap() labeler = TextLabeler() smap.createSymbol(self.instance.x, labeler) smap.createSymbol(self.instance.y[1], labeler) self.assertEqual(set(smap.bySymbol.keys()), set(['x', 'y(1)']))