mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Replace the Error() object with an error() function which takes fmt
formatspecs, making for much cleaner code. Reformatted everything. This actually happened in multiple steps but then I corrupted my local repository and I had to recover from the working tree.
This commit is contained in:
@@ -6,84 +6,84 @@
|
||||
#include "tests.h"
|
||||
#include <sstream>
|
||||
|
||||
static Fluxmap fluxmap(Bytes {
|
||||
F_DESYNC,
|
||||
F_BIT_PULSE | 0x30,
|
||||
F_BIT_INDEX | 0x30,
|
||||
F_BIT_PULSE | F_BIT_INDEX | 0x30,
|
||||
0x30, F_BIT_PULSE | 0x30,
|
||||
F_DESYNC,
|
||||
F_BIT_PULSE | 0x30,
|
||||
0x30,
|
||||
F_DESYNC,
|
||||
0x30,
|
||||
F_BIT_PULSE | 0x30
|
||||
});
|
||||
static Fluxmap fluxmap(Bytes{F_DESYNC,
|
||||
F_BIT_PULSE | 0x30,
|
||||
F_BIT_INDEX | 0x30,
|
||||
F_BIT_PULSE | F_BIT_INDEX | 0x30,
|
||||
0x30,
|
||||
F_BIT_PULSE | 0x30,
|
||||
F_DESYNC,
|
||||
F_BIT_PULSE | 0x30,
|
||||
0x30,
|
||||
F_DESYNC,
|
||||
0x30,
|
||||
F_BIT_PULSE | 0x30});
|
||||
|
||||
#define ASSERT_NEXT_EVENT(wantedEvent, wantedTicks) \
|
||||
do { \
|
||||
unsigned gotTicks; \
|
||||
int gotEvent; \
|
||||
fmr.getNextEvent(gotEvent, gotTicks); \
|
||||
assert((gotEvent == (wantedEvent)) && (gotTicks == (wantedTicks))); \
|
||||
} while(0)
|
||||
#define ASSERT_NEXT_EVENT(wantedEvent, wantedTicks) \
|
||||
do \
|
||||
{ \
|
||||
unsigned gotTicks; \
|
||||
int gotEvent; \
|
||||
fmr.getNextEvent(gotEvent, gotTicks); \
|
||||
assert((gotEvent == (wantedEvent)) && (gotTicks == (wantedTicks))); \
|
||||
} while (0)
|
||||
|
||||
#define ASSERT_READ_SPECIFIC_EVENT(wantedEvent, wantedTicks) \
|
||||
do { \
|
||||
unsigned gotTicks; \
|
||||
fmr.findEvent(wantedEvent, gotTicks); \
|
||||
assertThat(gotTicks).isEqualTo(wantedTicks); \
|
||||
} while(0)
|
||||
do \
|
||||
{ \
|
||||
unsigned gotTicks; \
|
||||
fmr.findEvent(wantedEvent, gotTicks); \
|
||||
assertThat(gotTicks).isEqualTo(wantedTicks); \
|
||||
} while (0)
|
||||
|
||||
void test_read_all_events()
|
||||
{
|
||||
FluxmapReader fmr(fluxmap);
|
||||
ASSERT_NEXT_EVENT(F_DESYNC, 0);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_BIT_INDEX, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE | F_BIT_INDEX, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE, 0x60);
|
||||
ASSERT_NEXT_EVENT(F_DESYNC, 0);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_DESYNC, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE, 0x60);
|
||||
ASSERT_NEXT_EVENT(F_EOF, 0);
|
||||
ASSERT_NEXT_EVENT(F_EOF, 0);
|
||||
FluxmapReader fmr(fluxmap);
|
||||
ASSERT_NEXT_EVENT(F_DESYNC, 0);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_BIT_INDEX, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE | F_BIT_INDEX, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE, 0x60);
|
||||
ASSERT_NEXT_EVENT(F_DESYNC, 0);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_DESYNC, 0x30);
|
||||
ASSERT_NEXT_EVENT(F_BIT_PULSE, 0x60);
|
||||
ASSERT_NEXT_EVENT(F_EOF, 0);
|
||||
ASSERT_NEXT_EVENT(F_EOF, 0);
|
||||
}
|
||||
|
||||
void test_read_pulses()
|
||||
{
|
||||
FluxmapReader fmr(fluxmap);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x30);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x60);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x60);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x30);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x90);
|
||||
FluxmapReader fmr(fluxmap);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x30);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x60);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x60);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x30);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_PULSE, 0x90);
|
||||
}
|
||||
|
||||
void test_read_indices()
|
||||
{
|
||||
FluxmapReader fmr(fluxmap);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_INDEX, 0x60);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_INDEX, 0x30);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_INDEX, 6*0x30);
|
||||
FluxmapReader fmr(fluxmap);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_INDEX, 0x60);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_INDEX, 0x30);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_BIT_INDEX, 6 * 0x30);
|
||||
}
|
||||
|
||||
void test_read_desyncs()
|
||||
{
|
||||
FluxmapReader fmr(fluxmap);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_DESYNC, 0);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_DESYNC, 0xf0);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_DESYNC, 0x60);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_DESYNC, 0x60);
|
||||
FluxmapReader fmr(fluxmap);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_DESYNC, 0);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_DESYNC, 0xf0);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_DESYNC, 0x60);
|
||||
ASSERT_READ_SPECIFIC_EVENT(F_DESYNC, 0x60);
|
||||
}
|
||||
|
||||
int main(int argc, const char* argv[])
|
||||
{
|
||||
test_read_all_events();
|
||||
test_read_pulses();
|
||||
test_read_indices();
|
||||
test_read_desyncs();
|
||||
test_read_pulses();
|
||||
test_read_indices();
|
||||
test_read_desyncs();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user