Esempio n. 1
0
 def test_delete_hierachy_last():
     """Deleting such that all obj, default and fallback are None should fail."""
     slot = Slot(dtype=str)
     plug = Plug(slot, default='default', obj='obj')
     del plug.obj
     with pytest.raises(TypeError):
         del plug.default
Esempio n. 2
0
 def test_default_set_inconsistent():
     """Setting default inconsistently should fail."""
     slot = Slot(dtype=str, default='fallback')
     plug = Plug(slot)
     with pytest.raises(TypeError):
         plug.default = 15
Esempio n. 3
0
 def test_default_set():
     """Setting default consistently should succeed."""
     slot = Slot(dtype=str, default='fallback')
     plug = Plug(slot)
     plug.default = 'default'
Esempio n. 4
0
 def test_obj_del():
     """Deleting obj with slot default should succeed."""
     slot = Slot(dtype=str, default='fallback')
     plug = Plug(slot)
     plug.obj = 'obj'
     del plug.obj
Esempio n. 5
0
 def test_obj_set():
     """Setting obj consistently should succeed."""
     slot = Slot(dtype=str, default='fallback')
     plug = Plug(slot)
     plug.obj = 'obj'
Esempio n. 6
0
 def test_init_no_slot_default():
     """Instatiating a Plug without a slot's default value should fail."""
     slot = Slot(dtype=int)
     with pytest.raises(TypeError):
         Plug(slot)
Esempio n. 7
0
 def test_slot_set_inconsistent():
     """Assigning a new slot without the correct dtype should fail."""
     slot = Slot(dtype=object)
     plug = Plug(slot, obj='default')
     with pytest.raises(TypeError):
         plug.slot = slot(dtype=int)
Esempio n. 8
0
 def test_optional():
     """If default is set, object should be optional."""
     slot = Slot(dtype=str)
     plug = Plug(slot, default='default', obj='obj')
     assert plug.optional
Esempio n. 9
0
 def test_fallback_hierachy_fallback():
     """Accessing fallback with only slot default set should return slot default."""
     slot = Slot(dtype=str, default='fallback')
     plug = Plug(slot)
     assert plug.fallback == 'fallback'
Esempio n. 10
0
 def test_fallback_hierachy_default():
     """Accessing fallback with slot default and plug default set should return slot default."""
     slot = Slot(dtype=str, default='fallback')
     plug = Plug(slot, default='default')
     assert plug.fallback == 'fallback'
Esempio n. 11
0
 def test_default_hierachy_obj():
     """Accessing default with slot default, default and obj set should return default."""
     slot = Slot(dtype=str, default='fallback')
     plug = Plug(slot, default='default')
     assert plug.default == 'default'
Esempio n. 12
0
 def test_obj_hierachy_obj():
     """Accessing obj with slot default, plug default and obj set should return obj."""
     slot = Slot(dtype=str, default='fallback')
     plug = Plug(slot, obj='obj', default='default')
     assert plug.obj == 'obj'
Esempio n. 13
0
 def test_init_inconsistent_default():
     """Instatiating a Plug with obj not set as slot's dtype should fail."""
     slot = Slot(dtype=str)
     with pytest.raises(TypeError):
         Plug(slot, default=15)
Esempio n. 14
0
 def test_init_consistent_default():
     """Instatiating a Plug with default set as the correct slot's dtype should succeed."""
     slot = Slot(dtype=int)
     Plug(slot, default=15)
Esempio n. 15
0
 def test_init_consistent_obj():
     """Instatiating a Plug with obj set as the correct slot's dtype should succeed."""
     slot = Slot(dtype=int)
     Plug(slot, obj=15)
Esempio n. 16
0
 def test_default_del():
     """Deleting default with slot default should succeed."""
     slot = Slot(dtype=str, default='fallback')
     plug = Plug(slot)
     plug.default = 'default'
     del plug.default
Esempio n. 17
0
 def test_not_optional():
     """If neither default, nor slot default are set, object should not be optional."""
     slot = Slot(dtype=str)
     plug = Plug(slot, obj='obj')
     assert not plug.optional
Esempio n. 18
0
 def test_hierachy_none():
     """Accessing any of default and fallback with only obj set should return None."""
     slot = Slot(dtype=str)
     plug = Plug(slot, obj='obj')
     assert plug.default is None
     assert plug.fallback is None
Esempio n. 19
0
 def test_slot_set_consistent():
     """Assigning a new slot with the correct dtype should succeed."""
     slot = Slot(dtype=object)
     plug = Plug(slot, obj='default')
     plug.slot = Slot(dtype=str)
Esempio n. 20
0
 def test_delete_hierachy():
     """Deleting obj with default set should return default."""
     slot = Slot(dtype=str)
     plug = Plug(slot, default='default', obj='obj')
     del plug.obj
     assert plug.obj == 'default'
Esempio n. 21
0
 def test_slot_set_no_default():
     """Assigning a new slot without any other but the slot default value set should fail."""
     slot = Slot(dtype=object, default='fallback')
     plug = Plug(slot)
     with pytest.raises(TypeError):
         plug.slot = slot(dtype=str)
Esempio n. 22
0
 def test_init_with_slot_default():
     """Instatiating a Plug with a slot's default value should succeed."""
     slot = Slot(dtype=int, default=10)
     Plug(slot)