Skip to content

Commit

Permalink
Merge branch 'release/1.1.0' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
andylaw committed Feb 21, 2021
2 parents 0401856 + f89ae72 commit 324b930
Show file tree
Hide file tree
Showing 6 changed files with 108 additions and 37 deletions.
26 changes: 24 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,29 @@ python:

install:
- pip install pipenv
- pip install pytest
- pip install pytest-cov
- pip install codecov

script: pytest
script:
pytest --cov=nhs_number --cov-report=term -v

after_success:
codecov

deploy:
- provider: pypi
user: $TEST_PYPI_USER
password: $TEST_PYPI_PASS
server: https://test.pypi.org/legacy/
distributions: "sdist bdist_wheel"
on:
branch: staging
condition: $TRAVIS_PYTHON_VERSION = "3.6"
#
- provider: pypi
user: $PYPI_USER
password: $PYPI_PASS
distributions: "sdist bdist_wheel"
on:
branch: main
condition: $TRAVIS_PYTHON_VERSION = "3.6"
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,32 @@
# NhsNumberChecks
Package to provide utilities to check NHS Numbers for validity
<table>
<tr>
<td>License</td>
<td><img src="https://img.shields.io/pypi/l/nhs-number" alt="Licence type badge"></td>
<td>Version</td>
<td><img src="https://img.shields.io/pypi/v/nhs-number" alt="Version badge"></td>
</tr>
<tr>
<td>Travis CI</td>
<td><img src='https://www.travis-ci.com/andylaw/NhsNumberChecks.svg?branch=main'></td>
<td>Coverage</td>
<td><img src='https://codecov.io/gh/andylaw/NhsNumberChecks/branch/main/graph/badge.svg'></td>
</tr>
<tr>
<td>Wheel</td>
<td><img src='https://img.shields.io/pypi/wheel/nhs-number'></td>
<td>Implementation</td>
<td><img src='https://img.shields.io/pypi/implementation/nhs-number'></td>
</tr>
<tr>
<td>Status</td>
<td><img src='https://img.shields.io/pypi/status/nhs-number'></td>
<td>Downloads</td>
<td><img src='https://img.shields.io/pypi/dm/nhs-number'></td>
</tr>
<tr>
<td>Supported versions</td>
<td><img src='https://img.shields.io/pypi/pyversions/nhs-number.svg'></td>
</tr>
</table>
2 changes: 1 addition & 1 deletion nhs_number/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"""
# License: MIT (http://www.opensource.org/licenses/mit-license.php)

__version__ = '1.0.0'
__version__ = '1.1.1'
__author__ = "Andy Law <andy.law@roslin.ed.ac.uk>"

import re
Expand Down
6 changes: 3 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from setuptools import setup

VERSION = '1.0.0'
VERSION = '1.1.1'

setup(
name='nhs_number',
Expand All @@ -15,12 +15,12 @@
long_description=open('README.md').read(),
long_description_content_type='text/markdown',
classifiers=[
'Development Status :: 4 - Beta',
'Development Status :: 5 - Production/Stable',
'License :: OSI Approved :: MIT License',
'Topic :: Office/Business :: Financial',
'Topic :: Scientific/Engineering :: Mathematics',
'Topic :: Software Development :: Libraries :: Python Modules',
'Intended Audience:: Developers',
'Intended Audience :: Developers',
'Intended Audience :: Healthcare Industry',
'Intended Audience :: Science/Research',
'Topic :: Scientific/Engineering :: Medical Science Apps.',
Expand Down
2 changes: 1 addition & 1 deletion tests/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))

import nhs_number
import nhs_number
79 changes: 49 additions & 30 deletions tests/test___init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,76 +15,95 @@ def test_is_valid_good_one_pad_right(self):
self.assertTrue(is_valid('9876543210 '))

def test_is_valid_format_basic(self):
input = '0123456789'
num_string = '0123456789'
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_basic_pad_right(self):
input = '0123456789 '
num_string = '0123456789 '
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_basic_pad_left(self):
input = ' 0123456789'
num_string = ' 0123456789'
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_basic_pad_both(self):
input = ' 0123456789 '
num_string = ' 0123456789 '
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_internal(self):
input = '012 345 6789'
num_string = '012 345 6789'
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_internal_pad_right(self):
input = '012 345 6789 '
num_string = '012 345 6789 '
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_internal_pad_left(self):
input = ' 012 345 6789'
num_string = ' 012 345 6789'
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_internal_pad_both(self):
input = ' 012 345 6789 '
num_string = ' 012 345 6789 '
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_invalid_format_internal(self):
input = '01 2345 6789'
num_string = '01 2345 6789'
expected = ''
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_hyphen(self):
input = '012-345-6789'
num_string = '012-345-6789'
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_hyphen_pad_right(self):
input = '012-345-6789 '
num_string = '012-345-6789 '
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_hyphen_pad_left(self):
input = ' 012-345-6789'
num_string = ' 012-345-6789'
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_valid_format_hyphen_pad_both(self):
input = ' 012-345-6789 '
num_string = ' 012-345-6789 '
expected = '0123456789'
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_invalid_format_hyphen(self):
input = '01-2345-6789'
num_string = '01-2345-6789'
expected = ''
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_invalid_format_mixed(self):
input = '012 345-6789'
num_string = '012 345-6789'
expected = ''
self.assertEqual(expected, normalise_number(input))
self.assertEqual(expected, normalise_number(num_string))

def test_is_invalid_format_short(self):
num_string = '012345678'
expected = ''
self.assertEqual(expected, normalise_number(num_string))

def test_is_invalid_format_long(self):
num_string = '01234567890'
expected = ''
self.assertEqual(expected, normalise_number(num_string))

def test_is_invalid_format_letters(self):
num_string = 'ABCDEFGHIJ'
expected = ''
self.assertEqual(expected, normalise_number(num_string))

def test_is_invalid_wrong_format(self):
num_string = '123 456 789'
self.assertFalse(is_valid(num_string))

0 comments on commit 324b930

Please sign in to comment.