@Override
    public String buildContext() {
        final String selector = ((Collection<?>) getSource())
                .stream()
                .map(s -> ((RoleDO) s).getRoleName())
                .collect(Collectors.joining(","));
        return String.format("the role[%s] is %s", selector, StringUtils.lowerCase(getType().getType().toString()));
    }
@Test
    public void testBuildContext() {
        String expectedSelector = roleDOList
                .stream()
                .map(RoleDO::getRoleName)
                .collect(Collectors.joining(","));
        String expectedStr = String.format("the role[%s] is %s", expectedSelector,
                StringUtils.lowerCase(batchRoleDeletedEventTest.getType().getType().toString()));
        assertEquals(expectedStr, batchRoleDeletedEventTest.buildContext());

        String expectedEmptySelector = emptyRoleDOList
                .stream()
                .map(RoleDO::getRoleName)
                .collect(Collectors.joining(","));
        String expectedEmptyStr = String.format("the role[%s] is %s", expectedEmptySelector,
                StringUtils.lowerCase(batchRoleDeletedEventEmptySourceTest.getType().getType().toString()));
        assertEquals(expectedEmptyStr, batchRoleDeletedEventEmptySourceTest.buildContext());
    }