Exemple #1
0
def test_lambda_style_search():
    particles = Particle.findall(lambda p: p.pdg_name == 'p')
    assert len(particles) == 2
    assert 2212 in particles
    assert -2212 in particles

    assert Particle.find(lambda p: p.pdg_name == 'p' and p > 0) == 2212
    assert Particle.find(lambda p: p.pdg_name == 'p' and p < 0) == -2212
Exemple #2
0
def test_find():
    # 1 match found
    prepr = repr(Particle.find(name="gamma"))
    assert prepr == '<Particle: name="gamma", pdgid=22, mass=0.0 MeV>'

    # No match found
    with pytest.raises(ParticleNotFound):
        Particle.find(name="NotInPDT")

    # Multiple matches found
    with pytest.raises(RuntimeError):
        Particle.find(name=lambda x: "Upsilon" in x)
Exemple #3
0
def test_find():
    # 1 match found
    prepr = repr(Particle.find(name='gamma'))
    assert prepr == '<Particle: name="gamma", pdgid=22, mass=0.0 MeV>'

    # No match found
    with pytest.raises(ParticleNotFound):
        Particle.find(name='NonExistent')

    # Multiple matches found
    with pytest.raises(RuntimeError):
        Particle.find(name=lambda x: 'Upsilon' in x)
Exemple #4
0
def test_keyword_style_search_with_except_catch():
    particles = Particle.findall(ctau=float("inf"))
    assert 11 in particles

    particles = Particle.findall(name="p")
    assert len(particles) == 1
    assert 2212 in particles

    assert Particle.find(pdg_name="p", particle=True) == 2212
    assert Particle.find(pdg_name="p", particle=False) == -2212

    assert Particle.find(name="p", particle=True) == 2212
    assert Particle.find(name="p~", particle=False) == -2212
Exemple #5
0
def test_keyword_style_search():
    particles = Particle.findall(pdg_name='p')
    assert len(particles) == 2
    assert 2212 in particles
    assert -2212 in particles

    particles = Particle.findall(name='p')
    assert len(particles) == 1
    assert 2212 in particles

    assert Particle.find(pdg_name='p', particle=True) == 2212
    assert Particle.find(pdg_name='p', particle=False) == -2212

    assert Particle.find(name='p', particle=True) == 2212
    assert Particle.find(name='p~', particle=False) == -2212
Exemple #6
0
def test_keyword_lambda_style_search():
    particles = Particle.findall(pdg_name=lambda x: 'p' == x)
    assert len(particles) == 2
    assert 2212 in particles
    assert -2212 in particles

    # Fuzzy name
    particles = Particle.findall(name=lambda x: 'p' in x)
    assert len(particles) > 2
    assert 2212 in particles
    assert -2212 in particles

    # Name and particle
    assert Particle.find(name=lambda x: x == 'p', particle=True) == 2212

    # Unit based comparison
    assert 2212 in Particle.findall(lifetime=lambda x: x > 1 * second)