@Test
public void transform()
{

    final DummyInjectionTarget target = new DummyInjectionTarget();
    final IDependencyObject<String> input = new TestInputDependencyObject();
    final IDependencyObject<String> transformed = DependencyObjectHelper.transform(input, s -> s.replace("World", "Test"), s -> s.replace("Test", "World"));
    Assert.assertTrue(transformed.hasChanged(target));
    Assert.assertEquals("HelloTest", transformed.get(target));
    transformed.set(target, "HelloTest");
    Assert.assertEquals("HelloWorld", input.get(target));
    transformed.set(target, "Hello");
    Assert.assertEquals("Hello", input.get(target));
}