11 int addressOffset = ((__TIME__)[6] -
'0')*10 + (__TIME__)[7] -
'0';
12 char dataOffset = ((__TIME__)[3] -
'0')*5 + (__TIME__)[7] -
'0';
17 static void setUp(
void) {
21 static void tearDown(
void) {
25 static void test_Warning(
void) {
26 printf(
"---------------------------------------------\r\n");
27 printf(
"Warning: This test suite mangles your EEPROM!\r\n");
30 printf(
"Current addressOffset: %i\r\n", addressOffset);
31 printf(
"Current dataOffset: %i\r\n", dataOffset);
33 printf(
"---------------------------------------------\r\n");
36 static void test_SingleByteReadWrite(
void) {
39 unsigned short address = 0x8121 + addressOffset;
40 char data = 0xA9 + dataOffset;
41 TEST_ASSERT_TRUE(mem.
Put(address, data));
42 TEST_ASSERT_EQUAL_HEX8(data, mem.
Get(address));
64 static void test_PageWriteSingleByteRead(
void) {
67 unsigned short address = 0x80F5 + addressOffset;
70 char result = dataOffset;
72 data[size - 1] = result;
73 TEST_ASSERT_TRUE(mem.
Put(address, data, size));
74 TEST_ASSERT_EQUAL_INT(result, mem.
Get(address));
75 TEST_ASSERT_EQUAL_INT(result, mem.
Get(address + size - 1));
78 static void test_PageReadWrite(
void) {
81 unsigned short address = 0x80F7 + addressOffset;
86 output[0] = 0x25 + dataOffset;
87 output[1] = 0xE9 + dataOffset;
88 output[size / 2] = 0x42 + dataOffset;
89 output[size - 1] = 0xF0 + dataOffset;
92 TEST_ASSERT_TRUE(mem.
Put(address, output, size));
94 TEST_ASSERT_EQUAL_MEMORY(output,
input, size);
98 static void test_PageReadDoesntBufferOverflow(
void) {
101 unsigned short address = 0x8223 + addressOffset;
104 char input [size * 2];
105 char overflowPattern [size];
106 for (
int i = 0; i < size; ++i) {
107 input[i + size] = overflowPattern[i] = 0x83 + dataOffset;
110 mem.
Put(address, output, size);
112 TEST_ASSERT_EQUAL_MEMORY(overflowPattern,
input + size, size);
115 static void test_PutGetInt(
void) {
118 unsigned short address = 0x9B21 + addressOffset;
120 int bytes = 5367 + dataOffset;
123 TEST_ASSERT_EQUAL_INT(bytes, mem.
GetNumber(address, size));
127 static void test_PutGetShort(
void) {
130 unsigned short address = 0x965D + addressOffset;
132 int bytes = 525 + dataOffset;
135 TEST_ASSERT_EQUAL_INT(bytes, mem.
GetNumber(address, size));