mapToGetCourseGroupsDefaultResponse overloaded
This commit is contained in:
parent
25e9571a06
commit
082b30133c
@ -33,9 +33,6 @@ public class GroupsMappers {
|
|||||||
|
|
||||||
public static List<GroupWithCapacityResponse> mapToCapacityResponse(List<Groups> groups,
|
public static List<GroupWithCapacityResponse> mapToCapacityResponse(List<Groups> groups,
|
||||||
HashMap<Long, Integer> taken) {
|
HashMap<Long, Integer> taken) {
|
||||||
// return
|
|
||||||
// groups.stream().filter(Objects::nonNull).map(GroupWithCapacityResponse::new)
|
|
||||||
// .collect(Collectors.toList());
|
|
||||||
return groups.stream().filter(Objects::nonNull).map(new Function<Groups, GroupWithCapacityResponse>() {
|
return groups.stream().filter(Objects::nonNull).map(new Function<Groups, GroupWithCapacityResponse>() {
|
||||||
@Override
|
@Override
|
||||||
public GroupWithCapacityResponse apply(Groups p) {
|
public GroupWithCapacityResponse apply(Groups p) {
|
||||||
@ -53,22 +50,35 @@ public class GroupsMappers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static CourseWithGroupsResponse<GroupDefaultResponse> mapToGetCourseGroupsDefaultResponse(
|
public static CourseWithGroupsResponse<GroupDefaultResponse> mapToGetCourseGroupsDefaultResponse(
|
||||||
List<Groups> groups) {
|
List<Groups> groups, HashMap<Long, Integer> taken) {
|
||||||
|
|
||||||
List<GroupDefaultResponse> lectures = new ArrayList<>();
|
List<GroupDefaultResponse> lectures = new ArrayList<>();
|
||||||
List<GroupDefaultResponse> classes = new ArrayList<>();
|
List<GroupDefaultResponse> classes = new ArrayList<>();
|
||||||
|
|
||||||
groups.stream().forEach(group -> {
|
groups.stream().forEach(group -> {
|
||||||
if (group.getType() == GroupType.CLASS) {
|
if (group.getType() == GroupType.CLASS) {
|
||||||
classes.add(new GroupDefaultResponse(group));
|
if (taken != null) {
|
||||||
|
classes.add(new GroupDefaultResponse(group, taken.get(group.getId())));
|
||||||
|
} else {
|
||||||
|
classes.add(new GroupDefaultResponse(group));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
lectures.add(new GroupDefaultResponse(group));
|
if (taken != null) {
|
||||||
|
lectures.add(new GroupDefaultResponse(group, taken.get(group.getId())));
|
||||||
|
} else {
|
||||||
|
lectures.add(new GroupDefaultResponse(group));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return new CourseWithGroupsResponse<>(classes, lectures);
|
return new CourseWithGroupsResponse<>(classes, lectures);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static CourseWithGroupsResponse<GroupDefaultResponse> mapToGetCourseGroupsDefaultResponse(
|
||||||
|
List<Groups> groups) {
|
||||||
|
return GroupsMappers.mapToGetCourseGroupsDefaultResponse(groups, null);
|
||||||
|
}
|
||||||
|
|
||||||
public static CourseWithGroupsResponse<GroupWithCapacityResponse> mapToGetCourseGroupsWithCapacityResponse(
|
public static CourseWithGroupsResponse<GroupWithCapacityResponse> mapToGetCourseGroupsWithCapacityResponse(
|
||||||
List<Groups> groups) {
|
List<Groups> groups) {
|
||||||
|
|
||||||
|
@ -17,93 +17,122 @@ import com.plannaplan.types.WeekDay;
|
|||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class GroupsMappersTest {
|
public class GroupsMappersTest {
|
||||||
@Test
|
@Test
|
||||||
public void shouldMapToResponseIncludingCapacity() {
|
public void shouldMapToResponseIncludingCapacity() {
|
||||||
final List<Groups> gropus = Arrays.asList(
|
final List<Groups> gropus = Arrays.asList(new Groups(42, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
new Groups(42, "A4-1", null, 520, WeekDay.MONDAY, new Lecturer("krul.", "Wladyslaw", "Potocki")));
|
new Lecturer("krul.", "Wladyslaw", "Potocki")));
|
||||||
final List<GroupWithCapacityResponse> response = GroupsMappers.mapToCapacityResponse(gropus);
|
final List<GroupWithCapacityResponse> response = GroupsMappers.mapToCapacityResponse(gropus);
|
||||||
|
|
||||||
assert (response.get(0).getCapacity() == 42);
|
assert (response.get(0).getCapacity() == 42);
|
||||||
assert (response.get(0) instanceof GroupWithCapacityResponse);
|
assert (response.get(0) instanceof GroupWithCapacityResponse);
|
||||||
assert (response.size() == 1);
|
assert (response.size() == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldMapToResponseWiothoutCapacity() {
|
public void shouldMapToResponseWiothoutCapacity() {
|
||||||
final List<Groups> gropus = Arrays.asList(
|
final List<Groups> gropus = Arrays.asList(new Groups(42, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
new Groups(42, "A4-1", null, 520, WeekDay.MONDAY, new Lecturer("krul.", "Wladyslaw", "Potocki")));
|
new Lecturer("krul.", "Wladyslaw", "Potocki")));
|
||||||
final List<GroupDefaultResponse> response = GroupsMappers.mapToDefaultResponse(gropus);
|
final List<GroupDefaultResponse> response = GroupsMappers.mapToDefaultResponse(gropus);
|
||||||
|
|
||||||
assert (response.get(0) instanceof GroupDefaultResponse);
|
assert (response.get(0) instanceof GroupDefaultResponse);
|
||||||
assert (response.size() == 1);
|
assert (response.size() == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldMapToGetCourseGroupsResponse() {
|
public void shouldMapToGetCourseGroupsResponse() {
|
||||||
final List<Groups> groups = Arrays.asList(
|
final List<Groups> groups = Arrays.asList(
|
||||||
new Groups(150, "A4-1", null, 520, WeekDay.MONDAY, new Lecturer("krul.", "Wladyslaw", "Potocki")),
|
new Groups(150, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
new Groups(24, "A4-1", null, 520, WeekDay.MONDAY, new Lecturer("krul.", "Wladyslaw", "Potocki")));
|
new Lecturer("krul.", "Wladyslaw", "Potocki")),
|
||||||
|
new Groups(24, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
|
new Lecturer("krul.", "Wladyslaw", "Potocki")));
|
||||||
|
|
||||||
final CourseWithGroupsResponse<GroupDefaultResponse> response = GroupsMappers
|
final CourseWithGroupsResponse<GroupDefaultResponse> response = GroupsMappers
|
||||||
.mapToGetCourseGroupsDefaultResponse(groups);
|
.mapToGetCourseGroupsDefaultResponse(groups);
|
||||||
|
|
||||||
assertTrue(response.getClasses().size() == 1);
|
assertTrue(response.getClasses().size() == 1);
|
||||||
assertTrue(response.getLectures().size() == 1);
|
assertTrue(response.getLectures().size() == 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void shouldMapToDefaultResponseWithTakenPlace()
|
public void shouldMapToGetCourseGroupsResponseWithTakenPlaces() throws NoSuchFieldException, SecurityException,
|
||||||
throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
|
IllegalArgumentException, IllegalAccessException {
|
||||||
final Field reader = Groups.class.getDeclaredField("id");
|
final Field reader = Groups.class.getDeclaredField("id");
|
||||||
reader.setAccessible(true);
|
reader.setAccessible(true);
|
||||||
|
|
||||||
final Groups group1 = new Groups(150, "A4-1", null, 520, WeekDay.MONDAY,
|
final List<Groups> groups = Arrays.asList(
|
||||||
new Lecturer("krul.", "Wladyslaw", "Potocki"));
|
new Groups(150, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
final Groups group2 = new Groups(24, "A4-1", null, 520, WeekDay.MONDAY,
|
new Lecturer("krul.", "Wladyslaw", "Potocki")),
|
||||||
new Lecturer("krul.", "Wladyslaw", "Potocki"));
|
new Groups(24, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
|
new Lecturer("krul.", "Wladyslaw", "Potocki")));
|
||||||
|
reader.set(groups.get(0), Long.valueOf(0));
|
||||||
|
reader.set(groups.get(1), Long.valueOf(1));
|
||||||
|
|
||||||
reader.set(group1, Long.valueOf(0));
|
final HashMap<Long, Integer> placeMap = new HashMap<>();
|
||||||
reader.set(group2, Long.valueOf(1));
|
placeMap.put(Long.valueOf(0), 0);
|
||||||
|
placeMap.put(Long.valueOf(1), 21);
|
||||||
|
|
||||||
final HashMap<Long, Integer> placeMap = new HashMap<>();
|
final CourseWithGroupsResponse<GroupDefaultResponse> response = GroupsMappers
|
||||||
placeMap.put(Long.valueOf(0), 5);
|
.mapToGetCourseGroupsDefaultResponse(groups, placeMap);
|
||||||
placeMap.put(Long.valueOf(1), 56);
|
|
||||||
|
|
||||||
final List<GroupDefaultResponse> response = GroupsMappers.mapToDefaultResponse(List.of(group1, group2),
|
assertTrue(response.getClasses().size() == 1);
|
||||||
placeMap);
|
assertTrue(response.getLectures().size() == 1);
|
||||||
|
assertTrue(response.getLectures().get(0).getTakenPlaces() == 0);
|
||||||
|
assertTrue(response.getClasses().get(0).getTakenPlaces() == 21);
|
||||||
|
}
|
||||||
|
|
||||||
assertTrue(response.size() == 2);
|
@Test
|
||||||
assertTrue(response.get(0).getTakenPlaces() == 5);
|
public void shouldMapToDefaultResponseWithTakenPlace() throws NoSuchFieldException, SecurityException,
|
||||||
assertTrue(response.get(1).getTakenPlaces() == 56);
|
IllegalArgumentException, IllegalAccessException {
|
||||||
}
|
final Field reader = Groups.class.getDeclaredField("id");
|
||||||
|
reader.setAccessible(true);
|
||||||
|
|
||||||
@Test
|
final Groups group1 = new Groups(150, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
public void shouldMapToCapacityResponseWithTakenPlace()
|
new Lecturer("krul.", "Wladyslaw", "Potocki"));
|
||||||
throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
|
final Groups group2 = new Groups(24, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
final Field reader = Groups.class.getDeclaredField("id");
|
new Lecturer("krul.", "Wladyslaw", "Potocki"));
|
||||||
reader.setAccessible(true);
|
|
||||||
|
|
||||||
final Groups group1 = new Groups(150, "A4-1", null, 520, WeekDay.MONDAY,
|
reader.set(group1, Long.valueOf(0));
|
||||||
new Lecturer("krul.", "Wladyslaw", "Potocki"));
|
reader.set(group2, Long.valueOf(1));
|
||||||
final Groups group2 = new Groups(24, "A4-1", null, 520, WeekDay.MONDAY,
|
|
||||||
new Lecturer("krul.", "Wladyslaw", "Potocki"));
|
|
||||||
|
|
||||||
reader.set(group1, Long.valueOf(0));
|
final HashMap<Long, Integer> placeMap = new HashMap<>();
|
||||||
reader.set(group2, Long.valueOf(1));
|
placeMap.put(Long.valueOf(0), 5);
|
||||||
|
placeMap.put(Long.valueOf(1), 56);
|
||||||
|
|
||||||
final HashMap<Long, Integer> placeMap = new HashMap<>();
|
final List<GroupDefaultResponse> response = GroupsMappers.mapToDefaultResponse(List.of(group1, group2),
|
||||||
placeMap.put(Long.valueOf(0), 5);
|
placeMap);
|
||||||
placeMap.put(Long.valueOf(1), 56);
|
|
||||||
|
|
||||||
final List<GroupWithCapacityResponse> response = GroupsMappers.mapToCapacityResponse(List.of(group1, group2),
|
assertTrue(response.size() == 2);
|
||||||
placeMap);
|
assertTrue(response.get(0).getTakenPlaces() == 5);
|
||||||
|
assertTrue(response.get(1).getTakenPlaces() == 56);
|
||||||
|
}
|
||||||
|
|
||||||
assertTrue(response.size() == 2);
|
@Test
|
||||||
assertTrue(response.get(0).getTakenPlaces() == 5);
|
public void shouldMapToCapacityResponseWithTakenPlace() throws NoSuchFieldException, SecurityException,
|
||||||
assertTrue(response.get(0).getCapacity() == 150);
|
IllegalArgumentException, IllegalAccessException {
|
||||||
assertTrue(response.get(1).getTakenPlaces() == 56);
|
final Field reader = Groups.class.getDeclaredField("id");
|
||||||
assertTrue(response.get(1).getCapacity() == 24);
|
reader.setAccessible(true);
|
||||||
}
|
|
||||||
|
final Groups group1 = new Groups(150, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
|
new Lecturer("krul.", "Wladyslaw", "Potocki"));
|
||||||
|
final Groups group2 = new Groups(24, "A4-1", null, 520, WeekDay.MONDAY,
|
||||||
|
new Lecturer("krul.", "Wladyslaw", "Potocki"));
|
||||||
|
|
||||||
|
reader.set(group1, Long.valueOf(0));
|
||||||
|
reader.set(group2, Long.valueOf(1));
|
||||||
|
|
||||||
|
final HashMap<Long, Integer> placeMap = new HashMap<>();
|
||||||
|
placeMap.put(Long.valueOf(0), 5);
|
||||||
|
placeMap.put(Long.valueOf(1), 56);
|
||||||
|
|
||||||
|
final List<GroupWithCapacityResponse> response = GroupsMappers
|
||||||
|
.mapToCapacityResponse(List.of(group1, group2), placeMap);
|
||||||
|
|
||||||
|
assertTrue(response.size() == 2);
|
||||||
|
assertTrue(response.get(0).getTakenPlaces() == 5);
|
||||||
|
assertTrue(response.get(0).getCapacity() == 150);
|
||||||
|
assertTrue(response.get(1).getTakenPlaces() == 56);
|
||||||
|
assertTrue(response.get(1).getCapacity() == 24);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user