import pytest
from lammps_data.uff_table import UffTable


@pytest.fixture
def uff_table():
    return UffTable()


def test_lookup_of_nonexistent_element_should_raise_an_exception():
    pass


def test_lookup_of_nonexistent_coordination_number_should_raise_an_exception():
    pass


def test_lookup_of_matching_angle_should_return_the_row():
    pass


def test_lookup_of_nonmatching_angle_should_return_the_row():
    pass


def test_lookup_with_angle_multiplicity_using_low_tolerance_should_return_single_row():
    pass


def test_lookup_with_angle_multiplicity_using_high_tolerance_should_raise_an_exception():
    pass

@@ -53,305 +53,1018 @@
 able
-%0A%0A%0A@pytest.fixture%0Adef uff_table():%0A    return UffTable()%0A%0A%0Adef test_lookup_of_nonexistent_element_should_raise_an_exception():%0A    pass%0A%0A%0Adef test_lookup_of_nonexistent_coordination_number_should_raise_an_exception():%0A    pass%0A%0A%0Adef test_lookup_of_matching_angle_should_return_the_row():%0A    pass
+, NonExistentElementError,%0A                                  NonExistentCoordinationError, NonExistentAngleError,%0A                                  LookupMultiplicityError%0A%0A%0A@pytest.fixture%0Adef uff_table():%0A    return UffTable()%0A%0A%0Adef test_lookup_of_nonexistent_element_should_raise_an_exception(uff_table):%0A    with pytest.raises(NonExistentElementError):%0A        uff_table.lookup('M', 2, 180)%0A%0A%0Adef test_lookup_of_nonexistent_coordination_number_should_raise_an_exception(uff_table):%0A    with pytest.raises(NonExistentCoordinationError):%0A        uff_table.lookup('C', 5, 180)%0A%0A%0Adef test_lookup_of_nonexistent_angle_should_raise_an_exception(uff_table):%0A    with pytest.raises(NonExistentAngleError):%0A        uff_table.lookup('C', 4, 100, tolerance=0)%0A%0A%0Adef test_lookup_of_matching_angle_should_return_the_row(uff_table):%0A    expected_row = dict(type='C_1', bond=0.706, angle=180.0, distance=3.851, energy=0.105, scale=12.73, charge=1.912)%0A    assert uff_table.lookup('C', 2, 180, tolerance=0) == expected_row
 %0A%0A%0Ad
@@ -1085,24 +1085,29 @@
 _of_
-nonmatching_angl
+angle_within_toleranc
 e_sh
@@ -1122,35 +1122,224 @@
 urn_the_row(
-):%0A    pass
+uff_table):%0A    expected_row = dict(type='C_1', bond=0.706, angle=180.0, distance=3.851, energy=0.105, scale=12.73, charge=1.912)%0A    assert uff_table.lookup('C', 2, 175, tolerance=10) == expected_row
 %0A%0A%0Adef test_
@@ -1421,20 +1421,78 @@
 ():%0A    
-p
 ass
+ert len(uff_table.lookup('O', 4, 104.51, tolerance=0)) == 1
 %0A%0A%0Adef t
@@ -1584,9 +1584,104 @@
     
-pass
+with pytest.raises(LookupMultiplicityError):%0A        uff_table.lookup('O', 4, 104.51, tolerance=50)
 %0A

Add uff table tests and errors.