"""Tests for common formatters.""" import pytest from switchboard_consumer.formatters.common import (format_cline, format_pline) @pytest.mark.parametrize('test_input,expected', [ (None, ''), ({'cLineText': '(C) Rubbish'}, 'Rubbish'), ({'cLineText': '(c) Rubbish'}, 'Rubbish'), ({'cLineText': '© Rubbish'}, 'Rubbish'), ({'cLineText': ' (C) Rubbish'}, 'Rubbish'), ({'cLineText': ' (c) Rubbish'}, 'Rubbish'), ({'cLineText': ' © Rubbish'}, 'Rubbish'), ({'cLineText': '(P) Rubbish'}, 'Rubbish'), ({'cLineText': '(p) Rubbish'}, 'Rubbish'), ({'cLineText': '℗ Rubbish'}, 'Rubbish'), ({'cLineText': ' (P) Rubbish'}, 'Rubbish'), ({'cLineText': ' (p) Rubbish'}, 'Rubbish'), ({'cLineText': ' ℗ Rubbish'}, 'Rubbish'), ({'cLineText': None}, ''), ]) def test_cline_formatter(test_input, expected): """Test cLine formatter.""" output = format_cline(test_input) assert output == expected @pytest.mark.parametrize('test_input,expected', [ (None, ''), ({'pLineText': '(P) Rubbish'}, 'Rubbish'), ({'pLineText': '(p) Rubbish'}, 'Rubbish'), ({'pLineText': '℗ Rubbish'}, 'Rubbish'), ({'pLineText': ' (P) Rubbish'}, 'Rubbish'), ({'pLineText': ' (p) Rubbish'}, 'Rubbish'), ({'pLineText': ' ℗ Rubbish'}, 'Rubbish'), ({'pLineText': None}, ''), ({'pLineText': '(C) Rubbish'}, 'Rubbish'), ({'pLineText': '(c) Rubbish'}, 'Rubbish'), ({'pLineText': '© Rubbish'}, 'Rubbish'), ({'pLineText': ' (C) Rubbish'}, 'Rubbish'), ({'pLineText': ' (c) Rubbish'}, 'Rubbish'), ({'pLineText': ' © Rubbish'}, 'Rubbish'), ]) def test_pline_formatter(test_input, expected): """Test pLine formatter.""" output = format_pline(test_input) assert output == expected