def test_clear__absent(self): var = __unit__.Var() var.clear() self._assertIsAbsent(var)
def test_len__absent(self): var = __unit__.Var() self.assertZero(len(var))
def test_reversed__absent(self): var = __unit__.Var() self.assertEmpty(reversed(var))
def test_contains__present(self): for i, value in enumerate(self.VALUES): var = __unit__.Var(value) self.assertIn(value, var) for other_value in self.VALUES[0:i] + self.VALUES[(i + 1):]: self.assertNotIn(other_value, var)
def test_iter__absent(self): var = __unit__.Var() self.assertEmpty(var)
def test_bool__present__with_truthy_value(self): var = __unit__.Var('foo') self.assertTrue(var)
def test_call__present(self): self.assertIsNone(__unit__.Var(None)()) self.assertEquals(self.SIMPLE_VALUE, __unit__.Var(self.SIMPLE_VALUE)()) self.assertEquals(self.COMPOUND_VALUE, __unit__.Var(self.COMPOUND_VALUE)())
def test_inc__integer__delta(self): var = __unit__.Var(self.INTEGER) var.inc(self.DELTA) self.assertEquals(self.INTEGER + self.DELTA, var.value)
def test_set__from_absent__to_absent(self): var = __unit__.Var() var.set(ABSENT) self._assertIsAbsent(var)
def test_inc__incompatible(self): var = __unit__.Var(self.STRING) with self.assertRaises(TypeError): var.inc()
def test_inc__integer__argless(self): var = __unit__.Var(self.INTEGER) var.inc() self.assertEquals(self.INTEGER + 1, var.value)
def test_has_value__present(self): for value in self.VALUES: self.assertTrue(__unit__.Var(value).has_value())
def test_has_value__absent(self): var = __unit__.Var() self.assertFalse(var.has_value())
def test_clear__present(self): var = __unit__.Var(self.SIMPLE_VALUE) var.clear() self._assertIsAbsent(var)
def test_bool__absent(self): var = __unit__.Var() self.assertFalse(var)
def test_set__from_present__to_present__noop(self): var = __unit__.Var(self.SIMPLE_VALUE) var.set(self.SIMPLE_VALUE) self.assertEquals(self.SIMPLE_VALUE, var.value)
def test_bool__present__with_falsy_value(self): var = __unit__.Var(None) self.assertTrue(var)
def test_set__from_present__to_present__different(self): var = __unit__.Var(self.SIMPLE_VALUE) var.set(self.COMPOUND_VALUE) self.assertEquals(self.COMPOUND_VALUE, var.value)
def test_call__absent(self): var = __unit__.Var() with self._assertRaisesValueAbsent(): var()
def test_set__from_present__to_absent(self): var = __unit__.Var(self.SIMPLE_VALUE) var.set(ABSENT) self._assertIsAbsent(var)
def test_contains__absent(self): var = __unit__.Var() for value in self.VALUES: self.assertNotIn(value, var)
def test_transform__none(self): var = __unit__.Var(self.INTEGER) with self.assertRaises(TypeError): var.transform(None)
def test_enter_and_exit(self): with __unit__.Var() as var: self._assertIsAbsent(var) var.set(None) self.assertTrue(var.has_value())
def test_transform__some_object(self): var = __unit__.Var(self.INTEGER) with self.assertRaises(TypeError): var.transform(object())
def test_iter__present(self): for value in self.VALUES: self.assertItemsEqual([value], __unit__.Var(value))
def test_transform__function__absent(self): var = __unit__.Var() with self._assertRaisesValueAbsent(): var.transform(self.INCREMENT)
def test_len__present(self): for value in self.VALUES: var = __unit__.Var(value) self.assertEquals(1, len(var))
def test_transform__function__present(self): var = __unit__.Var(self.INTEGER) var.transform(self.INCREMENT) self.assertEquals(self.INTEGER + self.DELTA, var.value)
def test_reversed__present(self): for value in self.VALUES: self.assertItemsEqual([value], reversed(__unit__.Var(value)))
def test_ctor__compound_value(self): var = __unit__.Var(self.COMPOUND_VALUE) self.assertEquals(self.COMPOUND_VALUE, var.value)