Skip to content

Commit

Permalink
Test enums with yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
TheElectronWill committed Mar 14, 2019
1 parent 585571c commit 1eef055
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.electronwill.nightconfig.core;

public enum BasicTestEnum {
A,B,C
}
11 changes: 8 additions & 3 deletions yaml/src/test/java/yaml/YamlTest.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
package yaml;

import com.electronwill.nightconfig.core.BasicTestEnum;
import com.electronwill.nightconfig.core.Config;
import com.electronwill.nightconfig.core.TestEnum;
import com.electronwill.nightconfig.core.file.FileNotFoundAction;
import com.electronwill.nightconfig.core.io.ParsingMode;
import com.electronwill.nightconfig.core.io.WritingMode;
import com.electronwill.nightconfig.yaml.YamlFormat;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.representer.Representer;

import java.io.File;

import static com.electronwill.nightconfig.core.NullObject.NULL_OBJECT;
import static com.electronwill.nightconfig.core.file.FileNotFoundAction.THROW_ERROR;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.*;

public class YamlTest {

Expand All @@ -27,6 +30,7 @@ public void testReadWrite() {
config.set("string", "this is a string");
config.set("sub.null", null);
config.set("sub.nullObject", NULL_OBJECT);
config.set("enum", BasicTestEnum.A); // complex enums doesn't appear to work with SnakeYAML

System.out.println("Config: " + config);
System.out.println("classOf[sub] = " + config.get("sub").getClass());
Expand All @@ -42,7 +46,8 @@ public void testReadWrite() {
assertNull(parsed.get("sub.null"));
assertNull(parsed.get("sub.nullObject"));
assertSame(NULL_OBJECT, parsed.valueMap().get("null"));
assertSame(NULL_OBJECT,parsed.valueMap().get("nullObject"));
assertSame(NULL_OBJECT, parsed.valueMap().get("nullObject"));
assertEquals(BasicTestEnum.A, parsed.getEnum("enum", BasicTestEnum.class));

Assertions.assertEquals(config, parsed, "Error: written != parsed");
}
Expand Down
1 change: 1 addition & 0 deletions yaml/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ sub: {'null': null, nullObject: null}
'null': null
string: this is a string
nullObject: null
enum: 'A'

0 comments on commit 1eef055

Please sign in to comment.