require 'spec_helper'

describe Fias::Name::HouseNumber do
  {
    '14'                            => ['14', nil],
    'мкр. 14'                       => ['мкр. 14', nil],
    'лин. 5'                        => ['лин. 5', nil],
    'линия 14'                      => ['линия 14', nil],
    '2 мкр'                         => ['2 мкр', nil],
    '2-я советская'                 => ['2-я советская', nil],
    '50 лет октября'                => ['50 лет октября', nil],
    'советская 2-я'                 => ['советская 2-я', nil],
    'Советской Армии ул,238а'       => ['Советской Армии ул', '238а'],
    'Советской Армии ул,181,корп.в' => ['Советской Армии ул', '181,корп.в'],
    'пр.Энергетиков, 72/2'          => ['пр.Энергетиков', '72/2'],
    'Засечное с, 34'                => ['Засечное с', '34'],
    'Ново-Садовая ул,303а'          => ['Ново-Садовая ул', '303а'],
    'ЖК Бутово Парк-2, корп. 11'    => ['ЖК Бутово Парк-2', 'корп. 11'],
    'Вербицкого 25'                 => %w(Вербицкого 25),
    'Новоколомяжский 11к1'          => %w(Новоколомяжский 11к1),
    'пр.Энергетиков 72/2'           => ['пр.Энергетиков', '72/2'],
    '2-я линия В.О. 12'             => ['2-я линия В.О.', '12'],
    'Шуваловский пр.88к1'           => ['Шуваловский пр.', '88к1'],
    'Мкр. Северное Чертан, вл.1А'   => ['Мкр. Северное Чертан', 'вл.1А'],
    'Московское ш,43  а,корп.стр.'  => ['Московское ш', '43  а,корп.стр.'],
    'Заводская ул 35-А'             => ['Заводская ул 35-А', nil],
    'ул 1905 года 28'               => ['ул 1905 года', '28'],
    'Новослободская 29 корп 3'      => ['Новослободская', '29 корп 3'],
    'Александрова д 29'             => %w(Александрова 29),
    'Николаева дом 29'              => %w(Николаева 29),
    'Невский д. 29'                 => %w(Невский 29),
    'ул 1905 года'                  => ['ул 1905 года', nil],
    'Малая Морская ом. 29'          => ['Малая Морская', '29'],
    '26 линия В.О. д.15 к.A'        => ['26 линия В.О.', '15 к.A'],
    'Дунайский пр.'                 => ['Дунайский пр.', nil],
    'Пионерстроя ул. 14 к 1'        => ['Пионерстроя ул.', '14 к 1']
  }.each do |street, extracted|
    it "Must extract house_number from #{street}" do
      expect(described_class.extract(street)).to eq(extracted)
    end
  end
end
