Guest User

Untitled

a guest
Feb 23rd, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. public class PolymorphicMapperTest {
  2.  
  3. public abstract class Animal{
  4.  
  5. private String fooAnimal;
  6.  
  7. public Animal(String fooAnimal) {
  8. this.fooAnimal = fooAnimal;
  9. }
  10.  
  11. public String getFooAnimal() {
  12. return fooAnimal;
  13. }
  14. }
  15.  
  16. public class Cat extends Animal {
  17.  
  18. public String fooCat;
  19.  
  20. public Cat(String fooAnimal, String fooCat) {
  21. super(fooAnimal);
  22. this.fooCat = fooCat;
  23. }
  24. }
  25.  
  26. public class Snake extends Animal {
  27.  
  28. public String fooSnake;
  29.  
  30. public Snake(String fooAnimal, String fooSnake) {
  31. super(fooAnimal);
  32. this.fooSnake = fooSnake;
  33. }
  34.  
  35. public String getFooSnake() {
  36. return fooSnake;
  37. }
  38. }
  39.  
  40.  
  41. public abstract class AnimalDTO{
  42. public String fooAnimal;
  43. }
  44.  
  45. public class CatDTO extends AnimalDTO {
  46. public String fooCat;
  47. }
  48.  
  49. public class SnakeDTO extends AnimalDTO {
  50. public String fooSnake;
  51. }
  52.  
  53.  
  54. @Test
  55. public void testMapping() {
  56.  
  57. Mapper mapper = MyAwesomeMapper();
  58.  
  59. SnakeDTO snakeDTO = new SnakeDTO();
  60. snakeDTO.fooAnimal = "Snake";
  61. snakeDTO.fooSnake = "Anaconda";
  62.  
  63. //I don't want the mapper to know the input Type because Jackson will hide it to me.
  64. AnimalDTO animalDTOToMap = (AnimalDTO) snakeDTO;
  65.  
  66.  
  67. Animal animal1 = mapper.map(animalDTOToMap);
  68. Assert.isTrue(animal1 instanceof Snake);
  69. //And when casted we want to find Animal and Snake fields mapped
  70.  
  71.  
  72. CatDTO catDTO = new CatDTO();
  73. catDTO.fooAnimal = "Cat";
  74. catDTO.fooCat = "Persan";
  75.  
  76. AnimalDTO secondAnimalDTOToMap = (AnimalDTO) catDTO;
  77.  
  78. Animal animal2 = mapper.map(secondAnimalDTOToMap);
  79. Assert.isTrue(animal2 instanceof Cat);
  80. //And when casted we want to find Animal and Cat fields mapped
  81.  
  82.  
  83. }
Add Comment
Please, Sign In to add comment