File indexing completed on 2024-04-28 05:52:39
0001 /* 0002 This file is part of the Okteta Gui library, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2008 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "bytearraytablelayouttest.hpp" 0010 0011 // test object 0012 #include <bytearraytablelayout.hpp> 0013 // Qt 0014 #include <QTest> 0015 0016 namespace Okteta { 0017 0018 // local variables 0019 static constexpr Size NoOfBytesPerLine = 8; 0020 static constexpr Address StartOffset = 22; 0021 static constexpr Address FirstLineOffset = 10; 0022 static constexpr Address RelativeStartOffset = StartOffset - FirstLineOffset; 0023 static constexpr Address ByteArrayOffset = 9; 0024 static constexpr Size Length = 250; 0025 static constexpr Address FinalOffset = (StartOffset + Length - 1); 0026 static constexpr Address RelativeFinalOffset = FinalOffset - FirstLineOffset; 0027 0028 static constexpr Line StartLine = RelativeStartOffset / NoOfBytesPerLine; 0029 static constexpr LinePosition StartLinePosition = RelativeStartOffset % NoOfBytesPerLine; 0030 static constexpr Coord StartCoord(StartLinePosition, StartLine); 0031 0032 static constexpr Line FinalLine = RelativeFinalOffset / NoOfBytesPerLine; 0033 static constexpr LinePosition FinalLinePosition = RelativeFinalOffset % NoOfBytesPerLine; 0034 static constexpr Coord FinalCoord(FinalLinePosition, FinalLine); 0035 0036 static constexpr LineSize NoOfLinesPerPage = 5; 0037 0038 0039 void ByteArrayTableLayoutTest::testConstructor() 0040 { 0041 ByteArrayTableLayout layout(NoOfBytesPerLine, FirstLineOffset, StartOffset, ByteArrayOffset, Length); 0042 0043 QCOMPARE(layout.noOfBytesPerLine(), NoOfBytesPerLine); 0044 QCOMPARE(layout.startOffset(), StartOffset); 0045 QCOMPARE(layout.byteArrayOffset(), ByteArrayOffset); 0046 QCOMPARE(layout.length(), Length); 0047 QCOMPARE(layout.startLine(), StartLine); 0048 QCOMPARE(layout.firstStartLinePosition(), StartLinePosition); 0049 QCOMPARE(layout.startCoord(), StartCoord); 0050 QCOMPARE(layout.finalLine(), FinalLine); 0051 QCOMPARE(layout.lastFinalLinePosition(), FinalLinePosition); 0052 QCOMPARE(layout.finalCoord(), FinalCoord); 0053 QCOMPARE(layout.noOfLines(), FinalLine + 1); 0054 QCOMPARE(layout.noOfLinesPerPage(), 1); 0055 } 0056 0057 void ByteArrayTableLayoutTest::testSetStartOffset() 0058 { 0059 ByteArrayTableLayout layout(NoOfBytesPerLine, FirstLineOffset, 0, ByteArrayOffset, Length); 0060 0061 layout.setStartOffset(StartOffset); 0062 QCOMPARE(layout.noOfBytesPerLine(), NoOfBytesPerLine); 0063 QCOMPARE(layout.startOffset(), StartOffset); 0064 QCOMPARE(layout.byteArrayOffset(), ByteArrayOffset); 0065 QCOMPARE(layout.length(), Length); 0066 QCOMPARE(layout.startLine(), StartLine); 0067 QCOMPARE(layout.firstStartLinePosition(), StartLinePosition); 0068 QCOMPARE(layout.startCoord(), StartCoord); 0069 QCOMPARE(layout.finalLine(), FinalLine); 0070 QCOMPARE(layout.lastFinalLinePosition(), FinalLinePosition); 0071 QCOMPARE(layout.finalCoord(), FinalCoord); 0072 QCOMPARE(layout.noOfLines(), FinalLine + 1); 0073 QCOMPARE(layout.noOfLinesPerPage(), 1); 0074 } 0075 0076 void ByteArrayTableLayoutTest::testSetFirstLineOffset() 0077 { 0078 ByteArrayTableLayout layout(NoOfBytesPerLine, 0, StartOffset, ByteArrayOffset, Length); 0079 0080 layout.setFirstLineOffset(FirstLineOffset); 0081 QCOMPARE(layout.noOfBytesPerLine(), NoOfBytesPerLine); 0082 QCOMPARE(layout.startOffset(), StartOffset); 0083 QCOMPARE(layout.byteArrayOffset(), ByteArrayOffset); 0084 QCOMPARE(layout.length(), Length); 0085 QCOMPARE(layout.startLine(), StartLine); 0086 QCOMPARE(layout.firstStartLinePosition(), StartLinePosition); 0087 QCOMPARE(layout.startCoord(), StartCoord); 0088 QCOMPARE(layout.finalLine(), FinalLine); 0089 QCOMPARE(layout.lastFinalLinePosition(), FinalLinePosition); 0090 QCOMPARE(layout.finalCoord(), FinalCoord); 0091 QCOMPARE(layout.noOfLines(), FinalLine + 1); 0092 QCOMPARE(layout.noOfLinesPerPage(), 1); 0093 } 0094 0095 void ByteArrayTableLayoutTest::testSetNoOfBytesPerLine() 0096 { 0097 ByteArrayTableLayout layout(1, FirstLineOffset, StartOffset, ByteArrayOffset, Length); 0098 0099 layout.setNoOfBytesPerLine(NoOfBytesPerLine); 0100 QCOMPARE(layout.noOfBytesPerLine(), NoOfBytesPerLine); 0101 QCOMPARE(layout.startOffset(), StartOffset); 0102 QCOMPARE(layout.byteArrayOffset(), ByteArrayOffset); 0103 QCOMPARE(layout.length(), Length); 0104 QCOMPARE(layout.startLine(), StartLine); 0105 QCOMPARE(layout.firstStartLinePosition(), StartLinePosition); 0106 QCOMPARE(layout.startCoord(), StartCoord); 0107 QCOMPARE(layout.finalLine(), FinalLine); 0108 QCOMPARE(layout.lastFinalLinePosition(), FinalLinePosition); 0109 QCOMPARE(layout.finalCoord(), FinalCoord); 0110 QCOMPARE(layout.noOfLines(), FinalLine + 1); 0111 QCOMPARE(layout.noOfLinesPerPage(), 1); 0112 } 0113 0114 void ByteArrayTableLayoutTest::testSetLength() 0115 { 0116 ByteArrayTableLayout layout(NoOfBytesPerLine, FirstLineOffset, StartOffset, ByteArrayOffset, 1); 0117 0118 layout.setLength(Length); 0119 QCOMPARE(layout.noOfBytesPerLine(), NoOfBytesPerLine); 0120 QCOMPARE(layout.startOffset(), StartOffset); 0121 QCOMPARE(layout.byteArrayOffset(), ByteArrayOffset); 0122 QCOMPARE(layout.length(), Length); 0123 QCOMPARE(layout.startLine(), StartLine); 0124 QCOMPARE(layout.firstStartLinePosition(), StartLinePosition); 0125 QCOMPARE(layout.startCoord(), StartCoord); 0126 QCOMPARE(layout.finalLine(), FinalLine); 0127 QCOMPARE(layout.lastFinalLinePosition(), FinalLinePosition); 0128 QCOMPARE(layout.finalCoord(), FinalCoord); 0129 QCOMPARE(layout.noOfLines(), FinalLine + 1); 0130 QCOMPARE(layout.noOfLinesPerPage(), 1); 0131 } 0132 0133 void ByteArrayTableLayoutTest::testSetByteArrayOffset() 0134 { 0135 ByteArrayTableLayout layout(NoOfBytesPerLine, FirstLineOffset, StartOffset, 0, Length); 0136 0137 layout.setByteArrayOffset(ByteArrayOffset); 0138 QCOMPARE(layout.noOfBytesPerLine(), NoOfBytesPerLine); 0139 QCOMPARE(layout.startOffset(), StartOffset); 0140 QCOMPARE(layout.byteArrayOffset(), ByteArrayOffset); 0141 QCOMPARE(layout.length(), Length); 0142 QCOMPARE(layout.startLine(), StartLine); 0143 QCOMPARE(layout.firstStartLinePosition(), StartLinePosition); 0144 QCOMPARE(layout.startCoord(), StartCoord); 0145 QCOMPARE(layout.finalLine(), FinalLine); 0146 QCOMPARE(layout.lastFinalLinePosition(), FinalLinePosition); 0147 QCOMPARE(layout.finalCoord(), FinalCoord); 0148 QCOMPARE(layout.noOfLines(), FinalLine + 1); 0149 QCOMPARE(layout.noOfLinesPerPage(), 1); 0150 } 0151 0152 void ByteArrayTableLayoutTest::testSetNoOfLinesPerPage() 0153 { 0154 ByteArrayTableLayout layout(NoOfBytesPerLine, FirstLineOffset, StartOffset, ByteArrayOffset, Length); 0155 0156 layout.setNoOfLinesPerPage(NoOfLinesPerPage); 0157 QCOMPARE(layout.noOfBytesPerLine(), NoOfBytesPerLine); 0158 QCOMPARE(layout.startOffset(), StartOffset); 0159 QCOMPARE(layout.byteArrayOffset(), ByteArrayOffset); 0160 QCOMPARE(layout.length(), Length); 0161 QCOMPARE(layout.startLine(), StartLine); 0162 QCOMPARE(layout.firstStartLinePosition(), StartLinePosition); 0163 QCOMPARE(layout.startCoord(), StartCoord); 0164 QCOMPARE(layout.finalLine(), FinalLine); 0165 QCOMPARE(layout.lastFinalLinePosition(), FinalLinePosition); 0166 QCOMPARE(layout.finalCoord(), FinalCoord); 0167 QCOMPARE(layout.noOfLines(), FinalLine + 1); 0168 QCOMPARE(layout.noOfLinesPerPage(), NoOfLinesPerPage); 0169 } 0170 0171 } 0172 0173 QTEST_MAIN(Okteta::ByteArrayTableLayoutTest) 0174 0175 #include "moc_bytearraytablelayouttest.cpp"