ctkSliderSpinBoxWidgetTest1.cpp 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. /*=========================================================================
  2. Library: CTK
  3. Copyright (c) Kitware Inc.
  4. All rights reserved.
  5. Distributed under a BSD License. See LICENSE.txt file.
  6. This software is distributed "AS IS" WITHOUT ANY WARRANTY; without even
  7. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  8. See the above copyright notice for more information.
  9. =========================================================================*/
  10. // Qt includes
  11. #include <QApplication>
  12. // CTK includes
  13. #include "ctkSliderSpinBoxWidget.h"
  14. // STD includes
  15. #include <cstdlib>
  16. #include <iostream>
  17. //-----------------------------------------------------------------------------
  18. int ctkSliderSpinBoxWidgetTest1(int argc, char * argv [] )
  19. {
  20. QApplication app(argc, argv);
  21. ctkSliderSpinBoxWidget sliderSpinBox;
  22. // the first part of the tests infer 2 decimals
  23. if (sliderSpinBox.decimals() != 2)
  24. {
  25. std::cerr << "ctkSliderSpinBoxWidget::decimals default value failed."
  26. << sliderSpinBox.decimals() << std::endl;
  27. return EXIT_FAILURE;
  28. }
  29. sliderSpinBox.setValue(32.12);
  30. if (!qFuzzyCompare(sliderSpinBox.value(), 32.12))
  31. {
  32. std::cerr << "ctkSliderSpinBoxWidget::setValue failed."
  33. << sliderSpinBox.value() << std::endl;
  34. return EXIT_FAILURE;
  35. }
  36. sliderSpinBox.setMinimum(10.0123);
  37. if (!qFuzzyCompare(sliderSpinBox.minimum(), 10.01) ||
  38. !qFuzzyCompare(sliderSpinBox.value(), 32.12))
  39. {
  40. std::cerr << "ctkSliderSpinBoxWidget::setMinimum failed."
  41. << sliderSpinBox.minimum() << " "
  42. << sliderSpinBox.value() << std::endl;
  43. return EXIT_FAILURE;
  44. }
  45. sliderSpinBox.setMaximum(2050.9876);
  46. if (!qFuzzyCompare(sliderSpinBox.maximum(), 2050.99) ||
  47. !qFuzzyCompare(sliderSpinBox.value(), 32.12))
  48. {
  49. std::cerr << "ctkSliderSpinBoxWidget::setMaximum failed."
  50. << sliderSpinBox.maximum() << " "
  51. << sliderSpinBox.value() << std::endl;
  52. return EXIT_FAILURE;
  53. }
  54. sliderSpinBox.setSingleStep(0.1);
  55. if (!qFuzzyCompare(sliderSpinBox.singleStep(), 0.1) ||
  56. !qFuzzyCompare(sliderSpinBox.value(), 32.12))
  57. {
  58. std::cerr << "ctkSliderSpinBoxWidget::setMaximum failed."
  59. << sliderSpinBox.singleStep() << " "
  60. << sliderSpinBox.value() << std::endl;
  61. return EXIT_FAILURE;
  62. }
  63. sliderSpinBox.setDecimals(1);
  64. if (sliderSpinBox.decimals() != 1 ||
  65. !qFuzzyCompare(sliderSpinBox.value(), 32.1))
  66. {
  67. std::cerr << "ctkSliderSpinBoxWidget::setDecimals failed."
  68. << sliderSpinBox.decimals() << " "
  69. << sliderSpinBox.value() << std::endl;
  70. return EXIT_FAILURE;
  71. }
  72. sliderSpinBox.setValue(77.777);
  73. if (!qFuzzyCompare(sliderSpinBox.value(), 77.8))
  74. {
  75. std::cerr << "ctkSliderSpinBoxWidget::setValue failed."
  76. << sliderSpinBox.value() << std::endl;
  77. return EXIT_FAILURE;
  78. }
  79. sliderSpinBox.setTickInterval(0.1);
  80. if (!qFuzzyCompare(sliderSpinBox.tickInterval(), 0.1) ||
  81. !qFuzzyCompare(sliderSpinBox.value(), 77.8))
  82. {
  83. std::cerr << "ctkSliderSpinBoxWidget::setTickInterval failed."
  84. << sliderSpinBox.tickInterval() << " "
  85. << sliderSpinBox.value() << std::endl;
  86. return EXIT_FAILURE;
  87. }
  88. sliderSpinBox.setMinimum(80.5678);
  89. if (!qFuzzyCompare(sliderSpinBox.minimum(), 80.6) ||
  90. !qFuzzyCompare(sliderSpinBox.value(), 80.6))
  91. {
  92. std::cerr << "ctkSliderSpinBoxWidget::setMinimum failed."
  93. << sliderSpinBox.minimum() << " "
  94. << sliderSpinBox.value() << std::endl;
  95. return EXIT_FAILURE;
  96. }
  97. sliderSpinBox.reset();
  98. if (!qFuzzyCompare(sliderSpinBox.value(), 80.6))
  99. {
  100. std::cerr << "ctkSliderSpinBoxWidget::reset failed."
  101. << sliderSpinBox.value() << std::endl;
  102. return EXIT_FAILURE;
  103. }
  104. sliderSpinBox.setSpinBoxAlignment(Qt::AlignRight);
  105. if (sliderSpinBox.spinBoxAlignment() != Qt::AlignRight ||
  106. !qFuzzyCompare(sliderSpinBox.value(), 80.6))
  107. {
  108. std::cerr << "ctkSliderSpinBoxWidget::setMinimum failed."
  109. << sliderSpinBox.spinBoxAlignment() << " "
  110. << sliderSpinBox.value() << std::endl;
  111. return EXIT_FAILURE;
  112. }
  113. sliderSpinBox.setAutoSpinBoxWidth(false);
  114. if (sliderSpinBox.isAutoSpinBoxWidth() != false ||
  115. !qFuzzyCompare(sliderSpinBox.value(), 80.6))
  116. {
  117. std::cerr << "ctkSliderSpinBoxWidget::setMinimum failed."
  118. << sliderSpinBox.isAutoSpinBoxWidth() << " "
  119. << sliderSpinBox.value() << std::endl;
  120. return EXIT_FAILURE;
  121. }
  122. sliderSpinBox.setPrefix("$");
  123. if (sliderSpinBox.prefix() != "$" ||
  124. !qFuzzyCompare(sliderSpinBox.value(), 80.6))
  125. {
  126. std::cerr << "ctkSliderSpinBoxWidget::setPrefix failed."
  127. << sliderSpinBox.prefix().toLatin1().data() << " "
  128. << sliderSpinBox.value() << std::endl;
  129. return EXIT_FAILURE;
  130. }
  131. sliderSpinBox.setSuffix("mm");
  132. if (sliderSpinBox.suffix() != "mm" ||
  133. !qFuzzyCompare(sliderSpinBox.value(), 80.6))
  134. {
  135. std::cerr << "ctkSliderSpinBoxWidget::setSuffix failed."
  136. << sliderSpinBox.suffix().toLatin1().data() << " "
  137. << sliderSpinBox.value() << std::endl;
  138. return EXIT_FAILURE;
  139. }
  140. // FIXME check that the correct signals are sent.
  141. return EXIT_SUCCESS;
  142. }