adding cs142 code
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
#include "sm_array.h"
|
||||
#include "collect.h"
|
||||
#include "test_constants.h"
|
||||
|
||||
|
||||
int main(int argc, char * argv[]) {
|
||||
ostringstream output;
|
||||
garray a = initial_restaurants();
|
||||
string expected;
|
||||
bool successful_removal;
|
||||
int expected_size;
|
||||
|
||||
successful_removal = a.remove("");
|
||||
output << a;
|
||||
expected = TEST_ARRAY_OUTPUT;
|
||||
expected_size = 8;
|
||||
if(output.str() != expected
|
||||
and a.size != expected_size
|
||||
and successful_removal) {
|
||||
cerr << "improper removal of empty string" << endl;
|
||||
cerr << "have: " << a << ", " << a.size << endl;
|
||||
cerr << "expected: " << expected << ", " << expected_size << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
successful_removal = a.remove("Taco Bell");
|
||||
output << a;
|
||||
expected = "[Cafe Rio, Pappa Murphy's, Quiznos, Jimmy Johns, Thai Chili Gardens, Subway, India Palace]";
|
||||
expected_size = 7;
|
||||
if(output.str() != expected
|
||||
and a.size != expected_size
|
||||
and not successful_removal) {
|
||||
cerr << "improper removal from middle (Taco Bell)" << endl;
|
||||
cerr << "have: " << a << ", " << a.size << endl;
|
||||
cerr << "expected: " << expected << ", " << expected_size << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
successful_removal = a.remove("India Palace");
|
||||
output.str("");
|
||||
output << a;
|
||||
expected = "[Cafe Rio, Pappa Murphy's, Quiznos, Jimmy Johns, Thai Chili Gardens, Subway]";
|
||||
expected_size = 6;
|
||||
if(output.str() != expected
|
||||
and a.size != expected_size
|
||||
and not successful_removal) {
|
||||
cerr << "improper removal from end (India palace)" << endl;
|
||||
cerr << "have: " << a << ", " << a.size << endl;
|
||||
cerr << "expected: " << expected << ", " << expected_size << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
successful_removal = a.remove("Shitar's Palace");
|
||||
output.str("");
|
||||
output << a;
|
||||
// same expected as last time
|
||||
expected_size = 6;
|
||||
if(output.str() != expected
|
||||
and a.size != expected_size
|
||||
and successful_removal) {
|
||||
cerr << "improper removal of value that is not in the list" << endl;
|
||||
cerr << "have: " << a << ", " << a.size << endl;
|
||||
cerr << "expected: " << expected << ", " << expected_size << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
successful_removal = a.remove("Cafe Rio");
|
||||
output.str("");
|
||||
output << a;
|
||||
expected = "[Pappa Murphy's, Quiznos, Jimmy Johns, Thai Chili Gardens, Subway]";
|
||||
expected_size = 6;
|
||||
if(output.str() != expected
|
||||
and a.size != expected_size
|
||||
and not successful_removal) {
|
||||
cerr << "improper removal from beginning (Cafe Rio)" << endl;
|
||||
cerr << "have: " << a << ", " << a.size << endl;
|
||||
cerr << "expected: " << expected << ", " << expected_size << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user