public void DetailsTestValid() { DateTime DOB = new DateTime(1954, 08, 20); DateTime DOH = new DateTime(1994, 09, 03); DateTime DOT = new DateTime(2014, 12, 23); FulltimeEmployee employee = new FulltimeEmployee("Brandon", "Davies", 123456789, DOB, DOH, DOT, 230000); String details = employee.Details(); Assert.IsTrue(details == "Employee Type: FullTime\nName: Brandon Davies\nSocial Insurance Number: 123 456 789\nDate of Birth: 1954-08-20\nDate of Hire: 1994-09-03\nDate of Termination: 2014-12-23\nSalary: 230000"); }
/** * @fn private bool ModifyFulltimeEmployee(ModifyFulltimeEmployee employee, string returnMessage) * * @brief allows user to modify this employee using the command line. * * @param ModifyFulltimeEmployee The employee to modify. * @param returnMessage message displayed to the user as the option to return from this method. * * @return whether the user canceled. */ private bool ModifyFulltimeEmployee(FulltimeEmployee employee, string returnMessage) { bool done = false; bool isCanceled = false; //loop until user goes back do { Console.Clear(); Console.WriteLine(employee.Details()); Console.WriteLine("1. Change First Name(A-Z, a-z, ', -)"); Console.WriteLine("2. Change Last Name(A-Z, a-z, ', -)"); Console.WriteLine("3. Change Date of birth(yyyy-mm-dd)"); Console.WriteLine("4. Change Social insurance number"); Console.WriteLine("5. Change Date of hire(yyyy-mm-dd)"); Console.WriteLine("6. Change Date of termination(yyyy-mm-dd)"); Console.WriteLine("7. Change Salary"); Console.WriteLine("8. Cancel"); Console.WriteLine("9. " + returnMessage); //get user input until valid bool valid; do { valid = true; string input = Console.ReadLine(); switch(input) { case "1": Console.Write("Enter a new first name:"); while(employee.SetFirstName(Console.ReadLine()) == false) { Console.Write("Invalid name, Enter a new first name:"); } break; case "2": Console.Write("Enter a new last name:"); while(employee.SetLastName(Console.ReadLine()) == false) { Console.Write("Invalid name, Enter a new last name:"); } break; case "3": bool dateOfBirthDone = false; while (!dateOfBirthDone) { Console.Write("Enter a new date of birth:"); try { while (employee.SetDateofBirth(DateTime.ParseExact(Console.ReadLine(), "yyyy-MM-dd", CultureInfo.InvariantCulture)) == false) { Console.Write("Invalid date, Enter a new date of birth:"); } dateOfBirthDone = true; } catch (FormatException ex) { Console.WriteLine("Invalid date, Format: yyyy-mm-dd"); dateOfBirthDone = false; } } break; case "4": Console.Write("Enter a new social insurance number:"); while (employee.SetSocialInsuranceNumber(Console.ReadLine()) == false) { Console.Write("Invalid number, Enter a new social insurance number:"); } break; case "5": bool dateOfHireDone = false; while (!dateOfHireDone) { Console.Write("Enter a new date of hire:"); try { while (employee.SetDateOfHire(DateTime.ParseExact(Console.ReadLine(), "yyyy-MM-dd", CultureInfo.InvariantCulture)) == false) { Console.Write("Invalid date, Enter a new date of hire:"); } dateOfHireDone = true; } catch (FormatException ex) { Console.WriteLine("Invalid date, Format: yyyy-mm-dd"); dateOfHireDone = false; } } break; case "6": bool dateOfTerminationDone = false; while (!dateOfTerminationDone) { Console.Write("Enter a new date of termination:"); try { while (employee.SetDateOfTermination(DateTime.ParseExact(Console.ReadLine(), "yyyy-MM-dd", CultureInfo.InvariantCulture)) == false) { Console.Write("Invalid date, Enter a new date of termination:"); } dateOfTerminationDone = true; } catch (FormatException ex){ Console.WriteLine("Invalid date, Format: yyyy-mm-dd"); dateOfTerminationDone = false; } } break; case "7": bool salaryDone = false; while (!salaryDone) { Console.Write("Enter a new salary:"); try { while (employee.SetSalary(decimal.Parse(Console.ReadLine())) == false) { Console.Write("Invalid pay, Enter a new salary:"); } salaryDone = true; } catch (FormatException ex) { Console.WriteLine("Salary must be a number"); salaryDone = false; } } break; case "8": done = true;//end isCanceled = true; break; case "9": done = true;//end isCanceled = false; break; default: Console.WriteLine("Invalid input, please enter number corrispoding to a menu option:"); valid = false; break; } } while(!valid); } while(!done); return isCanceled; }