Endlich fertig

This commit is contained in:
Yannik Baumgärtner 2025-11-27 14:30:22 +01:00
parent 87c527b569
commit cb2c33ff12
9 changed files with 280 additions and 118 deletions

View File

@ -36,7 +36,7 @@ static int checkheader(FILE *path, unsigned short *count, unsigned short *width,
return 0;
}
// Danach folgen im File: count, width, height (je 2 Bytes)
// Danach folgen in der Datei: count, width, height (je 2 Bytes)
if (fread(count, sizeof(unsigned short), 1, path) != 1)
return 0;

View File

@ -1,12 +1,15 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "unity.h"
#include "imageInput.h"
#define FILE_HEADER_STRING "__info2_image_file_format__"
static void prepareImageFile(const char *path, unsigned short int width, unsigned short int height, unsigned int short numberOfImages, unsigned char label)
/*
* Hilfsfunktion, um testweise eine valide .info2-Datei zu erzeugen.
* Diese wird von mehreren Tests genutzt.
*/
static void prepareImageFile(const char *path, unsigned short int width, unsigned short int height, unsigned short numberOfImages, unsigned char label)
{
FILE *file = fopen(path, "wb");
@ -17,7 +20,7 @@ static void prepareImageFile(const char *path, unsigned short int width, unsigne
if(zeroBuffer != NULL)
{
fwrite(fileTag, sizeof(fileTag[0]), strlen(fileTag), file);
fwrite(fileTag, 1, strlen(fileTag), file);
fwrite(&numberOfImages, sizeof(numberOfImages), 1, file);
fwrite(&width, sizeof(width), 1, file);
fwrite(&height, sizeof(height), 1, file);
@ -36,15 +39,22 @@ static void prepareImageFile(const char *path, unsigned short int width, unsigne
}
/****************************************************
* Bestehende Tests *
****************************************************/
void test_readImagesReturnsCorrectNumberOfImages(void)
{
GrayScaleImageSeries *series = NULL;
const unsigned short expectedNumberOfImages = 2;
const char *path = "testFile.info2";
prepareImageFile(path, 8, 8, expectedNumberOfImages, 1);
series = readImages(path);
TEST_ASSERT_NOT_NULL(series);
TEST_ASSERT_EQUAL_UINT16(expectedNumberOfImages, series->count);
clearSeries(series);
remove(path);
}
@ -54,13 +64,16 @@ void test_readImagesReturnsCorrectImageWidth(void)
GrayScaleImageSeries *series = NULL;
const unsigned short expectedWidth = 10;
const char *path = "testFile.info2";
prepareImageFile(path, expectedWidth, 8, 2, 1);
series = readImages(path);
TEST_ASSERT_NOT_NULL(series);
TEST_ASSERT_NOT_NULL(series->images);
TEST_ASSERT_EQUAL_UINT16(2, series->count);
TEST_ASSERT_EQUAL_UINT16(expectedWidth, series->images[0].width);
TEST_ASSERT_EQUAL_UINT16(expectedWidth, series->images[1].width);
clearSeries(series);
remove(path);
}
@ -70,13 +83,16 @@ void test_readImagesReturnsCorrectImageHeight(void)
GrayScaleImageSeries *series = NULL;
const unsigned short expectedHeight = 10;
const char *path = "testFile.info2";
prepareImageFile(path, 8, expectedHeight, 2, 1);
series = readImages(path);
TEST_ASSERT_NOT_NULL(series);
TEST_ASSERT_NOT_NULL(series->images);
TEST_ASSERT_EQUAL_UINT16(2, series->count);
TEST_ASSERT_EQUAL_UINT16(expectedHeight, series->images[0].height);
TEST_ASSERT_EQUAL_UINT16(expectedHeight, series->images[1].height);
clearSeries(series);
remove(path);
}
@ -84,17 +100,21 @@ void test_readImagesReturnsCorrectImageHeight(void)
void test_readImagesReturnsCorrectLabels(void)
{
const unsigned char expectedLabel = 15;
GrayScaleImageSeries *series = NULL;
const char *path = "testFile.info2";
prepareImageFile(path, 8, 8, 2, expectedLabel);
series = readImages(path);
TEST_ASSERT_NOT_NULL(series);
TEST_ASSERT_NOT_NULL(series->labels);
TEST_ASSERT_EQUAL_UINT16(2, series->count);
for (int i = 0; i < 2; i++) {
for (int i = 0; i < 2; i++)
{
TEST_ASSERT_EQUAL_UINT8(expectedLabel, series->labels[i]);
}
clearSeries(series);
remove(path);
}
@ -110,28 +130,162 @@ void test_readImagesFailsOnWrongFileTag(void)
{
const char *path = "testFile.info2";
FILE *file = fopen(path, "w");
if(file != NULL)
{
fprintf(file, "some_tag ");
fclose(file);
TEST_ASSERT_NULL(readImages(path));
}
remove(path);
}
void setUp(void) {
// Falls notwendig, kann hier Vorbereitungsarbeit gemacht werden
/****************************************************
* Neue Tests *
****************************************************/
/*
* Dieser Test prüft, ob readImages() korrekt fehlschlägt,
* wenn die Datei zwar den Header-String enthält, aber
* NICHT die erforderlichen folgenden Meta-Informationen:
*
* - numberOfImages
* - width
* - height
*
* Der Header allein reicht NICHT aus daher MUSS readImages()
* die Datei als ungültig erkennen und NULL zurückgeben.
*/
void test_readImagesFailsOnIncompleteHeader(void)
{
const char *path = "test_incomplete_header.info2";
FILE *file = fopen(path, "wb");
/*
* Wir schreiben absichtlich NUR den Datei-Header FILE_HEADER_STRING.
* Danach müssten aber 3 Werte folgen:
*
* unsigned short count
* unsigned short width
* unsigned short height
*
* Da diese fehlen, wird readImages() beim Lesen feststellen,
* dass fread() nicht genug Daten bekommt Fehler NULL.
*/
fwrite(FILE_HEADER_STRING, 1, strlen(FILE_HEADER_STRING), file);
fclose(file);
TEST_ASSERT_NULL(readImages(path));
remove(path);
}
void tearDown(void) {
// Hier kann Bereinigungsarbeit nach jedem Test durchgeführt werden
/*
* Dieser Test erzeugt eine Datei mit
* count = 1
* width = 4
* height = 4
*
* Daraus folgt:
* 1 Bild 16 Pixelbytes + 1 Labelbyte müssen folgen.
*
* WIR SCHREIBEN ABER NUR 5 Pixelbytes!
*
* Das bedeutet:
* - loadImageData() erhält weniger Daten als erwartet
* - fread() liefert eine zu kleine Anzahl gelesener Bytes
* - loadImageData() gibt 0 zurück
* - readImages() erkennt den Fehler und gibt NULL zurück
*/
void test_readImagesFailsOnTooFewPixels(void)
{
const char *path = "test_incomplete_pixels.info2";
FILE *file = fopen(path, "wb");
unsigned short count = 1, width = 4, height = 4;
/* Header + reguläre Metadaten */
fwrite(FILE_HEADER_STRING, 1, strlen(FILE_HEADER_STRING), file);
fwrite(&count, sizeof(count), 1, file);
fwrite(&width, sizeof(width), 1, file);
fwrite(&height, sizeof(height), 1, file);
/*
* Erwartet wären 4 × 4 = 16 Pixelbytes.
* Wir schreiben ABSICHTLICH NUR 5.
*/
unsigned char pixels[5] = {0};
fwrite(pixels, 1, 5, file);
fclose(file);
/* Erwartung: Fehler erkannt → NULL */
TEST_ASSERT_NULL(readImages(path));
remove(path);
}
/*
* Test prüft ungültige Meta-Daten:
*
* width = 0 Ein Bild mit Breite 0 existiert nicht.
*
* Auch height = 0 wäre ungültig.
*
* readImages() muss solche Fälle erkennen, bevor Speicher
* allokiert wird. Sobald width oder height 0 ist, muss
* readImages() abbrechen NULL zurückgeben.
*/
void test_readImagesFailsOnZeroWidthOrHeight(void)
{
const char *path = "test_zero_dims.info2";
FILE *file = fopen(path, "wb");
unsigned short count = 1, width = 0, height = 5;
/* Header + fehlerhafte Metadaten */
fwrite(FILE_HEADER_STRING, 1, strlen(FILE_HEADER_STRING), file);
fwrite(&count, sizeof(count), 1, file);
fwrite(&width, sizeof(width), 1, file);
fwrite(&height, sizeof(height), 1, file);
fclose(file);
TEST_ASSERT_NULL(readImages(path));
remove(path);
}
/****************************************************
* Unity Setup/Teardown *
****************************************************/
void setUp(void) { /* nicht benötigt */ }
void tearDown(void) { /* nicht benötigt */ }
/****************************************************
* MAIN *
****************************************************/
int main()
{
UNITY_BEGIN();
printf("\n============================\nImage input tests\n============================\n");
RUN_TEST(test_readImagesReturnsCorrectNumberOfImages);
RUN_TEST(test_readImagesReturnsCorrectImageWidth);
RUN_TEST(test_readImagesReturnsCorrectImageHeight);
@ -139,5 +293,10 @@ int main()
RUN_TEST(test_readImagesReturnsNullOnNotExistingPath);
RUN_TEST(test_readImagesFailsOnWrongFileTag);
/* Neue Tests */
RUN_TEST(test_readImagesFailsOnIncompleteHeader);
RUN_TEST(test_readImagesFailsOnTooFewPixels);
RUN_TEST(test_readImagesFailsOnZeroWidthOrHeight);
return UNITY_END();
}
}

BIN
runImageInputTests Executable file

Binary file not shown.

View File

@ -2,109 +2,112 @@
triple: 'x86_64-apple-darwin'
binary-path: runImageInputTests
relocations:
- { offset: 0x26, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectNumberOfImages, symObjAddr: 0x0, symBinAddr: 0x100000A80, symSize: 0xB0 }
- { offset: 0x6E, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectNumberOfImages, symObjAddr: 0x0, symBinAddr: 0x100000A80, symSize: 0xB0 }
- { offset: 0xAE, size: 0x8, addend: 0x0, symName: _prepareImageFile, symObjAddr: 0xB0, symBinAddr: 0x100000B30, symSize: 0x160 }
- { offset: 0x15E, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectImageWidth, symObjAddr: 0x210, symBinAddr: 0x100000C90, symSize: 0x130 }
- { offset: 0x19E, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectImageHeight, symObjAddr: 0x340, symBinAddr: 0x100000DC0, symSize: 0x130 }
- { offset: 0x1DE, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectLabels, symObjAddr: 0x470, symBinAddr: 0x100000EF0, symSize: 0x130 }
- { offset: 0x23A, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsNullOnNotExistingPath, symObjAddr: 0x5A0, symBinAddr: 0x100001020, symSize: 0x50 }
- { offset: 0x25E, size: 0x8, addend: 0x0, symName: _test_readImagesFailsOnWrongFileTag, symObjAddr: 0x5F0, symBinAddr: 0x100001070, symSize: 0x90 }
- { offset: 0x290, size: 0x8, addend: 0x0, symName: _setUp, symObjAddr: 0x680, symBinAddr: 0x100001100, symSize: 0x10 }
- { offset: 0x2A5, size: 0x8, addend: 0x0, symName: _tearDown, symObjAddr: 0x690, symBinAddr: 0x100001110, symSize: 0x10 }
- { offset: 0x2BA, size: 0x8, addend: 0x0, symName: _main, symObjAddr: 0x6A0, symBinAddr: 0x100001120, symSize: 0xC4 }
- { offset: 0x569, size: 0x8, addend: 0x0, symName: _readImages, symObjAddr: 0x0, symBinAddr: 0x1000011F0, symSize: 0x120 }
- { offset: 0x58A, size: 0x8, addend: 0x0, symName: _readImages, symObjAddr: 0x0, symBinAddr: 0x1000011F0, symSize: 0x120 }
- { offset: 0x5F8, size: 0x8, addend: 0x0, symName: _checkheader, symObjAddr: 0x120, symBinAddr: 0x100001310, symSize: 0x160 }
- { offset: 0x66C, size: 0x8, addend: 0x0, symName: _closefile, symObjAddr: 0x280, symBinAddr: 0x100001470, symSize: 0x30 }
- { offset: 0x690, size: 0x8, addend: 0x0, symName: _allocateSeries, symObjAddr: 0x2B0, symBinAddr: 0x1000014A0, symSize: 0x180 }
- { offset: 0x6FE, size: 0x8, addend: 0x0, symName: _loadImageData, symObjAddr: 0x430, symBinAddr: 0x100001620, symSize: 0xE0 }
- { offset: 0x796, size: 0x8, addend: 0x0, symName: _clearSeries, symObjAddr: 0x510, symBinAddr: 0x100001700, symSize: 0x7D }
- { offset: 0xAB0, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x100001780, symSize: 0x60 }
- { offset: 0xAC9, size: 0x8, addend: 0x0, symName: _UnityStrOk, symObjAddr: 0x4390, symBinAddr: 0x100005CD0, symSize: 0x0 }
- { offset: 0xAFD, size: 0x8, addend: 0x0, symName: _UnityStrPass, symObjAddr: 0x4393, symBinAddr: 0x100005CD3, symSize: 0x0 }
- { offset: 0xB1E, size: 0x8, addend: 0x0, symName: _UnityStrFail, symObjAddr: 0x4398, symBinAddr: 0x100005CD8, symSize: 0x0 }
- { offset: 0xB33, size: 0x8, addend: 0x0, symName: _UnityStrIgnore, symObjAddr: 0x439D, symBinAddr: 0x100005CDD, symSize: 0x0 }
- { offset: 0xB54, size: 0x8, addend: 0x0, symName: _UnityStrErrShorthand, symObjAddr: 0x43B0, symBinAddr: 0x100005CF0, symSize: 0x0 }
- { offset: 0xB75, size: 0x8, addend: 0x0, symName: _UnityStrErrFloat, symObjAddr: 0x43E0, symBinAddr: 0x100005D20, symSize: 0x0 }
- { offset: 0xB96, size: 0x8, addend: 0x0, symName: _UnityStrErrDouble, symObjAddr: 0x4400, symBinAddr: 0x100005D40, symSize: 0x0 }
- { offset: 0xBB7, size: 0x8, addend: 0x0, symName: _UnityStrErr64, symObjAddr: 0x4420, symBinAddr: 0x100005D60, symSize: 0x0 }
- { offset: 0xBCC, size: 0x8, addend: 0x0, symName: _UnityStrErrDetailStack, symObjAddr: 0x4440, symBinAddr: 0x100005D80, symSize: 0x0 }
- { offset: 0xBE1, size: 0x8, addend: 0x0, symName: _UnityPrintFloat, symObjAddr: 0x5D0, symBinAddr: 0x100001D50, symSize: 0x6D0 }
- { offset: 0xC04, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.sig_digits, symObjAddr: 0x4464, symBinAddr: 0x100005DA4, symSize: 0x0 }
- { offset: 0xC1A, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.min_scaled, symObjAddr: 0x4468, symBinAddr: 0x100005DA8, symSize: 0x0 }
- { offset: 0xC30, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.max_scaled, symObjAddr: 0x446C, symBinAddr: 0x100005DAC, symSize: 0x0 }
- { offset: 0xE00, size: 0x8, addend: 0x0, symName: _Unity, symBinAddr: 0x100007008, symSize: 0x0 }
- { offset: 0xEE8, size: 0x8, addend: 0x0, symName: _UnityQuickCompare, symObjAddr: 0xAE68, symBinAddr: 0x100007000, symSize: 0x0 }
- { offset: 0xF81, size: 0x8, addend: 0x0, symName: _UnityStrExpected, symObjAddr: 0x4470, symBinAddr: 0x100005DB0, symSize: 0x0 }
- { offset: 0xFA2, size: 0x8, addend: 0x0, symName: _UnityStrWas, symObjAddr: 0x447B, symBinAddr: 0x100005DBB, symSize: 0x0 }
- { offset: 0xFC3, size: 0x8, addend: 0x0, symName: _UnityStrSpacer, symObjAddr: 0x4605, symBinAddr: 0x100005F45, symSize: 0x0 }
- { offset: 0xFD8, size: 0x8, addend: 0x0, symName: _UnityStrDetail1Name, symObjAddr: 0x4608, symBinAddr: 0x100005F48, symSize: 0x0 }
- { offset: 0xFF9, size: 0x8, addend: 0x0, symName: _UnityStrDetail2Name, symObjAddr: 0x4612, symBinAddr: 0x100005F52, symSize: 0x0 }
- { offset: 0x100E, size: 0x8, addend: 0x0, symName: _UnityStrGt, symObjAddr: 0x4490, symBinAddr: 0x100005DD0, symSize: 0x0 }
- { offset: 0x102F, size: 0x8, addend: 0x0, symName: _UnityStrLt, symObjAddr: 0x44B0, symBinAddr: 0x100005DF0, symSize: 0x0 }
- { offset: 0x1050, size: 0x8, addend: 0x0, symName: _UnityStrOrEqual, symObjAddr: 0x44C2, symBinAddr: 0x100005E02, symSize: 0x0 }
- { offset: 0x1071, size: 0x8, addend: 0x0, symName: _UnityStrNotEqual, symObjAddr: 0x44D0, symBinAddr: 0x100005E10, symSize: 0x0 }
- { offset: 0x1086, size: 0x8, addend: 0x0, symName: _UnityStrPointless, symObjAddr: 0x44F0, symBinAddr: 0x100005E30, symSize: 0x0 }
- { offset: 0x10A7, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForExpected, symObjAddr: 0x4620, symBinAddr: 0x100005F60, symSize: 0x0 }
- { offset: 0x10C8, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForActual, symObjAddr: 0x4640, symBinAddr: 0x100005F80, symSize: 0x0 }
- { offset: 0x10E9, size: 0x8, addend: 0x0, symName: _UnityStrElement, symObjAddr: 0x4527, symBinAddr: 0x100005E67, symSize: 0x0 }
- { offset: 0x10FE, size: 0x8, addend: 0x0, symName: _UnityStrInf, symObjAddr: 0x4531, symBinAddr: 0x100005E71, symSize: 0x0 }
- { offset: 0x111F, size: 0x8, addend: 0x0, symName: _UnityStrNegInf, symObjAddr: 0x4540, symBinAddr: 0x100005E80, symSize: 0x0 }
- { offset: 0x1134, size: 0x8, addend: 0x0, symName: _UnityStrNaN, symObjAddr: 0x4552, symBinAddr: 0x100005E92, symSize: 0x0 }
- { offset: 0x1155, size: 0x8, addend: 0x0, symName: _UnityStrDet, symObjAddr: 0x4556, symBinAddr: 0x100005E96, symSize: 0x0 }
- { offset: 0x1176, size: 0x8, addend: 0x0, symName: _UnityStrInvalidFloatTrait, symObjAddr: 0x4570, symBinAddr: 0x100005EB0, symSize: 0x0 }
- { offset: 0x1197, size: 0x8, addend: 0x0, symName: _UnityStrNot, symObjAddr: 0x4584, symBinAddr: 0x100005EC4, symSize: 0x0 }
- { offset: 0x11AC, size: 0x8, addend: 0x0, symName: _UnityStrDelta, symObjAddr: 0x4590, symBinAddr: 0x100005ED0, symSize: 0x0 }
- { offset: 0x11CD, size: 0x8, addend: 0x0, symName: _UnityStrNull, symObjAddr: 0x4659, symBinAddr: 0x100005F99, symSize: 0x0 }
- { offset: 0x11E2, size: 0x8, addend: 0x0, symName: _UnityStrMemory, symObjAddr: 0x45B0, symBinAddr: 0x100005EF0, symSize: 0x0 }
- { offset: 0x11F7, size: 0x8, addend: 0x0, symName: _UnityStrByte, symObjAddr: 0x45C2, symBinAddr: 0x100005F02, symSize: 0x0 }
- { offset: 0x120C, size: 0x8, addend: 0x0, symName: _UnityStrBreaker, symObjAddr: 0x45D0, symBinAddr: 0x100005F10, symSize: 0x0 }
- { offset: 0x122D, size: 0x8, addend: 0x0, symName: _UnityStrResultsTests, symObjAddr: 0x45E8, symBinAddr: 0x100005F28, symSize: 0x0 }
- { offset: 0x124E, size: 0x8, addend: 0x0, symName: _UnityStrResultsFailures, symObjAddr: 0x45F0, symBinAddr: 0x100005F30, symSize: 0x0 }
- { offset: 0x1263, size: 0x8, addend: 0x0, symName: _UnityStrResultsIgnored, symObjAddr: 0x45FB, symBinAddr: 0x100005F3B, symSize: 0x0 }
- { offset: 0x13DC, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x100001780, symSize: 0x60 }
- { offset: 0x140E, size: 0x8, addend: 0x0, symName: _UnityPrintChar, symObjAddr: 0x60, symBinAddr: 0x1000017E0, symSize: 0xD0 }
- { offset: 0x1432, size: 0x8, addend: 0x0, symName: _UnityPrintLen, symObjAddr: 0x130, symBinAddr: 0x1000018B0, symSize: 0x130 }
- { offset: 0x1472, size: 0x8, addend: 0x0, symName: _UnityPrintNumberHex, symObjAddr: 0x260, symBinAddr: 0x1000019E0, symSize: 0x90 }
- { offset: 0x14C5, size: 0x8, addend: 0x0, symName: _UnityPrintIntNumberByStyle, symObjAddr: 0x2F0, symBinAddr: 0x100001A70, symSize: 0x100 }
- { offset: 0x14F7, size: 0x8, addend: 0x0, symName: _UnityPrintNumber, symObjAddr: 0x3F0, symBinAddr: 0x100001B70, symSize: 0x50 }
- { offset: 0x1529, size: 0x8, addend: 0x0, symName: _UnityPrintUintNumberByStyle, symObjAddr: 0x440, symBinAddr: 0x100001BC0, symSize: 0x60 }
- { offset: 0x155B, size: 0x8, addend: 0x0, symName: _UnityPrintNumberUnsigned, symObjAddr: 0x4A0, symBinAddr: 0x100001C20, symSize: 0x90 }
- { offset: 0x1590, size: 0x8, addend: 0x0, symName: _UnityPrintMask, symObjAddr: 0x530, symBinAddr: 0x100001CB0, symSize: 0xA0 }
- { offset: 0x1673, size: 0x8, addend: 0x0, symName: _UnityConcludeTest, symObjAddr: 0xCA0, symBinAddr: 0x100002420, symSize: 0xC0 }
- { offset: 0x1689, size: 0x8, addend: 0x0, symName: _UnityTestResultsBegin, symObjAddr: 0xD60, symBinAddr: 0x1000024E0, symSize: 0x60 }
- { offset: 0x16BE, size: 0x8, addend: 0x0, symName: _UnityAssertBits, symObjAddr: 0xDC0, symBinAddr: 0x100002540, symSize: 0xE0 }
- { offset: 0x1720, size: 0x8, addend: 0x0, symName: _UnityTestResultsFailBegin, symObjAddr: 0xEA0, symBinAddr: 0x100002620, symSize: 0x40 }
- { offset: 0x1746, size: 0x8, addend: 0x0, symName: _UnityAddMsgIfSpecified, symObjAddr: 0xEE0, symBinAddr: 0x100002660, symSize: 0xA0 }
- { offset: 0x176C, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntNumber, symObjAddr: 0xF80, symBinAddr: 0x100002700, symSize: 0xD0 }
- { offset: 0x17CE, size: 0x8, addend: 0x0, symName: _UnityAssertEqualUintNumber, symObjAddr: 0x1050, symBinAddr: 0x1000027D0, symSize: 0xD0 }
- { offset: 0x1830, size: 0x8, addend: 0x0, symName: _UnityAssertIntGreaterOrLessOrEqualNumber, symObjAddr: 0x1120, symBinAddr: 0x1000028A0, symSize: 0x1A0 }
- { offset: 0x18B0, size: 0x8, addend: 0x0, symName: _UnityAssertUintGreaterOrLessOrEqualNumber, symObjAddr: 0x12C0, symBinAddr: 0x100002A40, symSize: 0x1A0 }
- { offset: 0x1930, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntArray, symObjAddr: 0x1460, symBinAddr: 0x100002BE0, symSize: 0x3C0 }
- { offset: 0x1A28, size: 0x8, addend: 0x0, symName: _UnityIsOneArrayNull, symObjAddr: 0x1820, symBinAddr: 0x100002FA0, symSize: 0xB0 }
- { offset: 0x1A7F, size: 0x8, addend: 0x0, symName: _UnityAssertWithinFloatArray, symObjAddr: 0x18D0, symBinAddr: 0x100003050, symSize: 0x460 }
- { offset: 0x1C09, size: 0x8, addend: 0x0, symName: _UnityFloatsWithin, symObjAddr: 0x1D30, symBinAddr: 0x1000034B0, symSize: 0x5F0 }
- { offset: 0x1E8D, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsWithin, symObjAddr: 0x2320, symBinAddr: 0x100003AA0, symSize: 0xE0 }
- { offset: 0x1EEF, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsNotWithin, symObjAddr: 0x2400, symBinAddr: 0x100003B80, symSize: 0xE0 }
- { offset: 0x1F51, size: 0x8, addend: 0x0, symName: _UnityAssertGreaterOrLessFloat, symObjAddr: 0x24E0, symBinAddr: 0x100003C60, symSize: 0x1A0 }
- { offset: 0x1FC2, size: 0x8, addend: 0x0, symName: _UnityAssertFloatSpecial, symObjAddr: 0x2680, symBinAddr: 0x100003E00, symSize: 0x600 }
- { offset: 0x21AC, size: 0x8, addend: 0x0, symName: _UnityAssertIntNumbersWithin, symObjAddr: 0x2C80, symBinAddr: 0x100004400, symSize: 0x150 }
- { offset: 0x221D, size: 0x8, addend: 0x0, symName: _UnityAssertUintNumbersWithin, symObjAddr: 0x2DD0, symBinAddr: 0x100004550, symSize: 0x150 }
- { offset: 0x228E, size: 0x8, addend: 0x0, symName: _UnityAssertNumbersArrayWithin, symObjAddr: 0x2F20, symBinAddr: 0x1000046A0, symSize: 0x4E0 }
- { offset: 0x2396, size: 0x8, addend: 0x0, symName: _UnityAssertEqualString, symObjAddr: 0x3400, symBinAddr: 0x100004B80, symSize: 0x180 }
- { offset: 0x23F8, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStrings, symObjAddr: 0x3580, symBinAddr: 0x100004D00, symSize: 0xA0 }
- { offset: 0x242D, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringLen, symObjAddr: 0x3620, symBinAddr: 0x100004DA0, symSize: 0x1A0 }
- { offset: 0x249E, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStringsLen, symObjAddr: 0x37C0, symBinAddr: 0x100004F40, symSize: 0xB0 }
- { offset: 0x24E2, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringArray, symObjAddr: 0x3870, symBinAddr: 0x100004FF0, symSize: 0x2B0 }
- { offset: 0x2590, size: 0x8, addend: 0x0, symName: _UnityAssertEqualMemory, symObjAddr: 0x3B20, symBinAddr: 0x1000052A0, symSize: 0x2A0 }
- { offset: 0x264C, size: 0x8, addend: 0x0, symName: _UnityNumToPtr, symObjAddr: 0x3DC0, symBinAddr: 0x100005540, symSize: 0xB0 }
- { offset: 0x2685, size: 0x8, addend: 0x0, symName: _UnityFloatToPtr, symObjAddr: 0x3E70, symBinAddr: 0x1000055F0, symSize: 0x20 }
- { offset: 0x26AF, size: 0x8, addend: 0x0, symName: _UnityFail, symObjAddr: 0x3E90, symBinAddr: 0x100005610, symSize: 0xA0 }
- { offset: 0x26E4, size: 0x8, addend: 0x0, symName: _UnityIgnore, symObjAddr: 0x3F30, symBinAddr: 0x1000056B0, symSize: 0xC0 }
- { offset: 0x2719, size: 0x8, addend: 0x0, symName: _UnityMessage, symObjAddr: 0x3FF0, symBinAddr: 0x100005770, symSize: 0x70 }
- { offset: 0x274E, size: 0x8, addend: 0x0, symName: _UnityDefaultTestRun, symObjAddr: 0x4060, symBinAddr: 0x1000057E0, symSize: 0xD0 }
- { offset: 0x2792, size: 0x8, addend: 0x0, symName: _UnitySetTestFile, symObjAddr: 0x4130, symBinAddr: 0x1000058B0, symSize: 0x20 }
- { offset: 0x27B8, size: 0x8, addend: 0x0, symName: _UnityBegin, symObjAddr: 0x4150, symBinAddr: 0x1000058D0, symSize: 0xA0 }
- { offset: 0x27DE, size: 0x8, addend: 0x0, symName: _UnityEnd, symObjAddr: 0x41F0, symBinAddr: 0x100005970, symSize: 0xC8 }
- { offset: 0x26, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectNumberOfImages, symObjAddr: 0x0, symBinAddr: 0x100000700, symSize: 0xB0 }
- { offset: 0x6E, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectNumberOfImages, symObjAddr: 0x0, symBinAddr: 0x100000700, symSize: 0xB0 }
- { offset: 0xAE, size: 0x8, addend: 0x0, symName: _prepareImageFile, symObjAddr: 0xB0, symBinAddr: 0x1000007B0, symSize: 0x160 }
- { offset: 0x15E, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectImageWidth, symObjAddr: 0x210, symBinAddr: 0x100000910, symSize: 0x130 }
- { offset: 0x19E, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectImageHeight, symObjAddr: 0x340, symBinAddr: 0x100000A40, symSize: 0x130 }
- { offset: 0x1DE, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsCorrectLabels, symObjAddr: 0x470, symBinAddr: 0x100000B70, symSize: 0x130 }
- { offset: 0x23A, size: 0x8, addend: 0x0, symName: _test_readImagesReturnsNullOnNotExistingPath, symObjAddr: 0x5A0, symBinAddr: 0x100000CA0, symSize: 0x50 }
- { offset: 0x25E, size: 0x8, addend: 0x0, symName: _test_readImagesFailsOnWrongFileTag, symObjAddr: 0x5F0, symBinAddr: 0x100000CF0, symSize: 0x90 }
- { offset: 0x290, size: 0x8, addend: 0x0, symName: _test_readImagesFailsOnIncompleteHeader, symObjAddr: 0x680, symBinAddr: 0x100000D80, symSize: 0x90 }
- { offset: 0x2C2, size: 0x8, addend: 0x0, symName: _test_readImagesFailsOnTooFewPixels, symObjAddr: 0x710, symBinAddr: 0x100000E10, symSize: 0x110 }
- { offset: 0x32C, size: 0x8, addend: 0x0, symName: _test_readImagesFailsOnZeroWidthOrHeight, symObjAddr: 0x820, symBinAddr: 0x100000F20, symSize: 0xE0 }
- { offset: 0x388, size: 0x8, addend: 0x0, symName: _setUp, symObjAddr: 0x900, symBinAddr: 0x100001000, symSize: 0x10 }
- { offset: 0x39E, size: 0x8, addend: 0x0, symName: _tearDown, symObjAddr: 0x910, symBinAddr: 0x100001010, symSize: 0x10 }
- { offset: 0x3B4, size: 0x8, addend: 0x0, symName: _main, symObjAddr: 0x920, symBinAddr: 0x100001020, symSize: 0x10C }
- { offset: 0x670, size: 0x8, addend: 0x0, symName: _readImages, symObjAddr: 0x0, symBinAddr: 0x100001130, symSize: 0x120 }
- { offset: 0x691, size: 0x8, addend: 0x0, symName: _readImages, symObjAddr: 0x0, symBinAddr: 0x100001130, symSize: 0x120 }
- { offset: 0x6FF, size: 0x8, addend: 0x0, symName: _checkheader, symObjAddr: 0x120, symBinAddr: 0x100001250, symSize: 0x160 }
- { offset: 0x773, size: 0x8, addend: 0x0, symName: _closefile, symObjAddr: 0x280, symBinAddr: 0x1000013B0, symSize: 0x30 }
- { offset: 0x797, size: 0x8, addend: 0x0, symName: _allocateSeries, symObjAddr: 0x2B0, symBinAddr: 0x1000013E0, symSize: 0x180 }
- { offset: 0x805, size: 0x8, addend: 0x0, symName: _loadImageData, symObjAddr: 0x430, symBinAddr: 0x100001560, symSize: 0xE0 }
- { offset: 0x89D, size: 0x8, addend: 0x0, symName: _clearSeries, symObjAddr: 0x510, symBinAddr: 0x100001640, symSize: 0x7D }
- { offset: 0xBB7, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x1000016C0, symSize: 0x60 }
- { offset: 0xBD0, size: 0x8, addend: 0x0, symName: _UnityStrOk, symObjAddr: 0x4390, symBinAddr: 0x100005CD0, symSize: 0x0 }
- { offset: 0xC04, size: 0x8, addend: 0x0, symName: _UnityStrPass, symObjAddr: 0x4393, symBinAddr: 0x100005CD3, symSize: 0x0 }
- { offset: 0xC25, size: 0x8, addend: 0x0, symName: _UnityStrFail, symObjAddr: 0x4398, symBinAddr: 0x100005CD8, symSize: 0x0 }
- { offset: 0xC3A, size: 0x8, addend: 0x0, symName: _UnityStrIgnore, symObjAddr: 0x439D, symBinAddr: 0x100005CDD, symSize: 0x0 }
- { offset: 0xC5B, size: 0x8, addend: 0x0, symName: _UnityStrErrShorthand, symObjAddr: 0x43B0, symBinAddr: 0x100005CF0, symSize: 0x0 }
- { offset: 0xC7C, size: 0x8, addend: 0x0, symName: _UnityStrErrFloat, symObjAddr: 0x43E0, symBinAddr: 0x100005D20, symSize: 0x0 }
- { offset: 0xC9D, size: 0x8, addend: 0x0, symName: _UnityStrErrDouble, symObjAddr: 0x4400, symBinAddr: 0x100005D40, symSize: 0x0 }
- { offset: 0xCBE, size: 0x8, addend: 0x0, symName: _UnityStrErr64, symObjAddr: 0x4420, symBinAddr: 0x100005D60, symSize: 0x0 }
- { offset: 0xCD3, size: 0x8, addend: 0x0, symName: _UnityStrErrDetailStack, symObjAddr: 0x4440, symBinAddr: 0x100005D80, symSize: 0x0 }
- { offset: 0xCE8, size: 0x8, addend: 0x0, symName: _UnityPrintFloat, symObjAddr: 0x5D0, symBinAddr: 0x100001C90, symSize: 0x6D0 }
- { offset: 0xD0B, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.sig_digits, symObjAddr: 0x4464, symBinAddr: 0x100005DA4, symSize: 0x0 }
- { offset: 0xD21, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.min_scaled, symObjAddr: 0x4468, symBinAddr: 0x100005DA8, symSize: 0x0 }
- { offset: 0xD37, size: 0x8, addend: 0x0, symName: _UnityPrintFloat.max_scaled, symObjAddr: 0x446C, symBinAddr: 0x100005DAC, symSize: 0x0 }
- { offset: 0xF07, size: 0x8, addend: 0x0, symName: _Unity, symBinAddr: 0x100007008, symSize: 0x0 }
- { offset: 0xFEF, size: 0x8, addend: 0x0, symName: _UnityQuickCompare, symObjAddr: 0xAE68, symBinAddr: 0x100007000, symSize: 0x0 }
- { offset: 0x1088, size: 0x8, addend: 0x0, symName: _UnityStrExpected, symObjAddr: 0x4470, symBinAddr: 0x100005DB0, symSize: 0x0 }
- { offset: 0x10A9, size: 0x8, addend: 0x0, symName: _UnityStrWas, symObjAddr: 0x447B, symBinAddr: 0x100005DBB, symSize: 0x0 }
- { offset: 0x10CA, size: 0x8, addend: 0x0, symName: _UnityStrSpacer, symObjAddr: 0x4605, symBinAddr: 0x100005F45, symSize: 0x0 }
- { offset: 0x10DF, size: 0x8, addend: 0x0, symName: _UnityStrDetail1Name, symObjAddr: 0x4608, symBinAddr: 0x100005F48, symSize: 0x0 }
- { offset: 0x1100, size: 0x8, addend: 0x0, symName: _UnityStrDetail2Name, symObjAddr: 0x4612, symBinAddr: 0x100005F52, symSize: 0x0 }
- { offset: 0x1115, size: 0x8, addend: 0x0, symName: _UnityStrGt, symObjAddr: 0x4490, symBinAddr: 0x100005DD0, symSize: 0x0 }
- { offset: 0x1136, size: 0x8, addend: 0x0, symName: _UnityStrLt, symObjAddr: 0x44B0, symBinAddr: 0x100005DF0, symSize: 0x0 }
- { offset: 0x1157, size: 0x8, addend: 0x0, symName: _UnityStrOrEqual, symObjAddr: 0x44C2, symBinAddr: 0x100005E02, symSize: 0x0 }
- { offset: 0x1178, size: 0x8, addend: 0x0, symName: _UnityStrNotEqual, symObjAddr: 0x44D0, symBinAddr: 0x100005E10, symSize: 0x0 }
- { offset: 0x118D, size: 0x8, addend: 0x0, symName: _UnityStrPointless, symObjAddr: 0x44F0, symBinAddr: 0x100005E30, symSize: 0x0 }
- { offset: 0x11AE, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForExpected, symObjAddr: 0x4620, symBinAddr: 0x100005F60, symSize: 0x0 }
- { offset: 0x11CF, size: 0x8, addend: 0x0, symName: _UnityStrNullPointerForActual, symObjAddr: 0x4640, symBinAddr: 0x100005F80, symSize: 0x0 }
- { offset: 0x11F0, size: 0x8, addend: 0x0, symName: _UnityStrElement, symObjAddr: 0x4527, symBinAddr: 0x100005E67, symSize: 0x0 }
- { offset: 0x1205, size: 0x8, addend: 0x0, symName: _UnityStrInf, symObjAddr: 0x4531, symBinAddr: 0x100005E71, symSize: 0x0 }
- { offset: 0x1226, size: 0x8, addend: 0x0, symName: _UnityStrNegInf, symObjAddr: 0x4540, symBinAddr: 0x100005E80, symSize: 0x0 }
- { offset: 0x123B, size: 0x8, addend: 0x0, symName: _UnityStrNaN, symObjAddr: 0x4552, symBinAddr: 0x100005E92, symSize: 0x0 }
- { offset: 0x125C, size: 0x8, addend: 0x0, symName: _UnityStrDet, symObjAddr: 0x4556, symBinAddr: 0x100005E96, symSize: 0x0 }
- { offset: 0x127D, size: 0x8, addend: 0x0, symName: _UnityStrInvalidFloatTrait, symObjAddr: 0x4570, symBinAddr: 0x100005EB0, symSize: 0x0 }
- { offset: 0x129E, size: 0x8, addend: 0x0, symName: _UnityStrNot, symObjAddr: 0x4584, symBinAddr: 0x100005EC4, symSize: 0x0 }
- { offset: 0x12B3, size: 0x8, addend: 0x0, symName: _UnityStrDelta, symObjAddr: 0x4590, symBinAddr: 0x100005ED0, symSize: 0x0 }
- { offset: 0x12D4, size: 0x8, addend: 0x0, symName: _UnityStrNull, symObjAddr: 0x4659, symBinAddr: 0x100005F99, symSize: 0x0 }
- { offset: 0x12E9, size: 0x8, addend: 0x0, symName: _UnityStrMemory, symObjAddr: 0x45B0, symBinAddr: 0x100005EF0, symSize: 0x0 }
- { offset: 0x12FE, size: 0x8, addend: 0x0, symName: _UnityStrByte, symObjAddr: 0x45C2, symBinAddr: 0x100005F02, symSize: 0x0 }
- { offset: 0x1313, size: 0x8, addend: 0x0, symName: _UnityStrBreaker, symObjAddr: 0x45D0, symBinAddr: 0x100005F10, symSize: 0x0 }
- { offset: 0x1334, size: 0x8, addend: 0x0, symName: _UnityStrResultsTests, symObjAddr: 0x45E8, symBinAddr: 0x100005F28, symSize: 0x0 }
- { offset: 0x1355, size: 0x8, addend: 0x0, symName: _UnityStrResultsFailures, symObjAddr: 0x45F0, symBinAddr: 0x100005F30, symSize: 0x0 }
- { offset: 0x136A, size: 0x8, addend: 0x0, symName: _UnityStrResultsIgnored, symObjAddr: 0x45FB, symBinAddr: 0x100005F3B, symSize: 0x0 }
- { offset: 0x14E3, size: 0x8, addend: 0x0, symName: _UnityPrint, symObjAddr: 0x0, symBinAddr: 0x1000016C0, symSize: 0x60 }
- { offset: 0x1515, size: 0x8, addend: 0x0, symName: _UnityPrintChar, symObjAddr: 0x60, symBinAddr: 0x100001720, symSize: 0xD0 }
- { offset: 0x1539, size: 0x8, addend: 0x0, symName: _UnityPrintLen, symObjAddr: 0x130, symBinAddr: 0x1000017F0, symSize: 0x130 }
- { offset: 0x1579, size: 0x8, addend: 0x0, symName: _UnityPrintNumberHex, symObjAddr: 0x260, symBinAddr: 0x100001920, symSize: 0x90 }
- { offset: 0x15CC, size: 0x8, addend: 0x0, symName: _UnityPrintIntNumberByStyle, symObjAddr: 0x2F0, symBinAddr: 0x1000019B0, symSize: 0x100 }
- { offset: 0x15FE, size: 0x8, addend: 0x0, symName: _UnityPrintNumber, symObjAddr: 0x3F0, symBinAddr: 0x100001AB0, symSize: 0x50 }
- { offset: 0x1630, size: 0x8, addend: 0x0, symName: _UnityPrintUintNumberByStyle, symObjAddr: 0x440, symBinAddr: 0x100001B00, symSize: 0x60 }
- { offset: 0x1662, size: 0x8, addend: 0x0, symName: _UnityPrintNumberUnsigned, symObjAddr: 0x4A0, symBinAddr: 0x100001B60, symSize: 0x90 }
- { offset: 0x1697, size: 0x8, addend: 0x0, symName: _UnityPrintMask, symObjAddr: 0x530, symBinAddr: 0x100001BF0, symSize: 0xA0 }
- { offset: 0x177A, size: 0x8, addend: 0x0, symName: _UnityConcludeTest, symObjAddr: 0xCA0, symBinAddr: 0x100002360, symSize: 0xC0 }
- { offset: 0x1790, size: 0x8, addend: 0x0, symName: _UnityTestResultsBegin, symObjAddr: 0xD60, symBinAddr: 0x100002420, symSize: 0x60 }
- { offset: 0x17C5, size: 0x8, addend: 0x0, symName: _UnityAssertBits, symObjAddr: 0xDC0, symBinAddr: 0x100002480, symSize: 0xE0 }
- { offset: 0x1827, size: 0x8, addend: 0x0, symName: _UnityTestResultsFailBegin, symObjAddr: 0xEA0, symBinAddr: 0x100002560, symSize: 0x40 }
- { offset: 0x184D, size: 0x8, addend: 0x0, symName: _UnityAddMsgIfSpecified, symObjAddr: 0xEE0, symBinAddr: 0x1000025A0, symSize: 0xA0 }
- { offset: 0x1873, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntNumber, symObjAddr: 0xF80, symBinAddr: 0x100002640, symSize: 0xD0 }
- { offset: 0x18D5, size: 0x8, addend: 0x0, symName: _UnityAssertEqualUintNumber, symObjAddr: 0x1050, symBinAddr: 0x100002710, symSize: 0xD0 }
- { offset: 0x1937, size: 0x8, addend: 0x0, symName: _UnityAssertIntGreaterOrLessOrEqualNumber, symObjAddr: 0x1120, symBinAddr: 0x1000027E0, symSize: 0x1A0 }
- { offset: 0x19B7, size: 0x8, addend: 0x0, symName: _UnityAssertUintGreaterOrLessOrEqualNumber, symObjAddr: 0x12C0, symBinAddr: 0x100002980, symSize: 0x1A0 }
- { offset: 0x1A37, size: 0x8, addend: 0x0, symName: _UnityAssertEqualIntArray, symObjAddr: 0x1460, symBinAddr: 0x100002B20, symSize: 0x3C0 }
- { offset: 0x1B2F, size: 0x8, addend: 0x0, symName: _UnityIsOneArrayNull, symObjAddr: 0x1820, symBinAddr: 0x100002EE0, symSize: 0xB0 }
- { offset: 0x1B86, size: 0x8, addend: 0x0, symName: _UnityAssertWithinFloatArray, symObjAddr: 0x18D0, symBinAddr: 0x100002F90, symSize: 0x460 }
- { offset: 0x1D10, size: 0x8, addend: 0x0, symName: _UnityFloatsWithin, symObjAddr: 0x1D30, symBinAddr: 0x1000033F0, symSize: 0x5F0 }
- { offset: 0x1F94, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsWithin, symObjAddr: 0x2320, symBinAddr: 0x1000039E0, symSize: 0xE0 }
- { offset: 0x1FF6, size: 0x8, addend: 0x0, symName: _UnityAssertFloatsNotWithin, symObjAddr: 0x2400, symBinAddr: 0x100003AC0, symSize: 0xE0 }
- { offset: 0x2058, size: 0x8, addend: 0x0, symName: _UnityAssertGreaterOrLessFloat, symObjAddr: 0x24E0, symBinAddr: 0x100003BA0, symSize: 0x1A0 }
- { offset: 0x20C9, size: 0x8, addend: 0x0, symName: _UnityAssertFloatSpecial, symObjAddr: 0x2680, symBinAddr: 0x100003D40, symSize: 0x600 }
- { offset: 0x22B3, size: 0x8, addend: 0x0, symName: _UnityAssertIntNumbersWithin, symObjAddr: 0x2C80, symBinAddr: 0x100004340, symSize: 0x150 }
- { offset: 0x2324, size: 0x8, addend: 0x0, symName: _UnityAssertUintNumbersWithin, symObjAddr: 0x2DD0, symBinAddr: 0x100004490, symSize: 0x150 }
- { offset: 0x2395, size: 0x8, addend: 0x0, symName: _UnityAssertNumbersArrayWithin, symObjAddr: 0x2F20, symBinAddr: 0x1000045E0, symSize: 0x4E0 }
- { offset: 0x249D, size: 0x8, addend: 0x0, symName: _UnityAssertEqualString, symObjAddr: 0x3400, symBinAddr: 0x100004AC0, symSize: 0x180 }
- { offset: 0x24FF, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStrings, symObjAddr: 0x3580, symBinAddr: 0x100004C40, symSize: 0xA0 }
- { offset: 0x2534, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringLen, symObjAddr: 0x3620, symBinAddr: 0x100004CE0, symSize: 0x1A0 }
- { offset: 0x25A5, size: 0x8, addend: 0x0, symName: _UnityPrintExpectedAndActualStringsLen, symObjAddr: 0x37C0, symBinAddr: 0x100004E80, symSize: 0xB0 }
- { offset: 0x25E9, size: 0x8, addend: 0x0, symName: _UnityAssertEqualStringArray, symObjAddr: 0x3870, symBinAddr: 0x100004F30, symSize: 0x2B0 }
- { offset: 0x2697, size: 0x8, addend: 0x0, symName: _UnityAssertEqualMemory, symObjAddr: 0x3B20, symBinAddr: 0x1000051E0, symSize: 0x2A0 }
- { offset: 0x2753, size: 0x8, addend: 0x0, symName: _UnityNumToPtr, symObjAddr: 0x3DC0, symBinAddr: 0x100005480, symSize: 0xB0 }
- { offset: 0x278C, size: 0x8, addend: 0x0, symName: _UnityFloatToPtr, symObjAddr: 0x3E70, symBinAddr: 0x100005530, symSize: 0x20 }
- { offset: 0x27B6, size: 0x8, addend: 0x0, symName: _UnityFail, symObjAddr: 0x3E90, symBinAddr: 0x100005550, symSize: 0xA0 }
- { offset: 0x27EB, size: 0x8, addend: 0x0, symName: _UnityIgnore, symObjAddr: 0x3F30, symBinAddr: 0x1000055F0, symSize: 0xC0 }
- { offset: 0x2820, size: 0x8, addend: 0x0, symName: _UnityMessage, symObjAddr: 0x3FF0, symBinAddr: 0x1000056B0, symSize: 0x70 }
- { offset: 0x2855, size: 0x8, addend: 0x0, symName: _UnityDefaultTestRun, symObjAddr: 0x4060, symBinAddr: 0x100005720, symSize: 0xD0 }
- { offset: 0x2899, size: 0x8, addend: 0x0, symName: _UnitySetTestFile, symObjAddr: 0x4130, symBinAddr: 0x1000057F0, symSize: 0x20 }
- { offset: 0x28BF, size: 0x8, addend: 0x0, symName: _UnityBegin, symObjAddr: 0x4150, symBinAddr: 0x100005810, symSize: 0xA0 }
- { offset: 0x28E5, size: 0x8, addend: 0x0, symName: _UnityEnd, symObjAddr: 0x41F0, symBinAddr: 0x1000058B0, symSize: 0xC8 }
...

BIN
runMatrixTests Executable file

Binary file not shown.

BIN
runNeuralNetworkTests Executable file

Binary file not shown.