Files
spring-soap/libraries-apache-commons/src/test/java/com/baeldung/commons/beanutils/CourseServiceUnitTest.java
2019-04-21 11:08:09 +03:00

54 lines
2.1 KiB
Java

package com.baeldung.commons.beanutils;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.List;
import org.junit.Assert;
import org.junit.Test;
public class CourseServiceUnitTest {
@Test
public void givenCourse_whenSetValuesUsingPropertyUtil_thenReturnSetValues() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
Course course = new Course();
String name = "Computer Science";
List<String> codes = Arrays.asList("CS", "CS01");
CourseService.setValues(course, name, codes);
Assert.assertEquals(name, course.getName());
Assert.assertEquals(2, course.getCodes().size());
Assert.assertEquals("CS", course.getCodes().get(0));
CourseService.setIndexedValue(course, 1, "CS02");
Assert.assertEquals("CS02", course.getCodes().get(1));
Student student = new Student();
String studentName = "Joe";
student.setName(studentName);
CourseService.setMappedValue(course, "ST-1", student);
Assert.assertEquals(student, course.getEnrolledStudent("ST-1"));
String accessedStudentName = CourseService.getNestedValue(course, "ST-1", "name");
Assert.assertEquals(studentName, accessedStudentName);
}
@Test
public void givenCopyProperties_whenCopyCourseToCourseEntity_thenCopyPropertyWithSameName() throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
Course course = new Course();
course.setName("Computer Science");
course.setCodes(Arrays.asList("CS"));
course.setEnrolledStudent("ST-1", new Student());
CourseEntity courseEntity = new CourseEntity();
CourseService.copyProperties(course, courseEntity);
Assert.assertNotNull(course.getName());
Assert.assertNotNull(courseEntity.getName());
Assert.assertEquals(course.getName(), courseEntity.getName());
Assert.assertEquals(course.getCodes(), courseEntity.getCodes());
Assert.assertNull(courseEntity.getStudent("ST-1"));
}
}