from materials_for_mc import Nuclide
import pytest
def test_read_li6_nuclide_new_format():
nuc1 = Nuclide('Li6')
nuc1.read_nuclide_from_json('tests/Li6.json')
assert nuc1.atomic_symbol == "Li"
assert nuc1.atomic_number == 3 assert nuc1.mass_number == 6
assert nuc1.available_temperatures == ['294']
assert 2 in nuc1.reaction_mts
assert nuc1.energy is not None
energy_grid = nuc1.energy_grid('294')
assert energy_grid is not None
assert len(energy_grid) > 0
assert all(isinstance(e, float) for e in energy_grid)
xs = nuc1.reactions['294'][2]['cross_section']
threshold_idx = nuc1.reactions['294'][2]['threshold_idx']
assert threshold_idx == 0
assert len(xs) > 0
assert all(isinstance(x, float) for x in xs)
reaction_energy = nuc1.get_reaction_energy_grid('294', 2)
assert reaction_energy is not None
assert len(reaction_energy) > 0
reaction_energy_24 = nuc1.get_reaction_energy_grid('294', 24)
assert reaction_energy_24 is not None
assert len(reaction_energy_24) > 0
assert reaction_energy_24[0] > energy_grid[0]
def test_read_li7_nuclide_new_format():
nuc1 = Nuclide('Li7')
nuc1.read_nuclide_from_json('tests/Li7.json')
assert nuc1.atomic_symbol == "Li"
assert nuc1.mass_number == 7
assert nuc1.available_temperatures == ['294']
assert nuc1.energy is not None
reaction_energy_24 = nuc1.get_reaction_energy_grid('294', 24)
assert reaction_energy_24 is not None
assert len(reaction_energy_24) > 0
reaction_energy_51 = nuc1.get_reaction_energy_grid('294', 51)
assert reaction_energy_51 is not None
assert len(reaction_energy_51) > 0