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:
dg
2023-05-09 20:59:44 +00:00
parent bfa0846ad0
commit 466c3c34e5
168 changed files with 5722 additions and 5135 deletions

View File

@@ -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;
}