コード例 #1
0
ファイル: test_io.py プロジェクト: mic-pan/BondGraphTools
def test_rlc_save(rlc):
    filename = str(file_path / "test_rlc.bg")
    rlc.name = "RLC"
    r, = (c for c in rlc.components if c.metamodel == "R")
    c, = (c for c in rlc.components if c.metamodel == "C")
    l, = (c for c in rlc.components if c.metamodel == "I")
    kvl, = (c for c in rlc.components if c.metamodel == "0")

    r.name = "R1"
    c.name = "C1"
    l.name = "L1"

    with TempFile(filename):
        save(rlc, filename)

        with open(filename, 'r') as fs:
            test_data = yaml.load(fs, Loader=yaml.SafeLoader)

    assert test_data["version"] == dm.FILE_VERSION
    assert test_data["root"] == "RLC"
    assert set(test_data["models"].keys()) == {"/"}
    model_data = test_data["models"]["/"]

    assert set(model_data.keys()) == {"components", "netlist"}

    assert set(model_data["components"]) == {
        "R1 base/R r=1", "C1 base/C C=1", "L1 base/I L=1", "kvl base/0"
    }

    assert set(model_data["netlist"]) == {"R1 kvl", "C1 kvl", "L1 kvl"}
コード例 #2
0
ファイル: test_io.py プロジェクト: mic-pan/BondGraphTools
def test_build_templated_model():
    root = new(name="System")
    model = new(name="Vs")
    root.add(model)
    ss = new("SS", name="pout")
    Se = new("Se", name="Vs")
    zero = new("0", name="0_0")
    model.add(ss, Se, zero)
    connect(ss, zero)
    connect(Se, zero)

    file = file_path / "temp.bg"
    assert root.name == "System"

    with TempFile(file):

        save(root, file)

        with open(file, 'r') as fs:
            temp_data = yaml.load(fs, Loader=yaml.SafeLoader)

    assert temp_data["root"] == root.name
    assert temp_data["models"].keys() == {"/", "/Vs"}

    assert temp_data["models"]["/"]["components"] == ["Vs /Vs"]
    assert set(temp_data["models"]["/Vs"]["components"]) == {
        "pout base/SS", "Vs base/Se", "0_0 base/0"
    }
    assert set(temp_data["models"]["/Vs"]["netlist"]) == {"pout 0_0", "Vs 0_0"}
コード例 #3
0
ファイル: test_io.py プロジェクト: mic-pan/BondGraphTools
def test_save_idempotent():
    model_1 = load(file_path / "modular.bg")
    new_file = str(file_path / "modular_2.bg")

    with TempFile(new_file):
        save(model_1, new_file)
        model_2 = load(new_file)

    assert model_1 is not model_2
    assert model_1.name == model_2.name
    assert_components_are_equal(model_1, model_2)