# Test Case Generation | Set 5 (Generating random Sorted Arrays and Palindromes)

Generating Random Sorted Arrays
We store the random array elements in an array and then sort it and print it.

 `// A C++ Program to generate test cases for ` `// array filled with random numbers ` `#include ` `using` `namespace` `std; ` ` `  `// Define the number of runs for the test data ` `// generated ` `#define RUN 5 ` ` `  `// Define the range of the test data generated ` `#define MAX 100000 ` ` `  `// Define the maximum number of array elements ` `#define MAXNUM 100 ` ` `  `int` `main() ` `{ ` `    ``// Uncomment the below line to store ` `    ``// the test data in a file ` `    ``// freopen("Test_Cases_Random_Sorted_Array.in", ` `    ``//          "w", stdout); ` ` `  `    ``// For random values every time ` `    ``srand``(``time``(NULL)); ` ` `  `    ``int` `NUM;    ``// Number of array elements ` ` `  `    ``for` `(``int` `i=1; i<=RUN; i++) ` `    ``{ ` `        ``int` `arr[MAXNUM]; ` ` `  `        ``NUM = 1 + ``rand``() % MAXNUM; ` ` `  `        ``// First print the number of array elements ` `        ``printf``(``"%d\n"``, NUM); ` ` `  `        ``// Then print the array elements separated by ` `        ``// space ` `        ``for` `(``int` `j=0; j

Generating Random Palindromes

• The test case generation plan generates odd as well as even length palindromes.
• The test case generation plan uses one of the most under-rated data structure- Deque
• Since a palindrome is read the same from left as well as right so we simply put the same random characters on both the left side (done using push_front()) and the right side (done using push_back())

 `// A C++ Program to generate test cases for ` `// random strings ` `#include ` `using` `namespace` `std; ` ` `  `// Define the number of runs for the test data ` `// generated ` `#define RUN 5 ` ` `  `// Define the range of the test data generated ` `// Here it is 'a' to 'z' ` `#define MAX 25 ` ` `  `// Define the maximum length of string ` `#define MAXLEN 50 ` ` `  `int` `main() ` `{ ` `    ``// Uncomment the below line to store ` `    ``// the test data in a file ` `    ``// freopen("Test_Cases_Palindrome.in", "w", ` `    ``//                                  stdout); ` ` `  `    ``// For random values every time ` `    ``srand``(``time``(NULL)); ` ` `  `    ``// A container for storing the palindromes ` `    ``deque<``char``> container; ` `    ``deque<``char``>::iterator it; ` ` `  `    ``int` `LEN;    ``// Length of string ` ` `  `    ``for` `(``int` `i=1; i<=RUN; i++) ` `    ``{ ` `        ``LEN = 1 + ``rand``() % MAXLEN; ` ` `  `        ``// First print the length of string ` `        ``printf``(``"%d\n"``, LEN); ` ` `  `        ``// If it is an odd-length palindrome ` `        ``if` `(LEN % 2) ` `            ``container.push_back(``'a'` `+ ``rand``() % MAX); ` ` `  `        ``// Then print the characters of the palindromic ` `        ``// string ` `        ``for` `(``int` `j=1; j<=LEN/2; j++) ` `        ``{ ` `            ``char` `ch = ``'a'` `+ ``rand``() % MAX; ` `            ``container.push_back(ch); ` `            ``container.push_front(ch); ` `        ``} ` ` `  `        ``for` `(it=container.begin(); it!=container.end(); ++it) ` `            ``printf``(``"%c"``,*it); ` ` `  `        ``container.clear(); ` `        ``printf``(``"\n"``); ` `    ``} ` ` `  `    ``// Uncomment the below line to store ` `    ``// the test data in a file ` `    ``// fclose(stdout); ` `    ``return``(0); ` `} `

This article is contributed by Rachit Belwariar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

References : –
http://spojtoolkit.com/TestCaseGenerator/