Esempio n. 1
0
 def build_case_from_brw_entry(self, std, case):
     """Add a command file from the object browser to the Aster case"""
     node = self._brw_node
     if node:
         if ST.is_eficas_file(node):
             efile = ST.attach_eficas_file(node)
             case.use(aster_s.CommFile(efile.read_fname()))
         else:
             case.use(aster_s.CommEntry(node.entry))
Esempio n. 2
0
    def test_add_study_case_from_element_entry(self):
        std = self.std
        case = std.add_case("from-elt-file")
        comm_file = case.use(aster_s.CommFile("fname.comm"))

        case = std.add_case("from-elt-entry")
        comm_ref = case.use(aster_s.CommEntry(comm_file.node.entry))
        self.assertEqual(comm_ref.node.give_source(), comm_file.node)
        self.assertEqual(comm_ref.read_name(), comm_file.read_name())

        med_entry = aster_s.MedEntry(comm_file.node.entry)
        self.assertRaises(TypeError, case.use, med_entry)
Esempio n. 3
0
    def test_build_astk_case(self):
        acfg = astk.Cfg()
        acfg.add("name", astk.Param("n")) 
        comm = __file__
        mmed = UT.__file__

        case = self.std.add_case("a")
        case.use(aster_s.AstkParams(acfg))
        case.use(aster_s.CommFile(comm))
        acs = case.build_astk_case()
        bld = acs.export_bld
        self.assert_(bld.working_dir is None)
        cfg = bld.get(astk.Cfg)
        self.assert_(cfg.equal(acfg))
        self.assertEqual(bld.name, "a")
        self.assertEqual(bld.get(astk.CommFile).fname, comm)
        self.assert_(not bld.get(astk.MedFile))

        case.use(aster_s.WorkingDir("/tmp/a"))
        acs = case.build_astk_case()
        self.assertEqual(acs.export_bld.working_dir, "/tmp/a")

        case.use(aster_s.MedFile(mmed))
        case.write_name("c")
        acs = case.build_astk_case()
        bld = acs.export_bld
        self.assertEqual(bld.name, "c")
        self.assertEqual(bld.get(astk.MedFile).fname, mmed)

        case.use(aster_s.HasBaseResult())
        acs = case.build_astk_case()
        bld = acs.export_bld
        self.assert_(bld.get(astk.Base))

        comm_file = case.get(aster_s.CommFile)
        med_file = case.get(aster_s.MedFile)
        case = self.std.add_case("d")
        case.use(aster_s.CommEntry(comm_file.node.entry))
        case.use(aster_s.MedEntry(med_file.node.entry))
        acs = case.build_astk_case()
        bld = acs.export_bld
        self.assertEqual(bld.get(astk.CommFile).fname, comm)
        self.assertEqual(bld.get(astk.MedFile).fname, mmed)
Esempio n. 4
0
    def test_update_case_on_new_entries(self):
        std = self.std
        case = self.case
        comms = [aster_s.CommFile(name).build(std) for name in ("c1", "c2")]
        med_fname = ST.get_data("forma01a.mmed")
        mesh = std.sstd.load_meshes_from(med_fname)[0]
        case.use(aster_s.CommEntry(comms[0].node.entry))
        case.use(aster_s.MedFile("m"))

        editor = AM.edit(self.mod, self.case)
        datas = [editor._params[key] for key in ("comm", "mesh")]
        for data in datas:
            data._selector.setCurrentIndex(0)
        blds = [data._data_builder for data in datas]
        blds[0]._brw_node = comms[1].node
        blds[1]._brw_node = mesh.node
        editor.build_case()

        centry = case.get(aster_s.CommEntry)
        self.assertEqual(centry.node.give_source().entry, comms[1].node.entry)
        self.assert_(not case.get(aster_s.MedFile))
        self.assert_(case.get(aster_s.SMeshEntry))
Esempio n. 5
0
    def test_copy_study_case_building_objects(self):
        root = AS.Elt(self.std.node.add_node("root"), AS.Elt)
        dest = AS.Elt(self.std.node.add_node("dest"), AS.Elt)

        sfile_fact = aster_s.CommFile("fcomm")
        sfile = sfile_fact.build(root)
        copy = sfile.copy_to(dest)
        self.assert_(copy is not dest)
        self.assert_(copy.node.parent is dest.node)
        self.assertEqual(copy.read_name(), "fcomm")
        self.assertEqual(copy.read_fname(), "fcomm")
        self.assert_(copy.sfile.load_type() is aster_s.CommFile)
        self.assert_(isinstance(copy, AS.File))

        version = aster_s.Value("version", "STA10.0")
        velt = version.build(root)
        copy = velt.copy_to(dest)
        self.assert_(ST.load_cls(copy.node) is aster_s.Value)

        entry_compo = aster_s.CommEntry(sfile.node.entry)
        centry = entry_compo.build(root)
        copy = centry.copy_to(dest)
        self.assertEqual(copy.node.give_source().entry,
                         centry.node.give_source().entry)
Esempio n. 6
0
        compos = [aster_s.CommFile(""), aster_s.MedFile("")]
        felts = [case.use(compo) for compo in compos]
        self.assert_([felt.read_fname() for felt in felts], [None, None])
        editor = AM.edit(self.mod, case)
        fnames = [
            editor._params[key]._data_builder.fname_entry.text()
            for key in ("comm", "mesh")
        ]
        self.assertEqual(fnames, ["", ""])

    def test_edit_comm_and_med_entries(self):
        case = self.case
        compos = (aster_s.CommFile("c"), aster_s.MedFile("m"))
        felts = [compo.build(self.std) for compo in compos]
        fentries = [felt.node.entry for felt in felts]
        case.use(aster_s.CommEntry(felts[0].node.entry))
        case.use(aster_s.MedEntry(felts[1].node.entry))
        editor = AM.edit(self.mod, case)
        sels = [editor._params[key] for key in ("comm", "mesh")]
        blds = [sel._data_builder for sel in sels]
        self.assertEqual([bld.brw_entry.text() for bld in blds], ["c", "m"])
        self.assertEqual([bld._brw_node.entry for bld in blds], fentries)
        idxs = [sel._selector.currentIndex() for sel in sels]
        self.assertEqual(idxs, [0, 0])

    def test_edit_mesh_entry(self):
        case = self.case
        med_fname = ST.get_data("forma01a.mmed")
        mentry = self.std.sstd.load_meshes_from(med_fname)[0].node.entry
        case.use(aster_s.SMeshEntry(mentry))
        editor = AM.edit(self.mod, case)