You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

177 lines
4.7 KiB

  1. package de.hs_fulda.ciip.projjpn;
  2. import junit.framework.TestCase;
  3. public class CustomersTest extends TestCase {
  4. public void test_nicknameIsFree() {
  5. // Given
  6. Customers customers = new Customers();
  7. String availableNickname = "beastMaster64";
  8. // When
  9. boolean nicknameIsAvailable = customers.nickNameAvailable(availableNickname);
  10. // Then
  11. assertTrue(nicknameIsAvailable);
  12. }
  13. /**
  14. * Register a user only when the given nickname is available.
  15. */
  16. public void test_nicknameIsTaken() {
  17. // Given
  18. Customers customers = new Customers();
  19. String availableNickname = "beastMaster64";
  20. String takenNickname = "beastMaster64";
  21. User userToRegister = new User(availableNickname);
  22. customers.registerUser(userToRegister);
  23. // When
  24. boolean nicknameIsTaken = customers.nickNameAvailable(availableNickname);
  25. // Then
  26. assertFalse(nicknameIsTaken);
  27. }
  28. /**
  29. * Register a single user and check whether it worked.
  30. */
  31. public void test_registerSingleUser() {
  32. // Given
  33. Customers customers = new Customers();
  34. String expectedNickNameInput = "Mougli";
  35. User expectedNewUser = new User(expectedNickNameInput);
  36. // Add a user
  37. customers.registerUser(expectedNewUser);
  38. // Get the expected User
  39. User expectedUser = customers.getByNickname(expectedNickNameInput);
  40. //
  41. assertNotNull(expectedNewUser);
  42. String expectedNickNameGotBack = expectedUser.nickName;
  43. // When
  44. boolean userRegistered = expectedNickNameGotBack.equals(expectedNickNameInput);
  45. // Then
  46. assertTrue(userRegistered);
  47. }
  48. /**
  49. * Register multiple Users and then search for them in the same order.
  50. */
  51. public void test_registerMultipleUsers() {
  52. // Given
  53. Customers customers = new Customers();
  54. String[] expectedNickNamesInput = {"Mougli", "Tarkan", "beastMaster64", "BlaBlaPew", "MuchDoge_321"};
  55. User[] expectedNewUsers = new User[expectedNickNamesInput.length];
  56. for (int i = 0; i < expectedNickNamesInput.length; i++) {
  57. // Create user
  58. expectedNewUsers[i] = new User(expectedNickNamesInput[i]);
  59. // Add user
  60. customers.registerUser(expectedNewUsers[i]);
  61. }
  62. // Get the expected Users
  63. User foundUser;
  64. String expectedNickNameGotBack;
  65. boolean userRegistered;
  66. for (int i = 0; i < expectedNickNamesInput.length; i++) {
  67. // Get user
  68. foundUser = customers.getByNickname(expectedNickNamesInput[i]);
  69. assertNotNull(foundUser);
  70. // When
  71. expectedNickNameGotBack = foundUser.nickName;
  72. userRegistered = expectedNickNameGotBack.equals(expectedNickNamesInput[i]);
  73. // Then
  74. assertTrue(userRegistered);
  75. }
  76. }
  77. /**
  78. * Test if deletion of an allready registered customer works.
  79. */
  80. public void test_removeRegisteredUser() {
  81. // Given
  82. Customers customers = new Customers();
  83. String userToRemove = "beastMaster64";
  84. User userToRegister = new User("beastMaster64");
  85. customers.registerUser(userToRegister);
  86. // When
  87. boolean userExists = customers.nickNameAvailable(userToRemove);
  88. assertFalse(userExists);
  89. // Then
  90. User removedUser = customers.deleteUser(userToRemove);
  91. assertEquals(userToRemove, removedUser.nickName);
  92. }
  93. /**
  94. * Register a given number of users.
  95. */
  96. public void test_registerAndCountUsers() {
  97. // Given
  98. Customers customers = new Customers();
  99. int expectedRegisteredUsers = 20;
  100. int actualRegisteredUsers = -1;
  101. String nickname;
  102. // Prepare
  103. for(int i = 0, j = 1; i < expectedRegisteredUsers; i++, j++) {
  104. nickname = "beastMaster_" + j;
  105. customers.registerUser(new User(nickname));
  106. }
  107. actualRegisteredUsers = customers.getCountOfUsers();
  108. assertEquals(expectedRegisteredUsers, actualRegisteredUsers);
  109. }
  110. /**
  111. * Check if the Registration of a User works as intended.
  112. */
  113. public void test_createRegisterAndCheckUserData() {
  114. // Given
  115. Customers customers = new Customers();
  116. String firstName = "Mia";
  117. String lastName = "Muster";
  118. String nickName = "harley";
  119. String eMail = "mia@muster.de";
  120. Birthdate birthdate = new Birthdate(30, 12, 1997);
  121. User userToCheck = new User(firstName, lastName, nickName, eMail, birthdate);
  122. // Register User
  123. customers.registerUser(userToCheck);
  124. User gotUser = customers.getByNickname(nickName);
  125. assertNotNull(gotUser);
  126. // When
  127. boolean correctFirstName = "Mia".equals(gotUser.getFirstName());
  128. boolean correctLastName = "Muster".equals(gotUser.getLastName());
  129. boolean correctNickName = "harley".equals(gotUser.getNickName());
  130. boolean correctEMail = "mia@muster.de".equals(gotUser.getEMail());
  131. boolean correctBirthdate = birthdate.toString().equals(gotUser.birthdate.toString());
  132. // Then
  133. assertTrue(correctFirstName);
  134. assertTrue(correctLastName);
  135. assertTrue(correctNickName);
  136. assertTrue(correctEMail);
  137. assertTrue(correctBirthdate);
  138. }
  139. }