test_class.declarator: userServiceMock
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private UserService userServiceMock;
test_class.type: UserService
test_class.var_name: userServiceMock
test_class.declarator: projectionFactoryMock
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ProjectionFactory projectionFactoryMock;
test_class.type: ProjectionFactory
test_class.var_name: projectionFactoryMock
test_class.declarator: userMock
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private User userMock;
test_class.type: User
test_class.var_name: userMock
test_class.declarator: otherUserMock
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private User otherUserMock;
test_class.type: User
test_class.var_name: otherUserMock
test_class.declarator: userDataMock
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private UserData userDataMock;
test_class.type: UserData
test_class.var_name: userDataMock
test_class.declarator: otherUserDataMock
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private UserData otherUserDataMock;
test_class.type: UserData
test_class.var_name: otherUserDataMock
test_class.declarator: userProjectionFactory
test_class.modifier: private
test_class.original_string: private UserProjectionFactory userProjectionFactory;
test_class.type: UserProjectionFactory
test_class.var_name: userProjectionFactory
test_class.file: backend/project-board/src/test/java/de/adesso/projectboard/base/user/projection/UserProjectionFactoryTest.java
test_class.identifier: UserProjectionFactoryTest
test_case.body: @Test
      public void createProjectionReturnsExpectedProjection() {
          // given
          var projection = Integer.class;
          var expectedProjection = 12345;
          var userProjectionSource = new UserProjectionSource(userMock, userDataMock, true);
  
          given(projectionFactoryMock.createProjection(projection, userProjectionSource)).willReturn(expectedProjection);
  
          given(userServiceMock.getUserData(userMock)).willReturn(userDataMock);
          given(userServiceMock.userIsManager(userMock)).willReturn(true);
  
          // when
          var actualProjection = userProjectionFactory.createProjection(userMock, projection);
  
          // then
          assertThat(actualProjection).isEqualTo(expectedProjection);
      }
test_case.class_method_signature: UserProjectionFactoryTest.createProjectionReturnsExpectedProjection()
test_case.full_signature: @Test public void createProjectionReturnsExpectedProjection()
test_case.identifier: createProjectionReturnsExpectedProjection
test_case.invocations: willReturn given createProjection willReturn given getUserData willReturn given userIsManager createProjection isEqualTo assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void createProjectionReturnsExpectedProjection()
focal_class.declarator: userService
focal_class.modifier: private final
focal_class.original_string: private final UserService userService;
focal_class.type: UserService
focal_class.var_name: userService
focal_class.declarator: projectionFactory
focal_class.modifier: private final
focal_class.original_string: private final ProjectionFactory projectionFactory;
focal_class.type: ProjectionFactory
focal_class.var_name: projectionFactory
focal_class.file: backend/project-board/src/main/java/de/adesso/projectboard/base/user/projection/UserProjectionFactory.java
focal_class.identifier: UserProjectionFactory
focal_class.class_method_signature: UserProjectionFactory.UserProjectionFactory(UserService userService, ProjectionFactory projectionFactory)
focal_class.full_signature: @Autowired public  UserProjectionFactory(UserService userService, ProjectionFactory projectionFactory)
focal_class.identifier: UserProjectionFactory
focal_class.modifiers: @Autowired public
focal_class.parameters: (UserService userService, ProjectionFactory projectionFactory)
focal_class.signature:  UserProjectionFactory(UserService userService, ProjectionFactory projectionFactory)
focal_class.class_method_signature: UserProjectionFactory.createProjections(@NonNull Collection<UserData> userData, @NonNull Class<T> projectionType)
focal_class.full_signature: public List<T> createProjections(@NonNull Collection<UserData> userData, @NonNull Class<T> projectionType)
focal_class.identifier: createProjections
focal_class.modifiers: public
focal_class.parameters: (@NonNull Collection<UserData> userData, @NonNull Class<T> projectionType)
focal_class.return: List<T>
focal_class.signature: List<T> createProjections(@NonNull Collection<UserData> userData, @NonNull Class<T> projectionType)
focal_class.class_method_signature: UserProjectionFactory.createProjection(@NonNull User user, @NonNull Class<T> projectionType)
focal_class.full_signature: public T createProjection(@NonNull User user, @NonNull Class<T> projectionType)
focal_class.identifier: createProjection
focal_class.modifiers: public
focal_class.parameters: (@NonNull User user, @NonNull Class<T> projectionType)
focal_class.return: T
focal_class.signature: T createProjection(@NonNull User user, @NonNull Class<T> projectionType)
focal_method.body: public <T> T createProjection(@NonNull User user, @NonNull Class<T> projectionType) {
          var data = userService.getUserData(user);
          var manager = userService.userIsManager(user);
  
          return projectionFactory.createProjection(projectionType, new UserProjectionSource(user, data, manager));
      }
focal_method.class_method_signature: UserProjectionFactory.createProjection(@NonNull User user, @NonNull Class<T> projectionType)
focal_method.full_signature: public T createProjection(@NonNull User user, @NonNull Class<T> projectionType)
focal_method.identifier: createProjection
focal_method.invocations: getUserData userIsManager createProjection
focal_method.modifiers: public
focal_method.parameters: (@NonNull User user, @NonNull Class<T> projectionType)
focal_method.return: T
focal_method.signature: T createProjection(@NonNull User user, @NonNull Class<T> projectionType)