File indexing completed on 2024-06-09 04:23:37

0001 /*
0002  *  SPDX-FileCopyrightText: 2007 Cyrille Berger <cberger@cberger.net>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #include "TestKoChannelInfo.h"
0008 
0009 #include <simpletest.h>
0010 
0011 #include <QDomElement>
0012 
0013 #include "KoColorModelStandardIds.h"
0014 
0015 #include "KoColor.h"
0016 #include "KoChannelInfo.h"
0017 #include "DebugPigment.h"
0018 
0019 void TestKoChannelInfo::testDisplayPositionToChannelIndex()
0020 {
0021     QList<KoChannelInfo*> channels;
0022     channels << new KoChannelInfo(i18n("Blue") , 0, 2, KoChannelInfo::COLOR, KoChannelInfo::UINT8, 1, QColor(0, 0, 255))
0023              << new KoChannelInfo(i18n("Green"), 1, 1, KoChannelInfo::COLOR, KoChannelInfo::UINT8, 1, QColor(0, 255, 0))
0024              << new KoChannelInfo(i18n("Red")  , 2, 0, KoChannelInfo::COLOR, KoChannelInfo::UINT8, 1, QColor(255, 0, 0))
0025              << new KoChannelInfo(i18n("Alpha"), 3, 3, KoChannelInfo::ALPHA, KoChannelInfo::UINT8);
0026 
0027     QCOMPARE(KoChannelInfo::displayPositionToChannelIndex(0, channels), 2);
0028     QCOMPARE(KoChannelInfo::displayPositionToChannelIndex(1, channels), 1);
0029     QCOMPARE(KoChannelInfo::displayPositionToChannelIndex(2, channels), 0);
0030     QCOMPARE(KoChannelInfo::displayPositionToChannelIndex(3, channels), 3);
0031 }
0032 
0033 void TestKoChannelInfo::testdisplayOrderSorted()
0034 {
0035     QList<KoChannelInfo*> channels;
0036     channels << new KoChannelInfo(i18n("Blue") , 0, 2, KoChannelInfo::COLOR, KoChannelInfo::UINT8, 1, QColor(0, 0, 255))
0037              << new KoChannelInfo(i18n("Green"), 1, 1, KoChannelInfo::COLOR, KoChannelInfo::UINT8, 1, QColor(0, 255, 0))
0038              << new KoChannelInfo(i18n("Red")  , 2, 0, KoChannelInfo::COLOR, KoChannelInfo::UINT8, 1, QColor(255, 0, 0))
0039              << new KoChannelInfo(i18n("Alpha"), 3, 3, KoChannelInfo::ALPHA, KoChannelInfo::UINT8);
0040 
0041     QList<KoChannelInfo*> sortedChannels = KoChannelInfo::displayOrderSorted(channels);
0042     QCOMPARE(sortedChannels[0]->displayPosition(), 0);
0043     QCOMPARE(sortedChannels[1]->displayPosition(), 1);
0044     QCOMPARE(sortedChannels[2]->displayPosition(), 2);
0045     QCOMPARE(sortedChannels[3]->displayPosition(), 3);
0046 }
0047 
0048 QTEST_GUILESS_MAIN(TestKoChannelInfo)