Ready when you are.
A brand-new website, a network rebuild, a custom board or a tricky hardware fault, drop us a line and we'll respond within one working day. Quotes are free.
info@nyna.co.ukAn object-oriented C++ application for storing and searching train schedules, built the full software-engineering way: functional and non-functional requirements, UML class and sequence diagrams, an inheritance-based class design, and a Boost.Test unit-testing suite checked against a requirements test plan. A group project (Group 06) at Royal Holloway.
The system models a railway timetable and lets a user search it: store services and their times, query by route or time, and present results through a small UI layer. It started from a written specification, functional and non-functional requirements that justified every feature, then moved through design, implementation and a documented test pass.
Holds the timetable data and the services it contains.
Queries the schedule by route and time, returning matches.
Drives interaction and presents results to the user.
#define BOOST_TEST_MODULE schedule_tests
#include <boost/test/included/unit_test.hpp>
#include "Schedule.h"
BOOST_AUTO_TEST_CASE(search_returns_matching_service)
{
Schedule s;
s.addService("Waterloo", "Reading", "08:32");
SearchEngine engine(s);
auto results = engine.findByRoute("Waterloo", "Reading");
BOOST_CHECK_EQUAL(results.size(), 1u);
BOOST_CHECK_EQUAL(results.front().departure(), "08:32");
}
"Good level of complexity in terms of coding. Readability of code is good with relevant variable naming and comments. Implementation of inheritance. Implementation reflects design. Well done!"
"Good test plan, evidence of testing is convincing. Good use of Boost and test code."
A brand-new website, a network rebuild, a custom board or a tricky hardware fault, drop us a line and we'll respond within one working day. Quotes are free.
info@nyna.co.uk