### Question:
PathValueProvider extends ValueProvider { @Override public Object get(PredicateContext context) { Object result = context.resolve(reference); try { for (MethodHandle handle : handles) { result = handle.bindTo(result).invoke(); } } catch (Throwable throwable) { throw new IllegalStateException(String.format("Can't evaluate path '%s.%s'", reference, path), throwable); } return result; } PathValueProvider(Class<?> type, String reference, String path); @Override Object get(PredicateContext context);  }### Answer:
@Test void shouldProperlyCreateProviderOfPublicProperty() { String reference = "any"; String expectedValue = "expectedValue"; ValueProvider argumentProvider = new PathValueProvider(MyClass.class, reference, "value"); PredicateContext predicateContext = Mockito.mock(PredicateContext.class); Mockito.when(predicateContext.resolve(reference)).thenReturn(new MyClass(expectedValue)); Object result = argumentProvider.get(predicateContext); assertThat(result).isEqualTo(expectedValue); }