Skip to content

test_material_parser

converter.tests.fluka.test_material_parser

materials_json

materials_json(project_fluka_json)

materialManager part of Fluka project.json file

Source code in yaptide/converter/tests/fluka/test_material_parser.py
16
17
18
19
@pytest.fixture(scope="module")
def materials_json(project_fluka_json):
    """materialManager part of Fluka project.json file"""
    return project_fluka_json["materialManager"]["materials"]

test_assign_materials_to_regions

test_assign_materials_to_regions(
    zones_json, materials_json, project_fluka_json
)

Test if materials are assigned to regions correctly

Source code in yaptide/converter/tests/fluka/test_material_parser.py
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
def test_assign_materials_to_regions(zones_json, materials_json, project_fluka_json):
    """Test if materials are assigned to regions correctly"""
    materials, _, _ = parse_materials(materials_json, zones_json)
    figures = parse_figures(project_fluka_json["figureManager"].get("figures"))
    regions, _ = parse_regions(zones_json, figures)

    assignments = assign_materials_to_regions(materials, regions, zones_json)

    assert len(assignments) == len(regions)

    assert assignments[0].region_name == "region0"
    assert assignments[0].material_name == "AIR"
    assert assignments[1].region_name == "region1"
    assert assignments[1].material_name == "COM00001"
    assert assignments[2].region_name == "region2"
    assert assignments[2].material_name == "MAT00001"
    assert assignments[3].region_name == "region3"
    assert assignments[3].material_name == "AIR"
    assert assignments[4].region_name == "world"
    assert assignments[4].material_name == "WATER"
    assert assignments[5].region_name == "boundary"
    assert assignments[5].material_name == "BLCKHOLE"

test_parse_materials

test_parse_materials(zones_json, materials_json)

Test if materials are parsed correctly

Source code in yaptide/converter/tests/fluka/test_material_parser.py
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def test_parse_materials(zones_json, materials_json):
    """Test if materials are parsed correctly"""
    materials, compounds, _ = parse_materials(materials_json, zones_json)

    assert "c68fba8d-e146-44df-96f8-f6ab74d48cfa" in materials
    assert "fdd9632f-5e37-4952-81a8-a01d1b9c2842" in materials
    assert "9dd76291-d711-4838-bf8f-a7695f5344e1" in materials
    assert "a0a41c8b-9c22-42b6-bbfa-a6bad91d088d" in materials

    assert materials["c68fba8d-e146-44df-96f8-f6ab74d48cfa"].density == 0.00120479
    assert materials["fdd9632f-5e37-4952-81a8-a01d1b9c2842"].density == 1.01
    assert materials["9dd76291-d711-4838-bf8f-a7695f5344e1"].density == 11.36
    assert materials["a0a41c8b-9c22-42b6-bbfa-a6bad91d088d"].density == 1

    assert "fdd9632f-5e37-4952-81a8-a01d1b9c2842" in compounds

zones_json

zones_json(project_fluka_json)

zoneManager part of Fluka project.json file

Source code in yaptide/converter/tests/fluka/test_material_parser.py
10
11
12
13
@pytest.fixture(scope="module")
def zones_json(project_fluka_json):
    """zoneManager part of Fluka project.json file"""
    return project_fluka_json["zoneManager"]