Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions smpplib/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
28 changes: 28 additions & 0 deletions tests/test_sequence_generator.py
Original file line number Diff line number Diff line change
@@ -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