class documentation

Tests for MessageSet.

Method test_contains A MessageSet contains a number if the number falls within one of its ranges, and raises TypeError if any range contains None.
Method test_createWithSequence Creating a MessageSet with both a start and end message number adds the sequence between to the MessageSet; its serialized form consists that range, its length is the length of the sequence, and it yields the message numbers inclusively between the start and end.
Method test_createWithSingleMessageNumber Creating a MessageSet with a single message number adds only that message to the MessageSet; its serialized form includes only that message number, its length is one, and it yields only that message number.
Method test_createWithSingleWildcard Creating a MessageSet with a single None, representing *, adds * to the range; its serialized form includes only *, its length is one, but it cannot be iterated over because its endpoint is unknown.
Method test_equalityIterationAndAddition Test the following properties of MessageSet addition and equality:
Method test_extend MessageSet.extend accepts as its arugment an int or None, or a sequence ints or Nones of length two, or another MessageSet, combining its argument with its instance's existing ranges.
Method test_getLast Accessing MessageSet.last returns the last value.
Method test_lastOverridesNoneInAdd Adding a None, representing *, or a sequence that includes None to a MessageSet whose last property has been set replaces all occurrences of None with the value of last.
Method test_lengthWithWildcardRange A MessageSet that has a range that ends with None raises a TypeError when its length is requested.
Method test_rangesMerged Adding a sequence of message numbers to a MessageSet that begins or ends immediately before or after an existing sequence in that MessageSet, or overlaps one, merges the two.
Method test_reprSanity MessageSet.__repr__ does not raise an exception
Method test_seq_rangeExamples Test the seq-range examples from Section 9, "Formal Syntax" of RFC 3501:
Method test_sequence_setExamples Test the sequence-set examples from Section 9, "Formal Syntax" of RFC 3501. In particular, MessageSet reorders and coalesces overlaps:
Method test_setLastSingleWildcard Setting MessageSet.last replaces None, representing *, with that number, making that MessageSet iterable.
Method test_setLastTwiceFails MessageSet.last cannot be set twice.
Method test_setLastWithWildcardRange Setting MessageSet.last replaces None in all ranges.
Method test_stringRepresentationWithInversion In a MessageSet, inverting the high and low numbers in a range doesn't affect the meaning of the range. For example, 3:2 displays just like 2:3, because according to the RFC they have the same meaning.
Method test_stringRepresentationWithWildcards In a MessageSet, in the presence of wildcards, if the highest message id is known, the wildcard should get replaced by that high value.

Inherited from SynchronousTestCase:

Method __eq__ Override the comparison defined by the base TestCase which considers instances of the same class with the same _testMethodName to be equal. Since trial puts TestCase instances into a set, that definition of comparison makes it impossible to run the same test method twice...
Method __hash__ Undocumented
Method __init__ Undocumented
Method addCleanup Add the given function to a list of functions to be called after the test has run, but before tearDown.
Method callDeprecated Call a function that should have been deprecated at a specific version and in favor of a specific alternative, and assert that it was thusly deprecated.
Method flushLoggedErrors Remove stored errors received from the log.
Method flushWarnings Remove stored warnings from the list of captured warnings and return them.
Method getDeprecatedModuleAttribute Retrieve a module attribute which should have been deprecated, and assert that we saw the appropriate deprecation warning.
Method getSkip Return the skip reason set on this test, if any is set. Checks on the instance first, then the class, then the module, then packages. As soon as it finds something with a skip attribute, returns that in a tuple (...
Method getTodo Return a Todo object if the test is marked todo. Checks on the instance first, then the class, then the module, then packages. As soon as it finds something with a todo attribute, returns that. Returns ...
Method mktemp Create a new path name which can be used for a new file or directory.
Method patch Monkey patch an object for the duration of the test.
Method run Run the test case, storing the results in result.
Method runTest If no methodName argument is passed to the constructor, run will treat this method as the thing with the actual test inside.
Method shortDescription Undocumented
Instance Variable failureException An exception class, defaulting to FailTest. If the test method raises this exception, it will be reported as a failure, rather than an exception. All of the assertion methods raise this if the assertion fails.
Instance Variable skip None or a string explaining why this test is to be skipped. If defined, the test will not be run. Instead, it will be reported to the result object as 'skipped' (if the TestResult supports skipping).
Instance Variable suppress None or a list of tuples of (args, kwargs) to be passed to warnings.filterwarnings. Use these to suppress warnings raised in a test. Useful for testing deprecated code. See also util.suppress.
Instance Variable todo None, a string or a tuple of (errors, reason) where errors is either an exception class or an iterable of exception classes, and reason is a string. See Todo or makeTodo for more information.
Method _getSkipReason Return the reason to use for skipping a test method.
Method _getSuppress Returns any warning suppressions set for this test. Checks on the instance first, then the class, then the module, then packages. As soon as it finds something with a suppress attribute, returns that. ...
Method _installObserver Undocumented
Method _removeObserver Undocumented
Method _run Run a single method, either a test method or fixture.
Method _runCleanups Synchronously run any cleanups which have been added.
Method _runFixturesAndTest Run setUp, a test method, test cleanups, and tearDown.
Instance Variable _cleanups Undocumented
Instance Variable _observer Undocumented
Instance Variable _parents Undocumented
Instance Variable _passed Undocumented
Instance Variable _testMethodName Undocumented
Instance Variable _warnings Undocumented

Inherited from _Assertions (via SynchronousTestCase):

Method assertAlmostEqual Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.
Method assertApproximates Fail if first - second > tolerance
Method assertEqual Fail the test if first and second are not equal.
Method assertFalse Fail the test if condition evaluates to True.
Method assertIn Fail the test if containee is not found in container.
Method assertIs Fail the test if first is not second. This is an obect-identity-equality test, not an object equality (i.e. __eq__) test.
Method assertIsInstance Fail if instance is not an instance of the given class or of one of the given classes.
Method assertIsNot Fail the test if first is second. This is an obect-identity-equality test, not an object equality (i.e. __eq__) test.
Method assertNoResult Assert that deferred does not have a result at this point.
Method assertNotAlmostEqual Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero.
Method assertNotEqual Fail the test if first == second.
Method assertNotIn Fail the test if containee is found in container.
Method assertNotIsInstance Fail if instance is an instance of the given class or of one of the given classes.
Method assertNotSubstring Fail if astring contains substring.
Method assertRaises Fail the test unless calling the function f with the given args and kwargs raises exception. The failure will report the traceback and call stack of the unexpected exception.
Method assertSubstring Fail if substring does not exist within astring.
Method assertTrue Fail the test if condition evaluates to False.
Method assertWarns Fail if the given function doesn't generate the specified warning when called. It calls the function, checks the warning, and forwards the result of the function if everything is fine.
Method fail Absolutely fail the test. Do not pass go, do not collect $200.
Method failureResultOf Return the current failure result of deferred or raise self.failureException.
Method successResultOf Return the current success result of deferred or raise self.failureException.
def test_contains(self): (source)

A MessageSet contains a number if the number falls within one of its ranges, and raises TypeError if any range contains None.

def test_createWithSequence(self): (source)

Creating a MessageSet with both a start and end message number adds the sequence between to the MessageSet; its serialized form consists that range, its length is the length of the sequence, and it yields the message numbers inclusively between the start and end.

def test_createWithSingleMessageNumber(self): (source)

Creating a MessageSet with a single message number adds only that message to the MessageSet; its serialized form includes only that message number, its length is one, and it yields only that message number.

def test_createWithSingleWildcard(self): (source)

Creating a MessageSet with a single None, representing *, adds * to the range; its serialized form includes only *, its length is one, but it cannot be iterated over because its endpoint is unknown.

def test_equalityIterationAndAddition(self): (source)

Test the following properties of MessageSet addition and equality:

  1. Two empty MessageSets are equal to each other;
  2. A MessageSet is not equal to any other object;
  1. Adding a MessageSet and another MessageSet or an int representing a single message or a sequence of ints representing a sequence of message numbers produces a new MessageSet that:
  2. Has a length equal to the number of messages within each sequence of message numbers;
  3. Yields each message number in ascending order when iterated over;
  1. MessageSet.add with a single message or a start and end message satisfies 3 and 4 above.
def test_extend(self): (source)

MessageSet.extend accepts as its arugment an int or None, or a sequence ints or Nones of length two, or another MessageSet, combining its argument with its instance's existing ranges.

def test_getLast(self): (source)

Accessing MessageSet.last returns the last value.

def test_lastOverridesNoneInAdd(self): (source)

Adding a None, representing *, or a sequence that includes None to a MessageSet whose last property has been set replaces all occurrences of None with the value of last.

def test_lengthWithWildcardRange(self): (source)

A MessageSet that has a range that ends with None raises a TypeError when its length is requested.

def test_rangesMerged(self): (source)

Adding a sequence of message numbers to a MessageSet that begins or ends immediately before or after an existing sequence in that MessageSet, or overlaps one, merges the two.

def test_reprSanity(self): (source)

MessageSet.__repr__ does not raise an exception

def test_seq_rangeExamples(self): (source)

Test the seq-range examples from Section 9, "Formal Syntax" of RFC 3501:

    Example: 2:4 and 4:2 are equivalent and indicate values
             2, 3, and 4.

    Example: a unique identifier sequence range of
             3291:* includes the UID of the last message in
             the mailbox, even if that value is less than 3291.
See Also
http://tools.ietf.org/html/rfc3501#section-9
def test_sequence_setExamples(self): (source)

Test the sequence-set examples from Section 9, "Formal Syntax" of RFC 3501. In particular, MessageSet reorders and coalesces overlaps:

    Example: a message sequence number set of
             2,4:7,9,12:* for a mailbox with 15 messages is
             equivalent to 2,4,5,6,7,9,12,13,14,15

    Example: a message sequence number set of *:4,5:7
             for a mailbox with 10 messages is equivalent to
             10,9,8,7,6,5,4,5,6,7 and MAY be reordered and
             overlap coalesced to be 4,5,6,7,8,9,10.
See Also
http://tools.ietf.org/html/rfc3501#section-9
def test_setLastSingleWildcard(self): (source)

Setting MessageSet.last replaces None, representing *, with that number, making that MessageSet iterable.

def test_setLastTwiceFails(self): (source)

MessageSet.last cannot be set twice.

def test_setLastWithWildcardRange(self): (source)

Setting MessageSet.last replaces None in all ranges.

def test_stringRepresentationWithInversion(self): (source)

In a MessageSet, inverting the high and low numbers in a range doesn't affect the meaning of the range. For example, 3:2 displays just like 2:3, because according to the RFC they have the same meaning.

def test_stringRepresentationWithWildcards(self): (source)

In a MessageSet, in the presence of wildcards, if the highest message id is known, the wildcard should get replaced by that high value.