libuav original

Dependents:   UAVCAN UAVCAN_Subscriber

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers event.cpp Source File

event.cpp

00001 /*
00002  * Copyright (C) 2015 Pavel Kirienko <pavel.kirienko@gmail.com>
00003  */
00004 
00005 #include <gtest/gtest.h>
00006 #include <uavcan/protocol/dynamic_node_id_server/event.hpp>
00007 #include "event_tracer.hpp"
00008 
00009 
00010 TEST(dynamic_node_id_server_EventTracer, EventCodeToString)
00011 {
00012     using namespace uavcan::dynamic_node_id_server;
00013 
00014     // Simply checking some error codes
00015     ASSERT_STREQ("Error",                        IEventTracer::getEventName(TraceError));
00016     ASSERT_STREQ("RaftAppendEntriesCallFailure", IEventTracer::getEventName(TraceRaftAppendEntriesCallFailure));
00017     ASSERT_STREQ("RaftDiscoveryReceived",        IEventTracer::getEventName(TraceRaftDiscoveryReceived));
00018     ASSERT_STREQ("DiscoveryNodeRestartDetected", IEventTracer::getEventName(TraceDiscoveryNodeRestartDetected));
00019     ASSERT_STREQ("AllocationUnexpectedStage",    IEventTracer::getEventName(TraceAllocationUnexpectedStage));
00020 }
00021 
00022 
00023 TEST(dynamic_node_id_server_EventTracer, EnvironmentSelfTest)
00024 {
00025     using namespace uavcan::dynamic_node_id_server;
00026 
00027     EventTracer tracer;
00028 
00029     ASSERT_EQ(0, tracer.getNumEvents());
00030 
00031     tracer.onEvent(TraceRaftAppendEntriesCallFailure, 123);
00032     ASSERT_EQ(1, tracer.getNumEvents());
00033     tracer.onEvent(TraceRaftAppendEntriesCallFailure, -456);
00034     ASSERT_EQ(2, tracer.getNumEvents());
00035     tracer.onEvent(TraceError, -0xFFFFFFFFFFFFFFFLL);
00036     ASSERT_EQ(3, tracer.getNumEvents());
00037 
00038     ASSERT_EQ(0, tracer.countEvents(TraceAllocationActivity));
00039     ASSERT_EQ(2, tracer.countEvents(TraceRaftAppendEntriesCallFailure));
00040     ASSERT_EQ(1, tracer.countEvents(TraceError));
00041 
00042     ASSERT_EQ(-456, tracer.getLastEventArgumentOrFail(TraceRaftAppendEntriesCallFailure));
00043 
00044     ASSERT_EQ(-0xFFFFFFFFFFFFFFFLL, tracer.getLastEventArgumentOrFail(TraceError));
00045 }