File indexing completed on 2024-04-14 03:48:44

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2013 Bernhard Beschow <bbeschow@cs.tu-berlin.de>
0004 //
0005 
0006 
0007 #include "ScreenGraphicsItem.h"
0008 #include "GeoGraphicsItem.h"
0009 
0010 #include <QTest>
0011 
0012 namespace Marble
0013 {
0014 
0015 class ScreenGraphicsItemTest : public QObject
0016 {
0017     Q_OBJECT
0018 
0019 private Q_SLOTS:
0020     void defaultConstructorValues();
0021 
0022     void constructorValuesScreenParent();
0023 
0024     void setLayout();
0025 };
0026 
0027 void ScreenGraphicsItemTest::defaultConstructorValues()
0028 {
0029     const ScreenGraphicsItem item;
0030 
0031     QCOMPARE( item.layout(), static_cast<AbstractMarbleGraphicsLayout *>( nullptr ) );
0032     QCOMPARE( item.cacheMode(), ScreenGraphicsItem::NoCache );
0033     QCOMPARE( item.visible(), true );
0034     QCOMPARE( item.size(), QSizeF() );
0035     QCOMPARE( item.contentSize(), QSizeF() );
0036 
0037     QCOMPARE( item.position(), QPointF( 0, 0 ) );
0038     QCOMPARE( item.positivePosition(), QPointF( 0, 0 ) );
0039     QCOMPARE( item.absolutePositions().size(), 1 );
0040     QCOMPARE( item.absolutePositions()[0], QPointF( 0, 0 ) );
0041 
0042     // invariants
0043     QCOMPARE( item.contentRect(), QRectF( item.position(), item.contentSize() ) );
0044 }
0045 
0046 void ScreenGraphicsItemTest::constructorValuesScreenParent()
0047 {
0048     ScreenGraphicsItem screenParent;
0049 
0050     QVERIFY( screenParent.absolutePositions().size() == 1 );
0051     QVERIFY( screenParent.absolutePositions()[0] == QPointF( 0, 0 ) );
0052 
0053     const ScreenGraphicsItem item( &screenParent );
0054 
0055     QCOMPARE( item.layout(), static_cast<AbstractMarbleGraphicsLayout *>( nullptr ) );
0056     QCOMPARE( item.cacheMode(), ScreenGraphicsItem::NoCache );
0057     QCOMPARE( item.visible(), true );
0058     QCOMPARE( item.size(), QSizeF() );
0059     QCOMPARE( item.contentSize(), QSizeF() );
0060 
0061     QCOMPARE( item.position(), QPointF( 0, 0 ) );
0062     QCOMPARE( item.positivePosition(), QPointF( 0, 0 ) );
0063 
0064     // invariants
0065     QCOMPARE( item.contentRect(), QRectF( item.position(), item.contentSize() ) );
0066 
0067     QCOMPARE( item.absolutePositions().size(), screenParent.absolutePositions().size() );
0068     QCOMPARE( item.absolutePositions(), screenParent.absolutePositions() );
0069 }
0070 
0071 void ScreenGraphicsItemTest::setLayout()
0072 {
0073     ScreenGraphicsItem screenParent;
0074 
0075     QVERIFY( screenParent.absolutePositions().size() == 1 );
0076     QVERIFY( screenParent.absolutePositions()[0] == QPointF( 0, 0 ) );
0077 
0078     const ScreenGraphicsItem item( &screenParent );
0079 
0080     QCOMPARE( item.layout(), static_cast<AbstractMarbleGraphicsLayout *>( nullptr ) );
0081     QCOMPARE( item.cacheMode(), ScreenGraphicsItem::NoCache );
0082     QCOMPARE( item.visible(), true );
0083     QCOMPARE( item.size(), QSizeF() );
0084     QCOMPARE( item.contentSize(), QSizeF() );
0085 
0086     QCOMPARE( item.position(), QPointF( 0, 0 ) );
0087     QCOMPARE( item.positivePosition(), QPointF( 0, 0 ) );
0088 
0089     // invariants
0090     QCOMPARE( item.contentRect(), QRectF( item.position(), item.contentSize() ) );
0091 
0092     QCOMPARE( item.absolutePositions().size(), screenParent.absolutePositions().size() );
0093     QCOMPARE( item.absolutePositions(), screenParent.absolutePositions() );
0094 }
0095 
0096 }
0097 
0098 QTEST_MAIN( Marble::ScreenGraphicsItemTest )
0099 
0100 #include "ScreenGraphicsItemTest.moc"