mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 02:20:57 +00:00
add metalist test
This commit is contained in:
35
common/implementation/src/test/java/MetaTest.java
Normal file
35
common/implementation/src/test/java/MetaTest.java
Normal file
@@ -0,0 +1,35 @@
|
||||
import com.dfsek.tectonic.annotations.Value;
|
||||
import com.dfsek.tectonic.config.ConfigTemplate;
|
||||
import com.dfsek.tectonic.config.Configuration;
|
||||
import com.dfsek.tectonic.loading.ConfigLoader;
|
||||
import com.dfsek.tectonic.yaml.YamlConfiguration;
|
||||
import com.dfsek.terra.api.config.meta.Meta;
|
||||
import com.dfsek.terra.config.preprocessor.MetaValuePreprocessor;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class MetaTest {
|
||||
@Test
|
||||
public void testMetaList() {
|
||||
Configuration meta = new YamlConfiguration(MetaTest.class.getResourceAsStream("/meta.yml"), "meta.yml");
|
||||
Configuration metaTarget = new YamlConfiguration(MetaTest.class.getResourceAsStream("/metaTarget.yml"), "metaTarget.yml");
|
||||
|
||||
Map<String, Configuration> configurationMap = new HashMap<>();
|
||||
|
||||
configurationMap.put(meta.getName(), meta);
|
||||
configurationMap.put(metaTarget.getName(), metaTarget);
|
||||
|
||||
ConfigLoader loader = new ConfigLoader();
|
||||
loader.registerPreprocessor(Meta.class, new MetaValuePreprocessor(configurationMap));
|
||||
|
||||
loader.load(new ConfigTest(), meta).list.forEach(System.out::println);
|
||||
}
|
||||
|
||||
private static final class ConfigTest implements ConfigTemplate {
|
||||
@Value("list")
|
||||
private @Meta List<@Meta String> list;
|
||||
}
|
||||
}
|
||||
9
common/implementation/src/test/resources/meta.yml
Normal file
9
common/implementation/src/test/resources/meta.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
list:
|
||||
- ONE
|
||||
- "<< metaTarget.yml:list"
|
||||
- FOUR
|
||||
- FIVE
|
||||
- SIX
|
||||
- "<< metaTarget.yml:list2"
|
||||
- NINE
|
||||
- TEN
|
||||
6
common/implementation/src/test/resources/metaTarget.yml
Normal file
6
common/implementation/src/test/resources/metaTarget.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
list:
|
||||
- TWO
|
||||
- THREE
|
||||
list2:
|
||||
- SEVEN
|
||||
- EIGHT
|
||||
Reference in New Issue
Block a user