@Override
    public NamingResult select(NamingContext context) {
        List<Instance> instances = doFilter(context.getInstances());
        return () -> instances;
    }
@Test
    public void testSelect() {
        DefaultNamingSelector namingSelector = new DefaultNamingSelector(Instance::isHealthy);
        Random random = new Random();
        int total = random.nextInt(32) + 1;
        int health = random.nextInt(total);
        
        NamingContext namingContext = getMockNamingContext(total, health);
        NamingResult result = namingSelector.select(namingContext);
        
        assertEquals(health, result.getResult().size());
        result.getResult().forEach(ins -> assertTrue(ins.isHealthy()));
    }