Numworks Epsilon  1.4.1
Graphing Calculator Operating System
events.cpp
Go to the documentation of this file.
1 #include <quiz.h>
2 #include <ion.h>
3 #include <assert.h>
4 
5 using namespace Ion::Keyboard;
6 using namespace Ion::Events;
7 
8 QUIZ_CASE(ion_events_from_keyboard) {
9  /* Ensure all events generated from the keyboard are properly defined */
10  for (Key k : ValidKeys) {
11  assert(Event(k, false, false).isDefined());
12  assert(Event(k, true, false).isDefined());
13  assert(Event(k, false, true).isDefined());
14  assert(Event(k, true, true).isDefined());
15  }
16 
17  // Test some fallbacks
18  assert(Event(Key::I5, false, false) == EXE);
19  assert(Event(Key::I5, true, false) == EXE);
20  assert(Event(Key::I5, false, true) == EXE);
21  assert(Event(Key::I5, true, true) == EXE);
22 }
#define assert(e)
Definition: assert.h:9
constexpr Event EXE
Definition: events.h:114
constexpr Key ValidKeys[]
Definition: keyboard.h:24
QUIZ_CASE(ion_events_from_keyboard)
Definition: events.cpp:8