Пример #1
0
    def setup(self):
        self.simInfo = SimulationInfo()

        self.simInfo.runDesc = "testTest"
        self.simInfo.tString = "timeString000"

        self.parameterDefs = simulator.define_parameters()
        xmlString = ("<parameters name='test1'>" +
                     "<simulator>" +
                     "<parameter name='assetSalesFactor' value='1.0' />" +
                     "<parameter name='randomSeed' value='12343' />" +
                     "<parameter name='balanceSheetMethod' value='assets' />" +
                     "</simulator>" +
                     "<economy name='econ1'>" +
                     "<parameter name='fireSaleFactor' value='0.0' />" +
                     "<parameter name='investmentCount' value='5' />" +
                     "<parameter name='financialAssetRatio' value='0.3' />" +
                     "<parameter name='capitalRatio' value='.15' />" +
                     "<parameter name='financialLiabilityRatio' value='.7' />" +
                     "</economy>" +
                     "<economy name='econ2'>" +
                     "<parameter name='fireSaleFactor' value='0.5' />" +
                     "<parameter name='investmentCount' value='10' />" +
                     "<parameter name='cashRatio' value='.15' />" +
                     "<parameter name='financialAssetRatio' value='0.4' />" +
                     "<parameter name='capitalRatio' value='0.2' />" +
                     "<parameter name='financialLiabilityRatio' value='.7' />" +
                     "</economy>" +
                     "<bank name='bank1' economy='econ1'>" +
                     "<parameter name='loanSize' value='10' />" +
                     "<parameter name='loanSD' value='2' />" +
                     "<parameter name='cashRatio' value='.1' />" +
                     "</bank>" +
                     "<bank name='bank2' economy='econ2'>" +
                     "<parameter name='loanSize' value='20' />" +
                     "<parameter name='loanSD' value='2' />" +
                     "<parameter name='financialLiabilityRatio' value='.2' />" +
                     "</bank>" +
                     "<bank name='bank3' economy='econ2'>" +
                     "<parameter name='loanSize' value='30' />" +
                     "<parameter name='loanSD' value='3' />" +
                     "<parameter name='financialAssetRatio' value='0.25' />" +
                     "<parameter name='capitalRatio' value='.125' />" +
                     "</bank>" +
                     "</parameters>")
        self.xmlRoot = ET.fromstring(xmlString)
        self.pList = read_params_from_xml(self.xmlRoot, "fName")
        self.simInfo.basicGraph = nx.DiGraph()
        self.simInfo.basicGraph.add_edges_from([('bank1', 'bank2'), ('bank2', 'bank1'),
                                             ('bank2', 'bank3'), ('bank3', 'bank1')])
        simulator.do_simulator_parameters(self.simInfo, self.pList, self.parameterDefs)
Пример #2
0
    def test_xml(self):
        root = ET.fromstring(self.xmlString)

        simParams = root.find("simulator")
        sList = bnUtils.get_params_from_xml("simulator", "simulator", simParams)
        eq_(len(sList), 3, "expected 3 simulator tuples but got %r" % len(sList))
        eList = bnUtils.get_entity_params_from_xml("economy", root, "test")
        eq_(len(eList), 13, "expected 13 economy tuples but got %r" % len(eList))
        bList = bnUtils.get_entity_params_from_xml("bank", root, "test")
        eq_(len(bList), 16, "expected 16 bank tuples but got %r" % len(bList))
        pList = bnUtils.read_params_from_xml(root, "test")
        eq_(len(pList), 32, "expected 32 total tuples but got %r" % len(pList))

        ans = bnUtils.get_value_from_pList(pList, "bank", "bank3", "parameter", "loanSize")
        eq_(ans, "30", "expected bank3 to have parameter loanSize of 30 but got %r" % ans)
        ans = bnUtils.get_value_from_pList(pList, "economy", "econ1", "attribute", "name")
        eq_(ans, "econ1", "expected econ 1 to have attribute name of econ1 but got %r" % ans)