    @Test
    void applyShouldReturnOneResourceIfValueSelectorMatchesOneElmentThatContainsThePropertySelectedByTheNameSelector() {

        // Arrange
        ResourceCreatorConfiguration configuration = createSelectorTestConfiguration("$.name", "$.tmp");
        CompiledResourceCreatorConfiguration compiledResourceCreatorConfiguration = new CompiledResourceCreatorConfiguration(configuration);
        TerraformResource terraformResource = mockSelectorTestResource("{ \"foo\": \"bar\", \"tmp\": { \"a\": 1, \"b\": 2, \"name\": \"i am a name\" } }");

        // Act
        Collection<VirtualTerraformResource> results = compiledResourceCreatorConfiguration.apply(terraformResource);

        // Verrify
        assertThat(results).hasSize(1);
        Optional<VirtualTerraformResource> resourceOptional = results.stream().findFirst();
        assertThat(resourceOptional).isPresent();
        VirtualTerraformResource resource = resourceOptional.get();
        assertThat(resource.getOriginalResource()).isSameAs(terraformResource);
        assertThat(resource.getName()).isEqualTo("i am a name");
        Map<String, Object> values = resource.getValues();
        assertThat(values.get("a")).isEqualTo(1d);
        assertThat(values.get("b")).isEqualTo(2d);
        assertThat(values.get("name")).isEqualTo(resource.getName());
    }