ctkDICOMPersonNameTest1.cpp 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. // Qt includes
  2. #include <QApplication>
  3. #include <QDir>
  4. #include <QTimer>
  5. // ctkDICOMCore includes
  6. #include "ctkDICOMPersonName.h"
  7. // STD includes
  8. #include <iostream>
  9. #include <cstdlib>
  10. int ctkDICOMPersonNameTest1( int argc, char * argv [] )
  11. {
  12. QApplication app(argc, argv);
  13. ctkDICOMPersonName personName("lastName", "firstName", "middleName", "namePrefix", "nameSuffix");
  14. if (personName.lastName() != "lastName")
  15. {
  16. std::cerr << "ctkDICOMPersonName::lastName() failed:"
  17. << qPrintable(personName.lastName()) << std::endl;
  18. return EXIT_FAILURE;
  19. }
  20. if (personName.firstName() != "firstName")
  21. {
  22. std::cerr << "ctkDICOMPersonName::firstName() failed:"
  23. << qPrintable(personName.firstName()) << std::endl;
  24. return EXIT_FAILURE;
  25. }
  26. if (personName.middleName() != "middleName")
  27. {
  28. std::cerr << "ctkDICOMPersonName::middleName() failed:"
  29. << qPrintable(personName.middleName()) << std::endl;
  30. return EXIT_FAILURE;
  31. }
  32. if (personName.namePrefix() != "namePrefix")
  33. {
  34. std::cerr << "ctkDICOMPersonName::namePrefix() failed:"
  35. << qPrintable(personName.namePrefix()) << std::endl;
  36. return EXIT_FAILURE;
  37. }
  38. if (personName.nameSuffix() != "nameSuffix")
  39. {
  40. std::cerr << "ctkDICOMPersonName::nameSuffix() failed:"
  41. << qPrintable(personName.nameSuffix()) << std::endl;
  42. return EXIT_FAILURE;
  43. }
  44. if (personName.formattedName() != "lastName, firstName middleName, nameSuffix")
  45. {
  46. std::cerr << "ctkDICOMPersonName::nameSuffix() failed:"
  47. << qPrintable(personName.formattedName()) << std::endl;
  48. return EXIT_FAILURE;
  49. }
  50. // test operator QString()
  51. if (QString(personName) != QString("lastName, firstName middleName, nameSuffix"))
  52. {
  53. std::cerr << "ctkDICOMPersonName::nameSuffix() failed:"
  54. << qPrintable(QString(personName)) << std::endl;
  55. return EXIT_FAILURE;
  56. }
  57. // test toStdString()
  58. // TODO: make it fail
  59. if (personName.toStdString() != std::string("lastName, firstName middleName, nameSuffix"))
  60. {
  61. std::cerr << "ctkDICOMPersonName::nameSuffix() failed:"
  62. << personName.toStdString() << std::endl;
  63. return EXIT_FAILURE;
  64. }
  65. ctkDICOMPersonName samePersonName(personName);
  66. if (samePersonName.lastName() != personName.lastName() ||
  67. samePersonName.firstName() != personName.firstName() ||
  68. samePersonName.middleName() != personName.middleName() ||
  69. samePersonName.namePrefix() != personName.namePrefix() ||
  70. samePersonName.nameSuffix() != personName.nameSuffix() ||
  71. samePersonName.formattedName() != personName.formattedName())
  72. {
  73. std::cerr << "ctkDICOMPersonName::ctkDICOMPersonName(ctkDICOMPersonName&) failed:"
  74. << qPrintable(samePersonName.formattedName()) << std::endl;
  75. return EXIT_FAILURE;
  76. }
  77. ctkDICOMPersonName otherPerson("just a last name");
  78. if (otherPerson.lastName() != "just a last name" ||
  79. !otherPerson.firstName().isEmpty() ||
  80. !otherPerson.middleName().isEmpty() ||
  81. !otherPerson.namePrefix().isEmpty() ||
  82. !otherPerson.nameSuffix().isEmpty() ||
  83. otherPerson.formattedName() != "just a last name")
  84. {
  85. std::cerr << "ctkDICOMPersonName with empty fields failed:"
  86. << qPrintable(otherPerson.formattedName()) << std::endl;
  87. return EXIT_FAILURE;
  88. }
  89. otherPerson = samePersonName;
  90. if (otherPerson.lastName() != personName.lastName() ||
  91. otherPerson.firstName() != personName.firstName() ||
  92. otherPerson.middleName() != personName.middleName() ||
  93. otherPerson.namePrefix() != personName.namePrefix() ||
  94. otherPerson.nameSuffix() != personName.nameSuffix() ||
  95. otherPerson.formattedName() != personName.formattedName())
  96. {
  97. std::cerr << "ctkDICOMPersonName::operator=(const ctkDICOMPersonName&) failed:"
  98. << qPrintable(otherPerson.formattedName()) << std::endl;
  99. return EXIT_FAILURE;
  100. }
  101. if (argc <= 1 || QString(argv[1]) != "-I")
  102. {
  103. QTimer::singleShot(200, &app, SLOT(quit()));
  104. }
  105. return app.exec();
  106. }