Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
openlcb::TractionTest Class Reference

Test fixture base for traction tests. More...

#include <async_traction_test_helper.hxx>

Inheritance diagram for openlcb::TractionTest:
openlcb::AsyncNodeTest openlcb::AsyncIfTest AsyncCanTest

Protected Attributes

TrainService trainService_
 
StrictMock< MockTrainm1_
 
StrictMock< MockTrainm2_
 
- Protected Attributes inherited from openlcb::AsyncNodeTest
EventService eventService_
 
std::unique_ptr< DefaultNodeownedNode_
 
Nodenode_
 
- Protected Attributes inherited from openlcb::AsyncIfTest
SyncNotifiable n_
 
BarrierNotifiable bn_
 
std::unique_ptr< IfCanifCan_
 The interface under test.
 
AliasInfo testAlias_
 Temporary object used to send aliases around in the alias allocator flow.
 
NodeAlias aliasSeed_
 The next alias we will make the allocator create.
 
bool pendingAliasAllocation_
 true if we have a pending async alias allocation task.
 
- Protected Attributes inherited from AsyncCanTest
NiceMock< MockSendcanBus_
 Helper object for setting expectations on the packets sent on the bus.
 
std::unique_ptr< HubPortprinter_
 Object for debug-printing every packet (if requested).
 

Additional Inherited Members

- Static Public Member Functions inherited from AsyncCanTest
static void SetUpTestCase ()
 Initializes test case with CAN0.
 
static void TearDownTestCase ()
 De-Initializes test case with CAN0.
 
- Protected Member Functions inherited from openlcb::AsyncNodeTest
void wait_for_event_thread ()
 
- Protected Member Functions inherited from openlcb::AsyncIfTest
void create_allocated_alias ()
 Creates an alias allocator flow, and injects an already allocated alias.
 
void inject_allocated_alias (NodeAlias alias)
 
void expect_next_alias_allocation (NodeAlias a=0)
 
BarrierNotifiableget_notifiable ()
 
void wait_for_notification ()
 
- Protected Member Functions inherited from AsyncCanTest
void wait ()
 Delays the current thread until we are certain that all asynchrnous processing has completed.
 
void twait ()
 Delays the current thread until all asynchronous processing and all pending timers have completed.
 
void expect_any_packet ()
 Ignores all produced packets.
 
void print_all_packets ()
 Prints all packets sent to the canbus until the end of the current test function.
 
void send_packet (const string &gc_packet)
 Injects a packet to the interface.
 
void clear_expect (bool strict=false)
 Clears all existing expectations on the CAN-bus packets.
 
void send_packet_and_flush_expect (const string &pkt)
 Sends a packet to the canbus, waits for the executor to clear, and then verifies all previous expectations.
 
- Static Protected Attributes inherited from openlcb::AsyncIfTest
static int local_alias_cache_size = 10
 
static int local_node_count = 9
 
static int remote_alias_cache_size = 10
 

Detailed Description

Test fixture base for traction tests.

Definition at line 15 of file async_traction_test_helper.hxx.

Constructor & Destructor Documentation

◆ TractionTest()

openlcb::TractionTest::TractionTest ( )
inlineprotected

Definition at line 18 of file async_traction_test_helper.hxx.

Member Data Documentation

◆ m1_

StrictMock<MockTrain> openlcb::TractionTest::m1_
protected

Definition at line 24 of file async_traction_test_helper.hxx.

◆ m2_

StrictMock<MockTrain> openlcb::TractionTest::m2_
protected

Definition at line 24 of file async_traction_test_helper.hxx.

◆ trainService_

TrainService openlcb::TractionTest::trainService_
protected

Definition at line 23 of file async_traction_test_helper.hxx.


The documentation for this class was generated from the following file: