def testVarMap(self, namesPre, namesAdd): varMap = VariableMap(namesPre) for name in namesAdd: varMap.addVar(name) self.compare(sorted(varMap.keys()), sorted(list(set(namesPre + namesAdd))), 'VariableMap: wrong variables %s' % varMap.toString()) self.compare( sorted([varMap[k] for k in varMap.keys()]), list(range(1, len(sorted(list(set(namesPre + namesAdd)))) + 1)), 'VariableMap: wrong variable numbers %s' % varMap.toString()) rev = varMap.reverse() self.compare(sorted([(k, varMap[k]) for k in varMap.keys()]), sorted([(rev[k], k) for k in rev]), 'VariableMap: reverse() %s' % varMap.toString()) oF = io.StringIO() varMap.writeToFile(oF) iF = io.StringIO(oF.getvalue()) vm = VariableMap.readFromFile(iF) self.compare( sorted([(k, vm[k]) for k in vm.keys()]), sorted([(k, varMap[k]) for k in varMap.keys()]), 'VariableMap read/write %s (%s)' % (varMap.toString(), repr(oF.getvalue())))
def testVarMap(self, namesPre, namesAdd): varMap = VariableMap(namesPre) for name in namesAdd: varMap.addVar(name) self.compare(sorted(varMap.keys()), sorted(list(set(namesPre+namesAdd))), 'VariableMap: wrong variables %s' % varMap.toString()) self.compare( sorted([varMap[k] for k in varMap.keys()]), list(range(1, len(sorted(list(set(namesPre+namesAdd)))) + 1)), 'VariableMap: wrong variable numbers %s' % varMap.toString()) rev = varMap.reverse() self.compare( sorted([ (k,varMap[k]) for k in varMap.keys()]), sorted([ (rev[k],k) for k in rev]), 'VariableMap: reverse() %s' % varMap.toString()) oF = io.StringIO() varMap.writeToFile(oF) iF = io.StringIO(oF.getvalue()) vm = VariableMap.readFromFile(iF) self.compare( sorted([ (k,vm[k]) for k in vm.keys()]), sorted([ (k,varMap[k]) for k in varMap.keys()]), 'VariableMap read/write %s (%s)' % (varMap.toString(), repr(oF.getvalue())))
def testExtendVarMap(self, cnf, names): for pre in range(len(names)): varMap = VariableMap() for name in names[:pre]: varMap.addVar(name) # fixed numbers (1,2..pre) for the first 'pre' variables cnf.extendVarMap(varMap) keys = sorted(varMap.keys()) values = sorted([ varMap[v] for v in varMap.keys() ]) self.compare(keys, sorted(names), 'extendVarMap wrong var names %s %s' % (names, cnf.toString())) self.compare(values, list(range(1, len(names)+1)), 'extendVarMap wrong numbers %s %s' % (names, cnf.toString())) for k,v in [ (v,varMap[v]) for v in names[:pre]]: self.compare(varMap[k], v, 'extendVarMap fixed mismatch %s %s' % (names, cnf.toString()))
def testExtendVarMap(self, cnf, names): for pre in range(len(names)): varMap = VariableMap() for name in names[:pre]: varMap.addVar( name ) # fixed numbers (1,2..pre) for the first 'pre' variables cnf.extendVarMap(varMap) keys = sorted(varMap.keys()) values = sorted([varMap[v] for v in varMap.keys()]) self.compare( keys, sorted(names), 'extendVarMap wrong var names %s %s' % (names, cnf.toString())) self.compare( values, list(range(1, len(names) + 1)), 'extendVarMap wrong numbers %s %s' % (names, cnf.toString())) for k, v in [(v, varMap[v]) for v in names[:pre]]: self.compare( varMap[k], v, 'extendVarMap fixed mismatch %s %s' % (names, cnf.toString()))