private static void simulateObjects(ref jumpPrime obj) { Random random = new Random(); const int upper_limit_up = 30; const int lower_limit_up = 10; const int upper_limit_down = 20; int queries = random.Next(lower_limit_up, upper_limit_up); query_up_and_revive(ref obj, queries); Console.WriteLine(); //for layout queries = random.Next(1, upper_limit_down); iterate_down_with_revive(ref obj, queries); Console.WriteLine(); //for layout Console.WriteLine("Object is reset..."); obj.reset(); Console.WriteLine(); //for layout queries = random.Next(1, lower_limit_up); iterate_down(ref obj, queries); Console.WriteLine(); //for layout Console.WriteLine("Active is " + obj.getActive()); }
public static void runUpDownQuerries(ref jumpPrime myObj) { while (myObj.getActiveStatus()) { Console.WriteLine($"Up: {myObj.up()}"); Console.WriteLine($"Down: {myObj.down()}"); } }
//may output many zeroes if number of queries exceeds limit private static void iterate_up(ref jumpPrime obj, int num) { Console.WriteLine("We are querying the up call: "); for (int i = 0; i < num; i++) { Console.Write(i + ". " + obj.up() + " "); } }
public static void Main(string[] args) { const int NUM_OBJS = 3; jumpPrime[] myObjs = new jumpPrime[NUM_OBJS]; int[] inputs = new int[NUM_OBJS]; generateInput(ref myObjs, ref inputs, NUM_OBJS); testJumpPrimes(ref myObjs, ref inputs, NUM_OBJS); }
public static void generateInput(ref jumpPrime[] myObjs, ref int[] inputs, int numObjs) { const int LOWER_BOUND = 1000; const int UPPER_BOUND = 99999; Random randVal = new Random(); for (int i = 0; i < numObjs; i++) { inputs[i] = randVal.Next(LOWER_BOUND, UPPER_BOUND); Console.WriteLine($"jumpPrime {i + 1}: {inputs[i]}"); myObjs[i] = new jumpPrime(inputs[i]); } }
private static void makeObjects(int[] num, int number_objects) { jumpPrime[] db = new jumpPrime[number_objects]; for (int i = 0; i < number_objects; i++) { Console.WriteLine("========Test Object " + (i + 1) + ": ========="); db[i] = new jumpPrime(num[i]); simulateObjects(ref db[i]); Console.WriteLine(); //for layout Console.WriteLine(); } }
//once it becomes inactive, it should revive private static void iterate_down_with_revive(ref jumpPrime obj, int num) { Console.WriteLine("We are querying the down call: "); for (int i = 0; i < num; i++) { if (obj.getActive()) { Console.Write(i + ". " + obj.down() + " "); } else { Console.Write("We exceeded the querying limit... Must Revive "); obj.revive(); break; } } Console.WriteLine(); }
private static void query_up_and_revive(ref jumpPrime obj, int queries) { iterate_up(ref obj, queries); Console.WriteLine("Revive Object..."); obj.revive(); }