Example #1
0
 def test_identify(self):
     """Tests finding the names mapped to constants (and failure to find)"""
     assert MyStringEnum.identify("Big Apple") == "NEW_YORK"
     assert MyStringEnum.identify("A Rafting Opportunity") == "ORANGE_RIVER"
     assert Utils.raises(KeyError, MyStringEnum.identify, 1)
     assert Utils.raises(KeyError, MyStringEnum.identify, "new_york")
     assert MyStringEnum.identify("Quartzitic Sandstone", "TABLE_MOUNTAIN") == "TABLE_MOUNTAIN"
 def test_meta_declaration(self):
     """Tests that false declarations of implementing an API raise an error"""
     assert Utils.not_raises(API.APIError, self.declare_basic_support)
     assert Utils.not_raises(API.APIError, self.declare_inherited_support)
     assert Utils.raises(API.APIError, self.declare_false_support)
     assert Utils.raises(API.APIError, self.declare_false_inherited_support)
     assert Utils.raises(API.APIError, self.declare_ill_support)
Example #3
0
 def test_meta_declaration(self):
     """Tests that false declarations of implementing an API raise an error"""
     assert Utils.not_raises(API.APIError, self.declare_basic_support)
     assert Utils.not_raises(API.APIError, self.declare_inherited_support)
     assert Utils.raises(API.APIError, self.declare_false_support)
     assert Utils.raises(API.APIError, self.declare_false_inherited_support)
     assert Utils.raises(API.APIError, self.declare_ill_support)
Example #4
0
 def test_identify(self):
     """Tests finding the names mapped to constants (and failure to find)"""
     assert MyStringEnum.identify("Big Apple") == "NEW_YORK"
     assert MyStringEnum.identify("A Rafting Opportunity") == "ORANGE_RIVER"
     assert Utils.raises(KeyError, MyStringEnum.identify, 1)
     assert Utils.raises(KeyError, MyStringEnum.identify, "new_york")
     assert MyStringEnum.identify("Quartzitic Sandstone",
                                  "TABLE_MOUNTAIN") == "TABLE_MOUNTAIN"
Example #5
0
 def test_lookup(self):
     """Tests looking up an enum by name"""
     assert MyStringEnum.lookup("NEW_YORK") == "Big Apple"
     assert MyStringEnum.lookup("ORANGE_RIVER") == "A Rafting Opportunity"
     assert Utils.raises(KeyError, MyStringEnum.lookup, "TABLE_MOUNTAIN")
     assert MyStringEnum.lookup(
         "TABLE_MOUNTAIN", "Quartzitic Sandstone") == "Quartzitic Sandstone"
Example #6
0
 def test_find_module(self):
     target_file = Module.__file__
     if target_file.endswith(".pyc") or target_file.endswith(".pyo"):
         source_file = target_file[:target_file.rfind(".")] + ".py"
         if os.path.exists(source_file):
             target_file = source_file
     assert Module.find_module("j5basic") == os.path.dirname(target_file)
     assert Module.find_module("j5basic.Module") == target_file
     assert Utils.raises(ValueError, Module.find_module, "j5basic.NonExistent")
 def test_find_module(self):
     target_file = Module.__file__
     if target_file.endswith(".pyc") or target_file.endswith(".pyo"):
         source_file = target_file[:target_file.rfind(".")] + ".py"
         if os.path.exists(source_file):
             target_file = source_file
     assert Module.find_module("j5basic") == os.path.dirname(target_file)
     assert Module.find_module("j5basic.Module") == target_file
     assert Utils.raises(ValueError, Module.find_module,
                         "j5basic.NonExistent")
Example #8
0
def test_simple_raises_returns():
    """check returning a value causes an error in raises"""
    raised = None
    returned = None
    try:
        returned = Utils.raises(ValueError, sample_method, 1)
    except AssertionError as e:
        raised = e
    except Exception as e:
        raised = e
    assert returned is None
    assert isinstance(raised, AssertionError)
    assert "Call to sample_method did not raise ValueError but returned 'pigeons'" == str(raised)
Example #9
0
def test_simple_raises_returns():
    """check returning a value causes an error in raises"""
    raised = None
    returned = None
    try:
        returned = Utils.raises(ValueError, sample_method, 1)
    except AssertionError as e:
        raised = e
    except Exception as e:
        raised = e
    assert returned is None
    assert isinstance(raised, AssertionError)
    assert "Call to sample_method did not raise ValueError but returned 'pigeons'" == str(
        raised)
Example #10
0
def test_simple_raises_incorrect():
    """checks that raises handles an incorrect exception properly"""
    raised = None
    returned = None
    try:
        returned = Utils.raises(ValueError, sample_method, 4)
    except AssertionError as e:
        raised = e
    except Exception as e:
        raised = e
    assert returned is None
    assert isinstance(raised, AssertionError)
    print(str(raised))
    assert "Call to sample_method did not raise ValueError but raised KeyError: 'Wrong key'" == str(raised)
Example #11
0
 def test_min_max(self):
     assert Utils.raises(ValueError, min, self.empty)
     assert Utils.raises(ValueError, max, self.empty)
     assert self.single_item.min() == self.single_item.max() == 1
     assert self.hundred.min() == 1
     assert self.hundred.max() == 100
     assert self.date.min() == ORWELL
     assert self.date.max() == SPACE
     assert self.space_year.min() == datetime.datetime(2001, 1, 1)
     assert self.space_year.max() == datetime.datetime(2001, 12, 31)
     # test altering operations
     hundred = self.hundred.copy()
     assert hundred.min() == 1
     assert hundred.max() == 100
     hundred.add(1000)
     assert hundred.max() == 1000
     hundred.discard(1)
     assert hundred.min() == 2
     hundred.remove(2)
     assert hundred.min() == 3
     hundred |= self.single_item
     assert hundred.min() == 1
     hundred &= self.hundred
     assert hundred.max() == 100
    def test_resolve(self):
        assert Module.resolvemodule("j5basic.Module") == Module
        # Run this twice to cover the cached usage
        assert Module.resolvemodule("j5basic.Module") == Module
        try:
            from j5.Config import ConfigTree
            assert Module.resolvemodule(
                "j5.Config.ConfigTree.Node") == ConfigTree.Node
        except ImportError:
            pass

        assert Module.resolvemodule(
            "j5basic.Module.canonicalize") == Module.canonicalize
        assert Utils.raises(ImportError, Module.resolvemodule,
                            "j5basic.Moodle")
Example #13
0
 def test_min_max(self):
     assert Utils.raises(ValueError, min, self.empty)
     assert Utils.raises(ValueError, max, self.empty)
     assert self.single_item.min() == self.single_item.max() == 1
     assert self.hundred.min() == 1
     assert self.hundred.max() == 100
     assert self.date.min() == ORWELL
     assert self.date.max() == SPACE
     assert self.space_year.min() == datetime.datetime(2001, 1, 1)
     assert self.space_year.max() == datetime.datetime(2001, 12, 31)
     # test altering operations
     hundred = self.hundred.copy()
     assert hundred.min() == 1
     assert hundred.max() == 100
     hundred.add(1000)
     assert hundred.max() == 1000
     hundred.discard(1)
     assert hundred.min() == 2
     hundred.remove(2)
     assert hundred.min() == 3
     hundred |= self.single_item
     assert hundred.min() == 1
     hundred &= self.hundred
     assert hundred.max() == 100
Example #14
0
def test_simple_raises_incorrect():
    """checks that raises handles an incorrect exception properly"""
    raised = None
    returned = None
    try:
        returned = Utils.raises(ValueError, sample_method, 4)
    except AssertionError as e:
        raised = e
    except Exception as e:
        raised = e
    assert returned is None
    assert isinstance(raised, AssertionError)
    print(str(raised))
    assert "Call to sample_method did not raise ValueError but raised KeyError: 'Wrong key'" == str(
        raised)
Example #15
0
def test_scalar_calculation():
    """tests that scalars created from units can be used in calculations"""
    m = Units.BaseUnit("m")
    s = Units.BaseUnit("s")
    mm = m / 1000
    x = m(35)
    assert x == mm(35000)
    assert m(35) + m(3) == m(38)
    assert m(35) - mm(3) == mm(34997)
    assert Utils.raises(ValueError, operator.add, m(35), 3)
    assert m(35) * 3 == m(105)
    assert m(35) * m(3) == (m*m)(35*3)
    assert Utils.raises(ValueError, operator.add, 3, m(35))
    assert 3 * m(35) == m(105)
    assert m(35) * m(3) == (m*m)(35*3)
    assert s(12.0) / 4.0 == s(3.0)
    assert 12.0 / s(4.0) == (1/s)(3.0)
    assert -s(5) == s(1) - s(6)
    assert +s(5) == s(1) + s(4)
    assert abs(s(-4)) == s(4)
    # These conversions are of debatable value, but are included at the moment
    assert float(m(35.0)) == 35.0
    assert int(m(35.2)) == 35
    assert int(mm(33000)) == 33000
Example #16
0
def test_scalar_calculation():
    """tests that scalars created from units can be used in calculations"""
    m = Units.BaseUnit("m")
    s = Units.BaseUnit("s")
    mm = m / 1000
    x = m(35)
    assert x == mm(35000)
    assert m(35) + m(3) == m(38)
    assert m(35) - mm(3) == mm(34997)
    assert Utils.raises(ValueError, operator.add, m(35), 3)
    assert m(35) * 3 == m(105)
    assert m(35) * m(3) == (m * m)(35 * 3)
    assert Utils.raises(ValueError, operator.add, 3, m(35))
    assert 3 * m(35) == m(105)
    assert m(35) * m(3) == (m * m)(35 * 3)
    assert s(12.0) / 4.0 == s(3.0)
    assert 12.0 / s(4.0) == (1 / s)(3.0)
    assert -s(5) == s(1) - s(6)
    assert +s(5) == s(1) + s(4)
    assert abs(s(-4)) == s(4)
    # These conversions are of debatable value, but are included at the moment
    assert float(m(35.0)) == 35.0
    assert int(m(35.2)) == 35
    assert int(mm(33000)) == 33000
Example #17
0
 def test_lookup(self):
     """Tests looking up an enum by name"""
     assert MyStringEnum.lookup("NEW_YORK") == "Big Apple"
     assert MyStringEnum.lookup("ORANGE_RIVER") == "A Rafting Opportunity"
     assert Utils.raises(KeyError, MyStringEnum.lookup, "TABLE_MOUNTAIN")
     assert MyStringEnum.lookup("TABLE_MOUNTAIN", "Quartzitic Sandstone") == "Quartzitic Sandstone"
Example #18
0
def test_simple_raises_correct():
    """check raising the correct error, and a subclass of the correct error"""
    assert Utils.raises(ValueError, sample_method, 2)
    assert Utils.raises(ValueError, sample_method, 3)
Example #19
0
 def test_lookup(self):
     """Tests looking up an enum by name"""
     assert MyEnum.lookup("APPLES") == 1
     assert MyEnum.lookup("ORANGES") == 2
     assert Utils.raises(KeyError, MyEnum.lookup, "PEARS")
     assert MyEnum.lookup("PEARS", 4) == 4
Example #20
0
def test_simple_raises_correct():
    """check raising the correct error, and a subclass of the correct error"""
    assert Utils.raises(ValueError, sample_method, 2)
    assert Utils.raises(ValueError, sample_method, 3)
Example #21
0
 def test_identify(self):
     """Tests finding the names mapped to constants (and failure to find)"""
     assert MyEnum.identify(1) == "APPLES"
     assert MyEnum.identify(2) == "ORANGES"
     assert Utils.raises(KeyError, MyEnum.identify, 3)
     assert MyEnum.identify(3, "MONKEY") == "MONKEY"
Example #22
0
 def test_lookup(self):
     """Tests looking up an enum by name"""
     assert MyEnum.lookup("APPLES") == 1
     assert MyEnum.lookup("ORANGES") == 2
     assert Utils.raises(KeyError, MyEnum.lookup, "PEARS")
     assert MyEnum.lookup("PEARS", 4) == 4
Example #23
0
 def test_identify(self):
     """Tests finding the names mapped to constants (and failure to find)"""
     assert MyEnum.identify(1) == "APPLES"
     assert MyEnum.identify(2) == "ORANGES"
     assert Utils.raises(KeyError, MyEnum.identify, 3)
     assert MyEnum.identify(3, "MONKEY") == "MONKEY"