#include #include #include // Add your classes here. You can put all code in this file. int main() // may not be modified. { State start{}; State alpha{}; EndState end{}; start.add_signal(&alpha, 1); alpha.add_signal(&start, 2); alpha.add_signal(&end, 1); try { alpha.add_signal(&end, -1); } catch(std::exception& e) { cerr << "tried to add signal out of range" << endl; } { // Test first sequence (correct) stringstream sequence{"1 1"}; cout << "testing sequence: " << sequence.str() << endl; start.eval(sequence); } { // Test second sequence (correct) stringstream sequence{"1 2 1 2 1 1"}; cout << "testing sequence: " << sequence.str() << endl; start.eval(sequence); } { // Test third sequence (incorrect) stringstream sequence{"1 1 1 2 1 1"}; cout << "testing sequence: " << sequence.str() << endl; start.eval(sequence); } { // Test fourth sequence (incorrect) stringstream sequence{"1 1 1"}; cout << "testing sequence: " << sequence.str() << endl; start.eval(sequence); } { // Test fifth sequence (incorrect) stringstream sequence{"1 5 1"}; cout << "testing sequence: " << sequence.str() << endl; start.eval(sequence); } { // Test sixth sequence (incorrect) stringstream sequence{"1 25 1"}; cout << "testing sequence: " << sequence.str() << endl; start.eval(sequence); } }