Skip to content

Commit a28a058

Browse files
committed
[Test] check LCD dirty flag
1 parent 13c045e commit a28a058

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

test/MIDI_Inputs/test-MCU_LCD.cpp

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,57 +10,72 @@ TEST(LCD, Ranges) {
1010
std::vector<uint8_t> sysex = {
1111
0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x00, 'a', 'b', 'c', 'd', 0xF7,
1212
};
13+
lcd.clearDirty();
1314
MIDIInputElementSysEx::updateAllWith(sysex);
1415
EXPECT_STREQ(lcd.getText(), "abcd");
16+
EXPECT_TRUE(lcd.getDirty());
1517
}
1618
{ // Buffer longer, MIDI in middle of buffer
1719
MCU::LCD<4> lcd(0);
1820
std::vector<uint8_t> sysex = {
1921
0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x01, 'b', 'c', 0xF7,
2022
};
23+
lcd.clearDirty();
2124
MIDIInputElementSysEx::updateAllWith(sysex);
2225
EXPECT_STREQ(lcd.getText(), " bc ");
26+
EXPECT_TRUE(lcd.getDirty());
2327
}
2428
{ // MIDI overlaps with start of buffer
2529
MCU::LCD<4> lcd(1);
2630
std::vector<uint8_t> sysex = {
2731
0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x00, 'a', 'b', 0xF7,
2832
};
33+
lcd.clearDirty();
2934
MIDIInputElementSysEx::updateAllWith(sysex);
3035
EXPECT_STREQ(lcd.getText(), "b ");
36+
EXPECT_TRUE(lcd.getDirty());
3137
}
3238
{ // MIDI overlaps with end of buffer
3339
MCU::LCD<4> lcd(0);
3440
std::vector<uint8_t> sysex = {
3541
0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x03, 'd', 'e', 0xF7,
3642
};
43+
lcd.clearDirty();
3744
MIDIInputElementSysEx::updateAllWith(sysex);
3845
EXPECT_STREQ(lcd.getText(), " d");
46+
EXPECT_TRUE(lcd.getDirty());
3947
}
4048
{ // MIDI longer
4149
MCU::LCD<4> lcd(1);
4250
std::vector<uint8_t> sysex = {
4351
0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x00,
4452
'a', 'b', 'c', 'd', 'e', 'f', 0xF7,
4553
};
54+
lcd.clearDirty();
4655
MIDIInputElementSysEx::updateAllWith(sysex);
4756
EXPECT_STREQ(lcd.getText(), "bcde");
57+
EXPECT_TRUE(lcd.getDirty());
4858
}
4959
{ // No overlap, buffer lower
5060
MCU::LCD<4> lcd(0);
5161
std::vector<uint8_t> sysex = {
5262
0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x04, 'e', 'f', 'g', 'h', 0xF7,
5363
};
64+
lcd.clearDirty();
5465
MIDIInputElementSysEx::updateAllWith(sysex);
5566
EXPECT_STREQ(lcd.getText(), " ");
67+
EXPECT_FALSE(lcd.getDirty());
68+
EXPECT_FALSE(lcd.getDirty());
5669
}
5770
{ // No overlap, MIDI lower
5871
MCU::LCD<4> lcd(4);
5972
std::vector<uint8_t> sysex = {
6073
0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x00, 'a', 'b', 'c', 'd', 0xF7,
6174
};
75+
lcd.clearDirty();
6276
MIDIInputElementSysEx::updateAllWith(sysex);
6377
EXPECT_STREQ(lcd.getText(), " ");
78+
EXPECT_FALSE(lcd.getDirty());
6479
}
6580
}
6681

@@ -72,8 +87,11 @@ TEST(LCD, FillOneBufferWithManyMIDIMessages) {
7287
{0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x08, 'i', 'j', 'k', 'l', 0xF7},
7388
{0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x0C, 'm', 'n', 'o', 'p', 0xF7},
7489
};
75-
for (auto sysex : sysexs)
90+
for (auto sysex : sysexs) {
91+
lcd.clearDirty();
7692
MIDIInputElementSysEx::updateAllWith(sysex);
93+
EXPECT_TRUE(lcd.getDirty());
94+
}
7795
EXPECT_STREQ(lcd.getText(), "abcd"
7896
"efgh"
7997
"ijkl"
@@ -82,6 +100,7 @@ TEST(LCD, FillOneBufferWithManyMIDIMessages) {
82100

83101
TEST(LCD, FillManyBuffersWithOneMIDIMessage) {
84102
MCU::LCD<4> lcds[] = {0x0, 0x4, 0x8, 0xC};
103+
for (auto &lcd : lcds) lcd.clearDirty();
85104
std::vector<uint8_t> sysex = {
86105
0xF0, 0x00, 0x00, 0x66, 0x10, 0x12, 0x00, 'a', 'b', 'c', 'd', 'e',
87106
'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 0xF7,
@@ -91,6 +110,7 @@ TEST(LCD, FillManyBuffersWithOneMIDIMessage) {
91110
EXPECT_STREQ(lcds[1].getText(), "efgh");
92111
EXPECT_STREQ(lcds[2].getText(), "ijkl");
93112
EXPECT_STREQ(lcds[3].getText(), "mnop");
113+
for (auto &lcd : lcds) EXPECT_TRUE(lcd.getDirty());
94114
}
95115

96116
TEST(LCDlength, len) {

0 commit comments

Comments
 (0)