@Test
public void testDeploymentFiltering() {
LifecycleFilter lifecycleFilter = new LifecycleFilter(DronePoint.Lifecycle.DEPLOYMENT);
assertThat(context.find(MockDrone.class)
.filter(new DeploymentFilter(".*"))
.size(), is(3));
assertThat(context.find(MockDrone.class)
.filter(new DeploymentFilter(".*"))
.filter(lifecycleFilter)
.size(), is(2));
assertThat(context.find(MockDrone.class)
.filter(new DeploymentFilter())
.size(), is(3));
assertThat(context.find(MockDrone.class)
.filter(new DeploymentFilter())
.filter(lifecycleFilter)
.size(), is(2));
assertThat(context.find(MockDrone.class)
.filter(new DeploymentFilter("deployment_.*"))
.size(), is(3));
assertThat(context.find(MockDrone.class)
.filter(new DeploymentFilter("deployment_.*"))
.filter(lifecycleFilter)
.size(), is(2));
assertThat(context.find(MockDrone.class)
.filter(new DeploymentFilter("invalid_.*"))
.size(), is(0));
assertThat(context.find(MockDrone.class)
.filter(new DeploymentFilter(AnnotationMocks.DEPLOYMENT_1))
.single(), is(defaultDeploymentDronePoint));
assertThat(context.find(MockDrone.class)
.filter(new DeploymentFilter(AnnotationMocks.DEPLOYMENT_2))
.filter(lifecycleFilter)
.single(), is(differentDeploymentDronePoint));
}