Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkUIDGeneratorTest.cpp
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 // Testing
14 #include "mitkTestFixture.h"
15 #include "mitkTestingMacros.h"
16 // std includes
17 #include <string>
18 // MITK includes
19 #include "mitkUIDGenerator.h"
20 #include <mitkLogMacros.h>
21 #include <mitkTestFixture.h>
22 #include <mitkTestingMacros.h>
23 
24 class mitkUIDGeneratorTestSuite : public mitk::TestFixture
25 {
26  CPPUNIT_TEST_SUITE(mitkUIDGeneratorTestSuite);
27  MITK_TEST(UIDGeneratorInstanceRenewalSucceed);
28  MITK_TEST(UIDGeneratorMultipleInstancesSucceed);
29 
30  CPPUNIT_TEST_SUITE_END();
31 
32  unsigned short m_UidLengthStart = 5;
33  unsigned short m_UidLengthEnd = 20;
34 
35 
36  void UIDGeneratorInstanceRenewalSucceed()
37  {
38  for (auto k = m_UidLengthStart; k < m_UidLengthEnd; ++k)
39  {
40  mitk::UIDGenerator uidGen1("UID_", k);
41  auto uid1_1 = uidGen1.GetUID();
42 
43  uidGen1 = mitk::UIDGenerator("UID_", k);
44  auto uid2_1 = uidGen1.GetUID();
45 
46  CPPUNIT_ASSERT_MESSAGE("Different UIDs are not allowed to be equal", uid1_1 != uid2_1);
47  }
48  }
49 
50  void UIDGeneratorMultipleInstancesSucceed()
51  {
52  for (auto k = m_UidLengthStart; k < m_UidLengthEnd; ++k)
53  {
54  mitk::UIDGenerator uidGen1("UID_", k);
55  mitk::UIDGenerator uidGen2("UID_", k);
56 
57  auto uid1_1 = uidGen1.GetUID();
58  auto uid2_1 = uidGen2.GetUID();
59 
60  CPPUNIT_ASSERT_MESSAGE("Different UIDs are not allowed to be equal", uid1_1 != uid2_1);
61  }
62  }
63 };
64 
65 MITK_TEST_SUITE_REGISTRATION(mitkUIDGenerator)
float k(1.0)
MITK_TEST_SUITE_REGISTRATION(mitkImageToItk)
Generated unique IDs.
#define MITK_TEST(TESTMETHOD)
Adds a test to the current test suite.
Test fixture for parameterized tests.