package Test::Fehler;
use utf8;
use warnings;
use strict;
use warnings;

BEGIN {
    unshift( @INC, ( $ENV{'POPHOME'} || '@POPHOME@' ) . '/lib' )
      unless $ENV{'KUNDE_NO_PERLPATH'};
}

BEGIN { $ENV{'DbLocalCf'} = 1; }
use Dbase::Test;
use Fehler qw(probleme);
use Test::More tests => 28;

$| = 1;

use Loader qw(check_rufnummer check_rufnummern);

my $num = 0;
is(probleme { $num++; 1; }, 0,"keine Probleme am Anfang");

is check_rufnummer('0911 26 43 54'), undef,
  'Rufnummer "0911 26 43 54"';
is check_rufnummer('0911 / 26 43 54'), '+49 911 264354',
  'Rufnummer "0911 / 26 43 54"';
is check_rufnummer('0049 911 / 26 43 54'), '+49 911 264354',
  'Rufnummer "0049 911 / 26 43 54"';

is check_rufnummer('+49 911 26 43 54'), undef,
  'Rufnummer "+49 911 26 43 54"';
is check_rufnummer('+49 911 / 26 43 54'), undef,
  'Rufnummer "+49 911 / 26 43 54"';
is check_rufnummer('+49 911 / 26 43-54'), undef,
  'Rufnummer "+49 911 / 26 43-54"';

is check_rufnummer('++49 911 26 43 54'), undef,
  'Rufnummer "++49 911 26 43 54"';
is check_rufnummer('++49 911 / 26 43 54'), undef,
  'Rufnummer "++49 911 / 26 43 54"';
is check_rufnummer('++49 911 / 26 43-54'), undef,
  'Rufnummer "++49 911 / 26 43-54"';

is check_rufnummer('0049 911 26 43 54'), undef,
  'Rufnummer "0049 911 26 43 54"';
is check_rufnummer('0049    /  911 / 26 43 54'), '+49 911 264354',
  'Rufnummer "0049    /  911 / 26 43 54"';
is check_rufnummer('0049 911 / 26 43-54'), '+49 911 2643 54',
  'Rufnummer "0049 911 / 26 43-54"';

is check_rufnummer('0049 911/26 43 54'), '+49 911 264354',
  'Rufnummer "0049 911/26 43 54"';
is check_rufnummer('0049 911/26 43 - 54'), '+49 911 2643 54',
  'Rufnummer "0049 911/26 43 - 54"';

is check_rufnummer('0911 / 26 43--54'), '+49 911 2643 54',
  'Rufnummer "0911 / 26 43--54"';

is check_rufnummer('0800/1234-3432'), '+49 800 1234 3432',
  'Rufnummer "0800/1234-3432"';

is check_rufnummer('+49 911 - 26 43a 54'), undef,
  'Rufnummer "+49 911 - 26 43a 54"';

is check_rufnummer('+49 0911 264 354'), undef,
  'Rufnummer "+49 0911 264 354"';

is check_rufnummern('+49 911 264354|+49 911 264354|+49 911 264354'), '+49 911 264354|+49 911 264354|+49 911 264354',
  'Rufnummern "+49 911 264354|+49 911 264354|+49 911 264354"';

is(probleme { $num++; 1; }, 0,"keine Probleme am Anfang");

is check_rufnummern('+49 911/264354|+49 911 2643-54|+49 911 264354'), undef,
  'Rufnummern "+49 911 264354|+49 911 264354|+49 911 264354"';

is(probleme { $num++; 1; }, 1,"Ein Problem nach Check");

is check_rufnummern('+49 911 264354|<+49 911 2643 54|+49 911 264354', qr/[<>]/), '+49 911 264354|<+49 911 2643 54|+49 911 264354',
  'ISDN Rufnummern "+49 911 264354|<+49 911 264354|+49 911 264354"';

is(probleme { $num++; 1; }, 0,"Keine Probleme danach");

is check_rufnummern('<+49 911/264354|<+49 911 2643-54|>+49 911 264354', qr/[<>]/), undef,
  'ISDN Rufnummern "<+49 911 264354|<+49 911 264354|>+49 911 264354"';

is(probleme { $num++; 1; }, 1,"Ein Problem nach Check");

is($num,2,"insgesamt zwei Probleme");

