Exemplo n.º 1
0
void SerialTest::SetBaud() {
	Serial *serial = NULL;
	unsigned int baud_rates[] = { 50, 75, 110, 134, 150, 200, 300, 600, 1200,
								  1800, 2400, 4800, 9600, 19200, 38400, 57600,
								  115200, /* 230400 */ 0};

	// create serial object
	CPPUNIT_ASSERT_NO_THROW(serial = new Serial("/dev/ttyS1"));

	// perform baud setting tests
	for (unsigned int i=0; baud_rates[i]!=0; i++) {
		CPPUNIT_ASSERT_NO_THROW(serial->SetBaud(baud_rates[i]));
		CPPUNIT_ASSERT_EQUAL(baud_rates[i], serial->Baud());
	}

	CPPUNIT_ASSERT_THROW(serial->SetBaud(123456789), std::runtime_error);

	// destroy serial object
	delete serial;
	CPPUNIT_ASSERT(signal_catcher.StringSignalsReceived(0));
}