# -*- coding: utf-8 -*-
require "helper"

# http://stakeholders.ofcom.org.uk/telecoms/numbering/guidance-tele-no/numbers-for-drama
#
# Geographic Area     Geographic Area Code  Telephone Number Range
# (1000 numbers in each range)
# Leeds               0113                  496 0000 to 496 0999
# Sheffield           0114                  496 0000 to 496 0999
# Nottingham          0115                  496 0000 to 496 0999
# Leicester           0116                  496 0000 to 496 0999
# Bristol             0117                  496 0000 to 496 0999
# Reading             0118                  496 0000 to 496 0999
# Birmingham          0121                  496 0000 to 496 0999
# Edinburgh           0131                  496 0000 to 496 0999
# Glasgow             0141                  496 0000 to 496 0999
# Liverpool           0151                  496 0000 to 496 0999
# Manchester          0161                  496 0000 to 496 0999
# London              020                   7946 0000 to 7946 0999
# Tyneside/Durham
#/Sunderland          0191                  498 0000 to 498 0999
# Northern Ireland    028                   9018 0000 to 9018 0999
# Cardiff             029                   2018 0000 to 2018 0999
# No area             01632                 960000 to 960999
#
# Other Telephone Numbers
#
# Telephone Number Type   Telephone Number Range
# (1000 numbers in each range)
# Mobile                  07700 900000 to 900999
# Freephone               08081 570000 to 570999
# Premium Rate Services   0909 8790000 to 8790999
# UK Wide                 03069 990000 to 990999

class GBTest < Minitest::Test

  ## SHORT CODES
  # London              020                   7946 0000 to 7946 0999
  def test_london
    parse_test('+44 20 7946 0123', '44', '20', '79460123')
  end

  # Northern Ireland    028                   9018 0000 to 9018 0999
  def test_northern_ireland
    parse_test('+44 28 9018 0123', '44', '28', '90180123')
  end

  # Cardiff             029                   2018 0000 to 2018 0999
  def test_cardiff
    parse_test('+44 29 2018 0123', '44', '29', '20180123')
  end

  # Leeds               0113                  496 0000 to 496 0999
  def test_leeds
    parse_test('+44 113 496 0123', '44', '113', '4960123')
  end

  # Sheffield           0114                  496 0000 to 496 0999
  def test_sheffield
    parse_test('+44 114 496 0123', '44', '114', '4960123')
  end

  # Nottingham          0115                  496 0000 to 496 0999
  def test_nottingham
    parse_test('+44 115 496 0123', '44', '115', '4960123')
  end

  # Leicester           0116                  496 0000 to 496 0999
  def test_leicester
    parse_test('+44 116 496 0123', '44', '116', '4960123')
  end

  # Bristol             0117                  496 0000 to 496 0999
  def test_bristol
    parse_test('+44 117 496 0123', '44', '117', '4960123')
  end

  # Reading             0118                  496 0000 to 496 0999
  def test_reading
    parse_test('+44 118 496 0123', '44', '118', '4960123')
  end

  # Birmingham          0121                  496 0000 to 496 0999
  def test_birmingham
    parse_test('+44 121 496 0123', '44', '121', '4960123')
  end

  # Edinburgh           0131                  496 0000 to 496 0999
  def test_edinburgh
    parse_test('+44 131 496 0123', '44', '131', '4960123')
  end

  # Glasgow             0141                  496 0000 to 496 0999
  def test_glasgow
    parse_test('+44 141 496 0123', '44', '141', '4960123')
  end

  # Liverpool           0151                  496 0000 to 496 0999
  def test_liverpool
    parse_test('+44 151 496 0123', '44', '151', '4960123')
  end

  # Manchester          0161                  496 0000 to 496 0999
  def test_manchester
    parse_test('+44 161 496 0123', '44', '161', '4960123')
  end

  # Tyneside/Durham
  #/Sunderland          0191                  498 0000 to 498 0999
  def test_tyneside
    parse_test('+44 191 496 0123', '44', '191', '4960123')
  end

  ## LONG CODES

  # 01202 — Bournemouth (BO)
  def test_bournemouth
    parse_test('+44 1202 96 0123', '44', '1202', '960123')
  end

  # 01326 — Falmouth (FA)
  def test_falmouth
    parse_test('+44 1326 96 0123', '44', '1326', '960123')
  end

  # 01420 — Alton (HA)
  def test_alton
    parse_test('+44 1420 96 0123', '44', '1420', '960123')
  end

  # 01598 — Lynton (LY)
  def test_lynton
    parse_test('+44 1598 96 0123', '44', '1598', '960123')
  end

  # 01637 — Newquay (NE)
  def test_newquay
    parse_test('+44 1637 96 0123', '44', '1637', '960123')
  end

  # 01700 — Rothesay (RO)
  def test_rothesay
    parse_test('+44 1700 96 0123', '44', '1700', '960123')
  end

  # 01951 — Colonsay
  def test_colonsay
    parse_test('+44 1951 96 0123', '44', '1951', '960123')
  end

  # No area             01632                 960000 to 960999
  def test_no_area
    parse_test('+44 1632 96 0123', '44', '1632', '960123')
  end

  # Personal numbering  070 xxxx xxxx
  def test_personal_numbering
    parse_test('+44 70 00001234', '44', '70', '00001234')
  end

  # Mobile                  07700 900000 to 900999
  def test_mobile
    parse_test('+44 7700 900345', '44', '7700', '900345')
  end

  def test_mobile_2
    parse_test('+44 7778 900345', '44', '7778', '900345')
  end

  # Freephone               08081 570000 to 570999
  def test_freephone
    parse_test('+44 808 1570123', '44', '808', '1570123')
  end

  def test_freephone_2
    parse_test('+44 873 1570123', '44', '873', '1570123')
  end

  # Premium Rate Services   0909 8790000 to 8790999
  def test_premium
    parse_test('+44 909 8790999', '44', '909', '8790999')
  end

  def test_premium2
    parse_test('+44 910 8790123', '44', '910', '8790123')
  end

  # UK Wide                 03069 990000 to 990999
  def test_wide
    parse_test('+44 306 9990123', '44', '306', '9990123')
  end

  def test_wide_2
    parse_test('+44 339 9990123', '44', '339', '9990123')
  end

end
