#! /usr/bin/perl
use strict;
use IO::Socket;

my $prfx = "" ;
my $server_port = 30363 ;
if ( $#ARGV >= 0) {
    $prfx = "$ARGV[0]  " ;
}
if ( $#ARGV >= 1) {
    $server_port = $ARGV[1] ;
}

my $max_line = 256 ;
my $host = "candler.cs.unca.edu" ;
my $sock = IO::Socket::INET->new(PeerAddr => $host,
				 PeerPort => $server_port,
				 Proto => 'tcp') ;
die "Unable to connect: $!" unless $sock ;
print "${prfx}Testing bad input\n" ;

my $line = <$sock> ;
print "${prfx}Opening line:  ${line}" ;

if ($line eq "Choose a number from 1000 to 9999\r\n") {
##  print "Opening line matches\n" ;
} elsif ($line eq "Choose a number from 1000 to 9999\n") {
    print "${prfx}Opening line missing \\r\n" ;
} else {
    print "${prfx}Opening line does not match\n" ;
}

print "${prfx}Sending bad input\n" ;
print $sock "UGH\r\n" ;

$line = <$sock> ;
print "${prfx}Response:  ${line}" ;
if ($line eq "I said a number from 1000 to 9999. Goodbye.\r\n") {
    print "${prfx}Response line OK\n" ;
    exit(0) ;
} elsif ($line eq "I said a number from 1000 to 9999. Goodbye.\n") {
    print "${prfx}Response missing \\r\n" ;
    exit(1) ;
} else {
    print "${prfx}Improper response\n" ;
    exit(1) ;
}
