I decided the Test::MockObect route was the easier way to go (I couldn't get Test::Expect and its dependencies to complile on my Windows system, and jcwren's system already had T::MO installed)
That said, I implemented the Games::QuizTaker:IO module and inserted it into the test section, so that it looks like the following:
print"Question Number $question_number\n";
foreach $line(@{$$questions{$key}}){
Games::QuizTaker::IO->out(wrap ("","","$line\n"));
}
print"Your Answer: ";
$answer=Games::QuizTaker::IO->in;
chomp($answer);
Well, the in method works fine, the out method has a slight problem. When I run a simple test script inside my development folder, this is what I get for output:
Question Number 1
Games::QuizTaker::IOWhat popular operating system was created by a Fin
+nish computer science
student name Linus Torvalds?
Games::QuizTaker::IOA. Unix
Games::QuizTaker::IOB. Minux
Games::QuizTaker::IOC. Linux
Games::QuizTaker::IOD. Windows
Your Answer:
Any suggestions?
UPDATE:
I figured it out. I changed the call from Games::QuizTaker::IO->out to Games::QuizTaker::IO::out. That got rid of the module name in front of the answers. Now to get the test working :-)
TStanley
--------
People sleep peaceably in their beds at night only because rough men stand ready to do violence on their behalf. -- George Orwell
|