def test_getitem(): """Test nuc_by_ind converter function.""" chain = Chain() chain.nuclides = ["NucA", "NucB", "NucC"] chain.nuclide_dict = {nuc: chain.nuclides.index(nuc) for nuc in chain.nuclides} assert "NucA" == chain["NucA"] assert "NucB" == chain["NucB"] assert "NucC" == chain["NucC"]
def test_export_to_xml(run_in_tmpdir): """Test writing a depletion chain to XML.""" # Prevent different MPI ranks from conflicting filename = 'test{}.xml'.format(comm.rank) H1 = nuclide.Nuclide("H1") A = nuclide.Nuclide("A") A.half_life = 2.36520e4 A.decay_modes = [ nuclide.DecayTuple("beta1", "B", 0.6), nuclide.DecayTuple("beta2", "C", 0.4) ] A.reactions = [ nuclide.ReactionTuple("(n,gamma)", "C", 0.0, 1.0), nuclide.ReactionTuple("(n,p)", "B", 0.0, 1.0) ] B = nuclide.Nuclide("B") B.half_life = 3.29040e4 B.decay_modes = [nuclide.DecayTuple("beta", "A", 1.0)] B.reactions = [ nuclide.ReactionTuple("(n,gamma)", "C", 0.0, 1.0), nuclide.ReactionTuple("(n,d)", "A", 0.0, 1.0) ] C = nuclide.Nuclide("C") C.reactions = [ nuclide.ReactionTuple("fission", None, 2.0e8, 1.0), nuclide.ReactionTuple("(n,gamma)", "A", 0.0, 0.7), nuclide.ReactionTuple("(n,gamma)", "B", 0.0, 0.3) ] C.yield_data = nuclide.FissionYieldDistribution( {0.0253: { "A": 0.0292737, "B": 0.002566345 }}) chain = Chain() chain.nuclides = [H1, A, B, C] chain.export_to_xml(filename) chain_xml = open(filename, 'r').read() assert _TEST_CHAIN == chain_xml
def test_len(): """Test depletion chain length.""" chain = Chain() chain.nuclides = ["NucA", "NucB", "NucC"] assert len(chain) == 3