|
1 | 1 | #include "tests.h"
|
| 2 | +#include <QDebug> |
| 3 | +#include "bitChanger.h" |
| 4 | +#include "steganography.h" |
| 5 | +#include "intermediary.h" |
| 6 | +#include <QList> |
| 7 | +#include "crypt.h" |
| 8 | + |
| 9 | +#define UNICODE 1 |
| 10 | +#define ASCII 0 |
| 11 | +#define ENCRYPT 1 |
| 12 | +#define DECRYPT 0 |
2 | 13 |
|
3 | 14 | Tests::Tests()
|
4 | 15 | {
|
| 16 | + mainWindowTest(); |
| 17 | + steganographyTest(); |
| 18 | + bitChangerTest(); |
| 19 | +} |
| 20 | + |
| 21 | +void Tests::mainWindowTest() |
| 22 | +{ |
| 23 | + QString plain = QString("HALLO dies IST ein TeSt"); |
| 24 | + QString savePath = "C://QtSDK//projects//HAW-AI-Steganography-22305d1//test_ausgabe.png"; |
| 25 | + int format = 0; |
| 26 | + QString oldPath = "C://QtSDK//projects//HAW-AI-Steganography-22305d1//test.png"; |
| 27 | + Intermediary hideIntermediary = Intermediary(oldPath); |
| 28 | + |
| 29 | + hideIntermediary.setText(&plain,format); |
| 30 | + hideIntermediary.hide_1Bit(savePath); |
| 31 | + Intermediary findIntermediary = Intermediary(savePath); |
| 32 | + qDebug()<<"'HALLO dies IST ein TeSt' wurde versteckt, gefunden wurde :"<<*findIntermediary.getHiddenText(); |
| 33 | + |
| 34 | + QString key = QString("TEST"); |
| 35 | + Crypt c (&plain, &key, ASCII); |
| 36 | + c.caesar(1); |
| 37 | + qDebug()<<"'HALLO dies IST ein TeSt' wurde verschlüsselt (caesar): "<< plain; |
| 38 | + c.caesar(0); |
| 39 | + qDebug()<<"Text wurde wieder entschlüsselt (caesar): "<<plain; |
| 40 | + |
| 41 | + c.vigenere(1); |
| 42 | + qDebug()<<"'HALLO dies IST ein TeSt' wurde verschlüsselt (viginere): "<< plain; |
| 43 | + c.vigenere(0); |
| 44 | + qDebug()<<"Text wurde wieder entschlüsselt (viginere): "<<plain; |
| 45 | + |
| 46 | +} |
| 47 | + |
| 48 | +void Tests::bitChangerTest() |
| 49 | +{ |
| 50 | + qDebug("### Test von BitChanger:"); |
| 51 | + qDebug(); |
| 52 | + BitChanger bitchanger = BitChanger(); |
| 53 | + QString* a = bitchanger.toBits(1,1); |
| 54 | + qDebug()<< "a = bitchanger.toBits(1,1) --> "<< *a <<", erwartet war: 1"; |
| 55 | + |
| 56 | + QString* b = bitchanger.toBits(1,3); |
| 57 | + qDebug()<<"b = bitchanger.toBits(1,3) -->"<<*b<<", erwartet war: 001"; |
| 58 | + |
| 59 | + QString* c = bitchanger.toBits(0,1); |
| 60 | + qDebug()<<"c = bitchanger.toBits(0,1) -->"<<*c<<", erwartet war: 0"; |
| 61 | + |
| 62 | + QString* d = bitchanger.toBits(1,0); |
| 63 | + qDebug()<<"d = bitchanger.toBits(1,0) -->"<< *d << ", erwartet war: 1"; |
| 64 | + |
| 65 | + QString* e = bitchanger.toBits(33,8); |
| 66 | + qDebug()<<"e = bitchanger.toBits(33,8) --> "<<*e<<", erwartet war: 00100001"; |
| 67 | + |
| 68 | + QString* f = bitchanger.toBits(1999,1); |
| 69 | + qDebug()<<"f = bitchanger.toBits(1999,1) --> "<<*f<<" erwartet war: 11111001111"; |
| 70 | + |
| 71 | + qDebug(); |
| 72 | + qDebug()<<"*bitchanger.toIntVal(a) --> "<< bitchanger.toIntVal(a) <<", erwartet war: 1"; |
| 73 | + qDebug()<<"*bitchanger.toIntVal(b) --> "<< bitchanger.toIntVal(b) <<", erwartet war: 1"; |
| 74 | + qDebug()<<"*bitchanger.toIntVal(c) --> "<< bitchanger.toIntVal(c) <<", erwartet war: 0"; |
| 75 | + qDebug()<<"*bitchanger.toIntVal(d) --> "<< bitchanger.toIntVal(d) <<", erwartet war: 1"; |
| 76 | + qDebug()<<"*bitchanger.toIntVal(e) --> "<< bitchanger.toIntVal(e) <<", erwartet war: 33"; |
| 77 | + qDebug()<<"*bitchanger.toIntVal(f) --> "<< bitchanger.toIntVal(f) <<", erwartet war: 1999"; |
| 78 | + |
| 79 | + qDebug(); |
| 80 | + qDebug()<<"*bitchanger.textToBitsInIntList_8Bit(&QString('A') --> "<<*bitchanger.textToBitsInIntList_8Bit(&QString("A"))<<", erwartet war: 01000001"; |
| 81 | + qDebug()<<"*bitchanger.textToBitsInIntList_8Bit(&QString('') --> "<<*bitchanger.textToBitsInIntList_8Bit(&QString(""))<<", erwartet war: 00000000"; |
| 82 | + qDebug()<<"*bitchanger.textToBitsInIntList_8Bit(&QString('AAAA') --> "<<*bitchanger.textToBitsInIntList_8Bit(&QString("AAAA"))<<", erwartet war: 01000001010000010100000101000001"; |
| 83 | + qDebug()<<"*bitchanger.textToBitsInIntList_8Bit(&QString('ABC') --> "<<*bitchanger.textToBitsInIntList_8Bit(&QString("ABC"))<<", erwartet war: 010000010100001001000011"; |
| 84 | + |
| 85 | + qDebug(); // FEHLER - Immer der Selbe Wert! |
| 86 | + qDebug()<<"*bitchanger.textToBitsInIntList_16Bit(&QString('A')) --> "<< *bitchanger.textToBitsInIntList_16Bit(&QString("A"))<<", erwartet war: 0000000001000001"; |
| 87 | + qDebug()<<"*bitchanger.textToBitsInIntList_16Bit(&QString('')) --> "<<*bitchanger.textToBitsInIntList_16Bit(&QString(""))<<", erwartet war: 0000000000000000"; |
| 88 | + qDebug()<<"*bitchanger.textToBitsInIntList_16Bit(&QString('AAAA')) -->" <<*bitchanger.textToBitsInIntList_16Bit(&QString("AAAA"))<<", erwartet war: 0000000001000001000000000100000100000000010000010000000001000001"; |
| 89 | + qDebug()<<"*bitchanger.textToBitsInIntList_16Bit(&QString('ABC')) --> "<<*bitchanger.textToBitsInIntList_16Bit(&QString("ABC"))<<", erwartet war: 000000000100000100000000010000100000000001000011"; |
| 90 | + qDebug(); |
| 91 | + |
| 92 | + QList<uint> list; |
| 93 | + list<< 1 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 1 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 0; |
| 94 | + qDebug()<<"bitchanger.bitStreamToText_8Bit(1000000110000010) --> "<<bitchanger.bitStreamToText_8Bit(&list,16)<<", erwartet war: 'AB'"; |
| 95 | + list<<1; |
| 96 | + qDebug()<<"bitchanger.bitStreamToText_8Bit(&QString('1')) --> "<<*bitchanger.bitStreamToText_8Bit(&list,1)<<", erwartet war: FEHLER"; |
| 97 | + list<< 0 << 0 << 1 << 1 << 0 << 0 << 1 << 1; |
| 98 | + qDebug()<<"bitchanger.bitStreamToText_8Bit(&QString('00110011')) --> "<<*bitchanger.bitStreamToText_8Bit(&list,8)<<", erwartet war: '3'"; |
| 99 | + list<< 1 << 0 << 0 << 0 << 0 << 1 << 0 << 0; |
| 100 | + qDebug()<<"bitchanger.bitStreamToText_8Bit(&QString('10000100')) --> "<<*bitchanger.bitStreamToText_8Bit(&list,8)<<", erwartet war: 'Z'"; |
| 101 | + list<< 1 << 1 << 1 << 1 << 1 << 1 << 1 << 1 << 1 ; |
| 102 | + qDebug()<<"bitchanger.bitStreamToText_8Bit(&QString('111111111')) --> "<<*bitchanger.bitStreamToText_8Bit(&list,9)<<", erwartet war: FEHLER"; |
| 103 | + list<< 1 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 1 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 1 << 0 << 0 << 0 << 0 << 0 << 0 << 1; |
| 104 | + qDebug()<<"bitchanger.bitStreamToText_8Bit(&QString('100000011000001010000011')) --> "<<*bitchanger.bitStreamToText_8Bit(&list,24)<<", erwartet war: 'ABC'"; |
| 105 | + |
| 106 | + qDebug(); |
| 107 | + list<< 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 0 << 0 << 0 << 0 << 0 << 1 << 0; |
| 108 | + qDebug()<<"bitchanger.bitStreamToText_16Bit(&QString('00000000100000010000000010000010')) --> "<<*bitchanger.bitStreamToText_16Bit(&list,32)<<", erwartet war: 'AB'"; |
| 109 | + list<< 1; |
| 110 | + qDebug()<<"bitchanger.bitStreamToText_16Bit(&QString('1')) --> "<<*bitchanger.bitStreamToText_16Bit(&list,1)<<", erwartet war: FEHLER"; |
| 111 | + list<< 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 1 << 0 << 0 << 1 << 1; |
| 112 | + qDebug()<<"bitchanger.bitStreamToText_16Bit(&QString('0000000000110011')) --> "<<*bitchanger.bitStreamToText_16Bit(&list, 16)<<", erwartet war: '3'"; |
| 113 | + list<< 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 0 << 1 << 1 << 0 << 1 << 0; |
| 114 | + qDebug()<<"bitchanger.bitStreamToText_16Bit(&QString('0000000001011010')) --> "<<*bitchanger.bitStreamToText_16Bit(&list, 16)<<", erwartet war: 'Z'"; |
| 115 | + list<< 1 << 1 << 1 << 1 << 1 << 1 << 1 << 1 ; |
| 116 | + qDebug()<<"bitchanger.bitStreamToText_16Bit(&QString('111111111')) --> "<<*bitchanger.bitStreamToText_16Bit(&list,8)<<", erwartet war: FEHLER"; |
| 117 | + list<< 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 0 << 0 << 0 << 0 << 0 << 1 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 0 << 1 << 0 << 0 << 0 << 0 << 0 << 1 << 1 ; |
| 118 | + qDebug()<<"bitchanger.bitStreamToText_16Bit(&QString('000000001000000100000000100000100000000010000011')) --> "<<*bitchanger.bitStreamToText_16Bit(&list,48)<<", erwartet war: 'ABC'"; |
| 119 | + |
| 120 | + qDebug(); |
| 121 | + qDebug()<<"bitchanger.changeLastBit(200,'1') --> "<< bitchanger.changeLastBit(200,'1')<<", erwartet war: 201"; |
| 122 | + qDebug()<<"bitchanger.changeLastBit(201,'1') --> "<< bitchanger.changeLastBit(201,'1')<<", erwartet war: 201"; |
| 123 | + qDebug()<<"bitchanger.changeLastBit(0,'1') --> "<< bitchanger.changeLastBit(0,'1')<<", erwartet war: 1"; |
| 124 | + qDebug()<<"bitchanger.changeLastBit(200,'10') --> "<< bitchanger.changeLastBit(200,'10')<<", erwartet war: 200"; |
| 125 | + qDebug()<<"bitchanger.changeLastBit(200,'010') --> "<< bitchanger.changeLastBit(200,'010')<<", erwartet war: 200"; |
| 126 | + |
| 127 | + |
| 128 | + qDebug(); |
| 129 | +} |
| 130 | + |
| 131 | + |
| 132 | + |
| 133 | +void Tests::steganographyTest() |
| 134 | +{ |
| 135 | + |
| 136 | + BitChanger bitchanger = BitChanger(); |
| 137 | + |
| 138 | + qDebug(); |
| 139 | + qDebug()<<"SteganographyTest - Anfang"; |
| 140 | + |
| 141 | + qDebug(); |
| 142 | + Steganography a = Steganography::Steganography("te"); |
| 143 | + Steganography b = Steganography::Steganography("C:\\QtSDK\\projects\\HAW-AI-Steganography-22305d1\\test.png"); |
| 144 | + qDebug()<<"Steganography a = Steganography::Steganography('te');"; |
| 145 | + qDebug()<<"Steganography b = Steganography::Steganography('C:\\QtSDK\\projects\\HAW-AI-Steganography-22305d1\\test.png');"; |
| 146 | + qDebug()<<"a.imageIsNull() --> "<<a.imageIsNull()<<", erwartet war: true"; |
| 147 | + qDebug()<<"b.imageIsNull() --> "<<b.imageIsNull()<<", erwartet war: false"; |
| 148 | + |
| 149 | + |
| 150 | + QString newPath = QString("C:\\QtSDK\\projects\\HAW-AI-Steganography-22305d1\\test_ausgabe.png"); |
| 151 | + qDebug(); |
| 152 | + qDebug()<<"b.saveImage('newPath') --> "<< b.saveImage(QString("C:\\QtSDK\\projects\\HAW-AI-Steganography-22305d1\\test_ausgabe.png")) << ", erwartet war: true"; |
| 153 | + qDebug()<<"b.saveImage('C:\\QtSDK\\projects\\HAW-AI-Steganography-22305d1\\') --> "<< b.saveImage(QString("C:\\QtSDK\\projects\\HAW-AI-Steganography-22305d1\\")) << ", erwartet war: false"; |
| 154 | + qDebug()<<"b.saveImage('test_ausgabe') --> "<< b.saveImage("test_ausgabe2") << ", erwartet war: true"; |
| 155 | + qDebug()<<"b.saveImage('test_ausgabe.png') --> "<< b.saveImage(QString("test_ausgabe3.png")) << ", erwartet war: true"; |
| 156 | + qDebug()<<"a.saveImage('C:\\QtSDK\\projects\\HAW-AI-Steganography-22305d1\\test_ausgabe') --> "<< a.saveImage(QString("C:\\QtSDK\\projects\\HAW-AI-Steganography-22305d1\\test_ausgabe.png")) << ", erwartet war: false"; |
| 157 | + |
| 158 | + qDebug(); |
| 159 | + qDebug()<<"b.insertBitstream(bitchanger.textToBitsInIntList_16Bit(&QString('HALLO'))) --> "<<b.insertBitstream(bitchanger.textToBitsInIntList_16Bit(&QString("HALLO")))<<", erwartet war: 1"; |
| 160 | + qDebug()<<"a.insertBitstream(bitchanger.textToBitsInIntList_16Bit(&QString('HALLO'))) --> "<<a.insertBitstream(bitchanger.textToBitsInIntList_16Bit(&QString("HALLO")))<<", erwartet war: -2"; |
| 161 | + |
| 162 | + qDebug(); |
| 163 | + qDebug()<<"b.insertBitstream_3BitsPerPixel(bitchanger.textToBitsInIntList_16Bit(&QString('HALLO'))) --> "<<b.insertBitstream_3BitsPerPixel(bitchanger.textToBitsInIntList_16Bit(&QString("HALLO")))<<", erwartet war: 1"; |
| 164 | + qDebug()<<"a.insertBitstream_3BitsPerPixel(bitchanger.textToBitsInIntList_16Bit(&QString('HALLO'))) --> "<<a.insertBitstream_3BitsPerPixel(bitchanger.textToBitsInIntList_16Bit(&QString("HALLO")))<<", erwartet war: -2"; |
| 165 | + |
| 166 | + qDebug(); |
| 167 | + qDebug()<<"insertIntInHeader(5,5) --> "<< b.insertIntInHeader(5,5) <<", erwartet war: 1"; |
| 168 | +// qDebug()<<"insertIntInHeader(5,5) --> "<< a.insertIntInHeader(5,5) <<", erwartet war: FEHLER"; // FEHLER PROGRAMM ABSTURZ |
| 169 | + |
| 170 | + qDebug(); |
| 171 | + qDebug()<<"b.getIntFromHeader(5) --> "<< b.getIntFromHeader(5) <<", erwartet war: 5"; |
| 172 | +// qDebug()<<"a.getIntFromHeader(5) --> "<< a.getIntFromHeader(5) <<", erwartet war: FEHLER"; // ABSTURZ DES PROGRAMMS |
| 173 | + |
| 174 | + qDebug(); |
| 175 | + qDebug()<<"b.insertSizeInHeader(50) --> "<<b.insertSizeInHeader(50)<<", erwartet war: 1"; |
| 176 | + qDebug()<<"a.insertSizeInHeader(50) --> "<<a.insertSizeInHeader(50)<<", erwartet war: -2"; |
| 177 | + |
| 178 | + qDebug(); |
| 179 | + qDebug()<<"b.getSizeFromHeader() -->"<<b.getSizeFromHeader()<<", erwartet war: 50"; |
| 180 | + qDebug()<<"a.getSizeFromHeader() -->"<<a.getSizeFromHeader()<<", erwartet war: -1"; |
| 181 | + |
| 182 | + qDebug(); |
| 183 | + qDebug()<<"b.insertBitsPerPixelInHeader(3) -->"<<b.insertBitsPerPixelInHeader(3)<<", erwartet war: 1"; |
| 184 | + qDebug()<<"a.insertBitsPerPixelInHeader(3) -->"<<a.insertBitsPerPixelInHeader(3)<<", erwartet war: -2"; |
| 185 | + |
| 186 | + qDebug(); |
| 187 | + qDebug()<<"b.getBitsPerPixelFromHeader() -->"<<b.getBitsPerPixelFromHeader()<<", erwartet war: 3"; |
| 188 | + qDebug()<<"a.getBitsPerPixelFromHeader() -->"<<a.getBitsPerPixelFromHeader()<<", erwartet war: -1"; |
| 189 | + |
| 190 | + qDebug(); |
| 191 | + qDebug()<<"b.insertSequenceNoInHeader(3) -->"<<b.insertSequenceNoInHeader(3)<<", erwartet war: 1"; |
| 192 | + qDebug()<<"a.insertSequenceNoInHeader(3) -->"<<a.insertSequenceNoInHeader(3)<<", erwartet war: -2"; |
| 193 | + |
| 194 | + qDebug(); |
| 195 | + qDebug()<<"b.getSequenceNoFromHeader() -->"<<b.getSequenceNoFromHeader()<<", erwartet war: 3"; |
| 196 | + qDebug()<<"a.getSequenceNoFromHeader() -->"<<a.getSequenceNoFromHeader()<<", erwartet war: -1"; |
| 197 | + |
| 198 | + qDebug(); |
| 199 | + qDebug()<<"b.insertFirstAttribute(5) -->"<<b.insertFirstAttribute(5)<<", erwartet war: 1"; |
| 200 | + qDebug()<<"a.insertFirstAttribute(5) -->"<<a.insertFirstAttribute(5)<<", erwartet war: -2"; |
| 201 | + |
| 202 | + qDebug(); |
| 203 | + qDebug()<<"b.getFirstAttributeFromHeader() -->"<<b.getFirstAttributeFromHeader()<<", erwartet war: 5"; |
| 204 | + qDebug()<<"a.getFirstAttributeFromHeader() -->"<<a.getFirstAttributeFromHeader()<<", erwartet war: -1"; |
| 205 | + |
| 206 | + qDebug(); |
| 207 | + qDebug()<<"b.insertSecondAttribute(5) -->"<<b.insertSecondAttribute(5)<<", erwartet war: 1"; |
| 208 | + qDebug()<<"a.insertSecondAttribute(5) -->"<<a.insertSecondAttribute(5)<<", erwartet war: -2"; |
| 209 | + |
| 210 | + qDebug(); |
| 211 | + qDebug()<<"b.getSecondAttributeFromHeader() -->"<<b.getSecondAttributeFromHeader()<<", erwartet war: 5"; |
| 212 | + qDebug()<<"a.getSecondAttributeFromHeader() -->"<<a.getSecondAttributeFromHeader()<<", erwartet war: -1"; |
| 213 | + |
| 214 | + qDebug(); |
| 215 | + qDebug()<<"b.lastBit(1) -->"<<b.lastBit(1)<<", erwartet war: 1"; |
| 216 | + qDebug()<<"b.lastBit(1) -->"<<b.lastBit(0)<<", erwartet war: 0"; |
| 217 | + qDebug()<<"b.lastBit(1) -->"<<b.lastBit(9)<<", erwartet war: 1"; |
| 218 | + qDebug()<<"b.lastBit(1) -->"<<b.lastBit(10)<<", erwartet war: 0"; |
| 219 | + qDebug()<<"b.lastBit(1) -->"<<b.lastBit(27)<<", erwartet war: 1"; |
| 220 | + qDebug()<<"a.lastBit(1) -->"<<a.lastBit(1)<<", erwartet war: 1"; |
| 221 | + qDebug()<<"a.lastBit(1) -->"<<a.lastBit(0)<<", erwartet war: 0"; |
| 222 | + qDebug()<<"a.lastBit(1) -->"<<a.lastBit(9)<<", erwartet war: 1"; |
| 223 | + qDebug()<<"a.lastBit(1) -->"<<a.lastBit(10)<<", erwartet war: 0"; |
| 224 | + qDebug()<<"a.lastBit(1) -->"<<a.lastBit(27)<<", erwartet war: 1"; |
| 225 | + |
| 226 | + |
| 227 | + qDebug(); |
| 228 | + qDebug()<<"b.getFormatFromHeader() --> "<<b.getFormatFromHeader()<<", erwartet war: 2"; |
| 229 | + |
| 230 | + qDebug(); |
| 231 | + qDebug("Fertig"); |
| 232 | + |
5 | 233 | }
|
0 commit comments