// myStrTokTest.cc
// P. Conrad for CISC220, 06J    

// illustrate testing myStrTok


#include "myStrTok.h"
#include <iostream>
using std::cout;
using std::cerr;
using std::endl;

#include "runTests.h"

int main(void)
{

  RunTests_C test;
    
  char testString1[] =
    "I Robot,2004,Will Smith,120000000,144795350";
  
  const char * const testResults1[] =
  {
    "I Robot", // name of film
    "2004",      // year released
    "Will Smith",  // lead actor/actress
    "120000000",   // budget
    "144795350"    // latest US box office gross
  };
  
  const char * const result1FilmName 
    = myStrTok(testString1,',');
  const char * const result1YearReleased 
    = myStrTok(NULL,',');
  const char * const result1LeadActor
    = myStrTok(NULL,',');
  const char * const result1Budget
    = myStrTok(NULL,',');
  const char * const result1LatestBoxOfficeGross 
    = myStrTok(NULL,',');

  test.assertEquals(result1FilmName,testResults1[0]);
  test.assertEquals(result1YearReleased,testResults1[1]);
  test.assertEquals(result1LeadActor,testResults1[2]);
  test.assertEquals(result1Budget,testResults1[3]);
  test.assertEquals(result1LatestBoxOfficeGross,testResults1[4]);

 
  char testString2[] = 
    "Will Smith,Willard Christopher Smith Jr.,09/25/1968,Philadelphia PA";
  

  const char * const testResults2[] =
  {
    "Will Smith", 
    "Willard Christopher Smith Jr.",      // birth name
    "09/25/1968",  // date of birth
    "Philadelphia PA"   // place of birth
  };
  
  const char * const result2ActorName 
    = myStrTok(testString2,',');
  const char * const result2BirthName 
    = myStrTok(NULL,',');
  const char * const result2DateOfBirth
    = myStrTok(NULL,',');
  const char * const result2PlaceOfBirth
    = myStrTok(NULL,',');

  test.assertEquals(result2ActorName,testResults2[0]);
  test.assertEquals(result2BirthName,testResults2[1]);
  test.assertEquals(result2DateOfBirth,testResults2[2]);
  test.assertEquals(result2PlaceOfBirth,testResults2[3]);

  test.print(cerr);
  test.finish();
}


