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
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)
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)
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
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
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)