HasByIdTest.java 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.zipcodewilmington.generic.group;
  2. import com.zipcodewilmington.generic.identifiables.ActionFigure;
  3. import com.zipcodewilmington.generic.identifiables.IdentifiableInterface;
  4. import com.zipcodewilmington.generic.identifiables.Person;
  5. import org.junit.Assert;
  6. import org.junit.Test;
  7. import java.io.Serializable;
  8. import java.util.Random;
  9. import java.util.function.Supplier;
  10. /**
  11. * @author leon on 05/12/2018.
  12. */
  13. public class HasByIdTest {
  14. @Test
  15. public void test1() {
  16. test(1);
  17. }
  18. @Test
  19. public void test2() {
  20. test(2);
  21. }
  22. @Test
  23. public void testRandom() {
  24. test(Math.abs(new Random().nextInt()));
  25. }
  26. private void test(Integer numberOfObjectsToAdd) {
  27. test(numberOfObjectsToAdd, Person::new);
  28. test(numberOfObjectsToAdd, ActionFigure::new);
  29. }
  30. private <TypeOfId extends Serializable> void test(Integer numberOfObjectsToAdd, Supplier<IdentifiableInterface<TypeOfId>> supplier) {
  31. // Given
  32. Group<TypeOfId, IdentifiableInterface<TypeOfId>> group = new Group<>();
  33. // when
  34. for (int i = 0; i < numberOfObjectsToAdd; i++) {
  35. IdentifiableInterface<TypeOfId> identifiable = supplier.get();
  36. group.insert(identifiable);
  37. // then
  38. Assert.assertFalse(group.has(identifiable.getIdentity()));
  39. }
  40. }
  41. }