/* * Copyright (c) 2012-2015, Luigi R. Viggiano * All rights reserved. * * This software is distributable under the BSD license. * See the terms of the BSD license in the documentation provided with this software. */ package org.aeonbits.owner.variableexpansion; import org.aeonbits.owner.Config; import org.aeonbits.owner.ConfigFactory; import org.junit.Test; import java.util.HashMap; import java.util.Map; import static org.junit.Assert.assertEquals; /** * Tests properties resolution. * * @author Luigi R. Viggiano */ public class PropertyNotSetTest { public interface MyConfig extends Config { @DefaultValue("Hello ${world}.") String foo(); } @Test public void testPropertyNotSet() { MyConfig cfg = ConfigFactory.create(MyConfig.class); assertEquals("Hello .", cfg.foo()); } @Test public void testPropertySet() { Map<String, String> ctx = new HashMap<String, String>() {{ put("world", "Earth"); }}; MyConfig cfg = ConfigFactory.create(MyConfig.class, ctx); assertEquals("Hello Earth.", cfg.foo()); } @Test public void testPropertyChanged() { Map<String, String> ctx = new HashMap<String, String>() {{ put("world", "Earth"); }}; MyConfig cfg = ConfigFactory.create(MyConfig.class, ctx); ctx.put("world", "Mars"); assertEquals("Hello Earth.", cfg.foo()); } }