/* * Test receiving works. */ void RobeWidgetTest::testReceive() { DmxBuffer buffer; buffer.SetFromString("0,1,2,3,4"); // change to recv mode & setup the callback m_endpoint->AddExpectedRobeMessage( DMX_IN_REQUEST_LABEL, NULL, 0, ola::NewSingleCallback(this, &RobeWidgetTest::Terminate)); m_widget->ChangeToReceiveMode(); m_ss.Run(); m_endpoint->Verify(); m_widget->SetDmxCallback( ola::NewCallback(this, &RobeWidgetTest::NewDMXData)); CPPUNIT_ASSERT(!m_new_dmx_data); // now send some data m_endpoint->SendUnsolicitedRobeData(DMX_IN_RESPONSE_LABEL, buffer.GetRaw(), buffer.Size()); m_ss.Run(); CPPUNIT_ASSERT(m_new_dmx_data); const DmxBuffer &new_data = m_widget->FetchDMX(); CPPUNIT_ASSERT(buffer == new_data); }