static pwdCheck[] Initialize_pwd_check_object_array(Random rand) { Console.WriteLine(ASTERISK + " Initializing Heterogeneous Collection of Objects " + ASTERISK); Console.WriteLine(); const int MAX_STATE_CHANGES = 10; pwdCheck[] initializer_array = new pwdCheck[TEST_OBJ_ARRAY_SIZE]; uint random_password_length; int random_valid_ascii_index; uint max_state_changes; for (uint i = 0; i < TEST_OBJ_ARRAY_SIZE; i++) { random_password_length = (uint)rand.Next(0, RANDOM_PASSWORD_LENGTH); random_valid_ascii_index = rand.Next(0, POSSIBLE_ASCII.Length); max_state_changes = (uint)rand.Next(0, MAX_STATE_CHANGES); if (i < TEST_OBJ_ARRAY_SIZE / 3) { initializer_array[i] = new pwdCheck(random_password_length, POSSIBLE_ASCII[random_valid_ascii_index]); Console.WriteLine("Object " + i + " is a pwdCheck object."); } else if ((TEST_OBJ_ARRAY_SIZE / 3) <= i && TEST_OBJ_ARRAY_SIZE - (TEST_OBJ_ARRAY_SIZE / 3) > i) { initializer_array[i] = new excessC(random_password_length, POSSIBLE_ASCII[random_valid_ascii_index]); Console.WriteLine("Object " + i + " is an excessC object."); } else { initializer_array[i] = new compundC(max_state_changes, random_password_length, POSSIBLE_ASCII[random_valid_ascii_index]); Console.WriteLine("Object " + i + " is a compundC object."); } Console.WriteLine("Object " + i + " took in a password of length: " + random_password_length); Console.WriteLine("After construction, object " + i + " has a password length requirement of: " + initializer_array[i].Minimum_Password_Length); Console.WriteLine("Object " + i + " has a forbidden character: " + POSSIBLE_ASCII[random_valid_ascii_index]); Console.WriteLine(); } return(initializer_array); }
static void Test_Default_Constructor_Parameters(Random rand, pwdCheck[] pwd_check_object_array) { Console.WriteLine(ASTERISK + " Testing the cases when the client enters a value outside " + ASTERISK); Console.WriteLine(ASTERISK + " of 4-20 characters and the no argument constructor " + ASTERISK); Console.WriteLine(); const uint TEST_DEF_CONSTR_AMOUNT = 2; const int MAX_STATE_TOGGLE_LENGTH = 15; uint random_password_length; int random_valid_ascii_index; uint random_toggle_max_length; for (uint i = 0; i < TEST_DEF_CONSTR_AMOUNT; i++) { random_password_length = (uint)rand.Next(MAX_PWD_LENGTH_REQUIRMENT, MAX_PWD_LENGTH_REQUIRMENT * 2); random_valid_ascii_index = rand.Next(0, POSSIBLE_ASCII.Length); random_toggle_max_length = (uint)rand.Next(MAX_STATE_TOGGLE_LENGTH, MAX_STATE_TOGGLE_LENGTH * 2); if (i == 0) { pwd_check_object_array[i] = new pwdCheck(random_password_length, POSSIBLE_ASCII[random_valid_ascii_index]); Console.WriteLine("For exceeding the bounds of 4-20 characters\nThe length of the password" + " entered into object " + i + " is: " + random_password_length); Console.WriteLine("Forbidden character entered into object " + i + " is: " + POSSIBLE_ASCII[random_valid_ascii_index]); Console.WriteLine("The minimum length of the password of object " + i + " after construction is: " + pwd_check_object_array[i].Minimum_Password_Length); Console.WriteLine(); } else { pwd_check_object_array[0] = new pwdCheck(); Console.WriteLine("No parameters were entered into object " + 0 + " constructor and the minimum length set " + "by default is: " + pwd_check_object_array[0].Minimum_Password_Length); Console.WriteLine("Forbidden character by default in object " + 0 + " is a space"); Console.WriteLine(); } } for (uint i = 0; i < TEST_DEF_CONSTR_AMOUNT; i++) { random_password_length = (uint)rand.Next(MAX_PWD_LENGTH_REQUIRMENT, MAX_PWD_LENGTH_REQUIRMENT * 2); random_valid_ascii_index = rand.Next(0, POSSIBLE_ASCII.Length); random_toggle_max_length = (uint)rand.Next(MAX_STATE_TOGGLE_LENGTH, MAX_STATE_TOGGLE_LENGTH * 2); if (i == 0) { pwd_check_object_array[COMPUND_TEST_OBJ] = new compundC(random_toggle_max_length, random_password_length, POSSIBLE_ASCII[random_valid_ascii_index]); compundC obj6 = (compundC)pwd_check_object_array[COMPUND_TEST_OBJ]; Console.WriteLine("For exceeding the bounds of 4-20 characters\nThe length of the password" + " entered into object " + COMPUND_TEST_OBJ + " is: " + random_password_length); Console.WriteLine("Forbidden character entered into object " + COMPUND_TEST_OBJ + " is: " + POSSIBLE_ASCII[random_valid_ascii_index]); Console.WriteLine("The object toggle amount entered is : " + random_toggle_max_length); Console.WriteLine("The minimum length of the password of object " + COMPUND_TEST_OBJ + " after construction is: " + pwd_check_object_array[COMPUND_TEST_OBJ].Minimum_Password_Length); Console.WriteLine("The amount the object can be toggled after construction is: " + obj6.State_Change_Limit); Console.WriteLine(); } else { pwd_check_object_array[COMPUND_TEST_OBJ] = new compundC(); compundC obj6 = (compundC)pwd_check_object_array[COMPUND_TEST_OBJ]; Console.WriteLine("No parameters will be entered into compundC test object (obj # 3)"); Console.WriteLine("The minimum length of the password obj " + COMPUND_TEST_OBJ + " will accept is: " + pwd_check_object_array[COMPUND_TEST_OBJ].Minimum_Password_Length); Console.WriteLine("Forbidden character by default in object " + COMPUND_TEST_OBJ + " is a space"); Console.WriteLine("The amount the object can be toggled after construction is: " + COMPUND_TEST_OBJ + " can have is: " + obj6.State_Change_Limit); Console.WriteLine(); } } for (uint i = 0; i < TEST_DEF_CONSTR_AMOUNT; i++) { random_password_length = (uint)rand.Next(MAX_PWD_LENGTH_REQUIRMENT, MAX_PWD_LENGTH_REQUIRMENT * 2); random_valid_ascii_index = rand.Next(0, POSSIBLE_ASCII.Length); random_toggle_max_length = (uint)rand.Next(MAX_STATE_TOGGLE_LENGTH, MAX_STATE_TOGGLE_LENGTH * 2); if (i == 0) { Console.WriteLine("For exceeding the bounds of 4-20 characters\nThe length of the password" + " entered into object " + EXCESSC_TEST_OBJ + " is: " + random_password_length); Console.WriteLine("Forbidden character entered into object " + EXCESSC_TEST_OBJ + " by default is: " + POSSIBLE_ASCII[random_valid_ascii_index]); Console.WriteLine("The minimum length of the password of object " + EXCESSC_TEST_OBJ + " after construction is: " + pwd_check_object_array[EXCESSC_TEST_OBJ].Minimum_Password_Length); Console.WriteLine(); } else { Console.WriteLine("No parameters will be entered into excessC test object (obj # 6)"); Console.WriteLine("The minimum length of the password obj " + EXCESSC_TEST_OBJ + " will accept by default is: " + pwd_check_object_array[EXCESSC_TEST_OBJ].Minimum_Password_Length); Console.WriteLine("Forbidden character by default in object " + EXCESSC_TEST_OBJ + " is a space"); Console.WriteLine(); } } Console.WriteLine("Press enter to continue..."); Console.ReadLine(); }