From d66a05e09bab20a15ae896aca84496d39900afd4 Mon Sep 17 00:00:00 2001 From: Nikola Radovanovic Date: Thu, 25 Jun 2020 15:25:44 +0200 Subject: [PATCH] * SimpleSequenceGenerator accepts starting sequence when object is created.Test file also created Signed-off-by: Nikola Radovanovic --- smpplib/client.py | 7 +++++-- tests/test_sequence_generator.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 tests/test_sequence_generator.py diff --git a/smpplib/client.py b/smpplib/client.py index de3f6f9..71fa1d0 100644 --- a/smpplib/client.py +++ b/smpplib/client.py @@ -37,8 +37,11 @@ class SimpleSequenceGenerator(object): MIN_SEQUENCE = 0x00000001 MAX_SEQUENCE = 0x7FFFFFFF - def __init__(self): - self._sequence = self.MIN_SEQUENCE + def __init__(self, starting_sequence=MIN_SEQUENCE): + if starting_sequence < self.MIN_SEQUENCE or starting_sequence > self.MAX_SEQUENCE: + starting_sequence = self.MIN_SEQUENCE + + self._sequence = starting_sequence @property def sequence(self): diff --git a/tests/test_sequence_generator.py b/tests/test_sequence_generator.py new file mode 100644 index 0000000..fe7f118 --- /dev/null +++ b/tests/test_sequence_generator.py @@ -0,0 +1,28 @@ +# -*- coding: utf8 -*- + +import mock +from pytest import mark, raises +import random + +from smpplib.client import SimpleSequenceGenerator + +MIN_SEQUENCE = 0x00000001 +MAX_SEQUENCE = 0x7FFFFFFF + + +def test_creation(): + seq_generator = SimpleSequenceGenerator() + assert MIN_SEQUENCE == seq_generator.sequence + + starting_sequence = random.randint(MIN_SEQUENCE + 1, MIN_SEQUENCE + 101) + seq_generator = SimpleSequenceGenerator(starting_sequence) + assert starting_sequence == seq_generator.sequence + + seq_generator = SimpleSequenceGenerator(MAX_SEQUENCE) + assert MAX_SEQUENCE == seq_generator.sequence + + seq_generator = SimpleSequenceGenerator(MIN_SEQUENCE-1) + assert MIN_SEQUENCE == seq_generator.sequence + + seq_generator = SimpleSequenceGenerator(MAX_SEQUENCE+1) + assert MIN_SEQUENCE == seq_generator.sequence \ No newline at end of file