Я новичок в Java и Junit. У меня есть постановка задачи, чтобы написать контрольный пример для тестирования метода "findRoleWithMaxPrivilege", в котором необходимо передать массив ролей. По сути, этот метод должен возвращать массив ролей, где роль имеет максимальные привилегии. Пожалуйста, найдите ниже метод и соответствующие подробности тестового примера. Но этот тестовый сценарий возвращает ошибку.
public class Privilege {
String name;
public class Role extends RoleBO{
private String name;
private Privilege[] privilege;
public Role(String name, Privilege[] privilege) {
super();
this.name = name;
this.privilege = privilege;
}
public class RoleBO {
public RoleBO(){}
public Role[] findRoleWithMaxPrivilege(Role[] role)
{
int count,i;
int c=0;
this.sortRoleByName(role);
count = this.CountMaxNoOfPrivilege(role);
Integer no = this.countNoofMaxPrivilege(role,count);
Role[] rol = new Role[no];
for( i = 0;i < role.length;i++)
if(role[i].getPrivilege().length == count)
rol[c++] = role[i];
return rol;
}
*
public class RoleJUnit {
RoleBO role;
@Before
public void objectCeration() {
role = new RoleBO();
}
@Test
public void testFindRoleWithMaxPrivilege() {
Role[] input = new Role[3];
Privilege[] privil = new Privilege[5];
privil[0] = new Privilege("A");
privil[1] = new Privilege("SA");
privil[2] = new Privilege("M");
privil[3] = new Privilege("SM");
privil[4] = new Privilege("PA");
input[0] = new Role("Pavi",privil);
Privilege[] privil2 = new Privilege[3];
privil2[0] = new Privilege("A");
privil2[1] = new Privilege("SA");
privil2[2] = new Privilege("M");
input[1] = new Role("Heidi",privil2);
Privilege[] privil3 = new Privilege[2];
privil3[0] = new Privilege("A");
privil3[1] = new Privilege("SA");
input[2] = new Role("Dora",privil3);
Role[] actual = role.findRoleWithMaxPrivilege(input);
Role[] expected = new Role[1];
Privilege[] Privilexpected = new Privilege[5];
Privilexpected[0] = new Privilege("A");
Privilexpected[1] = new Privilege("SA");
Privilexpected[2] = new Privilege("M");
Privilexpected[3] = new Privilege("SM");
Privilexpected[4] = new Privilege("PA");
expected[0] = new Role("Pavi",Privilexpected);
Assert.assertArrayEquals("Mismatch",expected, actual);
}