ctkDICOMPersonNameTest1.cpp 4.0 KB

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