aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/examples/LoadExampleTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/examples/LoadExampleTest.java')
-rw-r--r--src/test/java/examples/LoadExampleTest.java128
1 files changed, 82 insertions, 46 deletions
diff --git a/src/test/java/examples/LoadExampleTest.java b/src/test/java/examples/LoadExampleTest.java
index e66ee1a8..9c620ee9 100644
--- a/src/test/java/examples/LoadExampleTest.java
+++ b/src/test/java/examples/LoadExampleTest.java
@@ -1,17 +1,15 @@
/**
- * Copyright (c) 2008, http://www.snakeyaml.org
+ * Copyright (c) 2008, SnakeYAML
*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
*
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
*/
package examples;
@@ -20,53 +18,91 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
-
+import java.util.NoSuchElementException;
import junit.framework.TestCase;
-
import org.yaml.snakeyaml.Yaml;
public class LoadExampleTest extends TestCase {
+
+ @SuppressWarnings("unchecked")
+ public void testLoad() {
+ Yaml yaml = new Yaml();
+ String document = "\n- Hesperiidae\n- Papilionidae\n- Apatelodidae\n- Epiplemidae";
+ List<String> list = yaml.load(document);
+ assertEquals("[Hesperiidae, Papilionidae, Apatelodidae, Epiplemidae]", list.toString());
+ }
+
+ public void testLoadFromString() {
+ Yaml yaml = new Yaml();
+ String document = "hello: 25";
@SuppressWarnings("unchecked")
- public void testLoad() {
- Yaml yaml = new Yaml();
- String document = "\n- Hesperiidae\n- Papilionidae\n- Apatelodidae\n- Epiplemidae";
- List<String> list = (List<String>) yaml.load(document);
- assertEquals("[Hesperiidae, Papilionidae, Apatelodidae, Epiplemidae]", list.toString());
- }
+ Map<String, Integer> map = yaml.load(document);
+ assertEquals("{hello=25}", map.toString());
+ assertEquals(Integer.valueOf(25), map.get("hello"));
+ }
+
+ public void testLoadFromStream() throws IOException {
+ InputStream input = new FileInputStream(new File("src/test/resources/reader/utf-8.txt"));
+ Yaml yaml = new Yaml();
+ Object data = yaml.load(input);
+ assertEquals("test", data);
+ //
+ data = yaml.load(new ByteArrayInputStream("test2".getBytes(StandardCharsets.UTF_8)));
+ assertEquals("test2", data);
+ input.close();
+ }
- public void testLoadFromString() {
- Yaml yaml = new Yaml();
- String document = "hello: 25";
- @SuppressWarnings("unchecked")
- Map<String, Integer> map = (Map<String, Integer>) yaml.load(document);
- assertEquals("{hello=25}", map.toString());
- assertEquals(new Integer(25), map.get("hello"));
+ public void testLoadManyDocuments() throws IOException {
+ InputStream input =
+ new FileInputStream(new File("src/test/resources/specification/example2_28.yaml"));
+ Yaml yaml = new Yaml();
+ int counter = 0;
+ for (Object data : yaml.loadAll(input)) {
+ assertNotNull(data);
+ assertTrue(data.toString().length() > 1);
+ counter++;
}
+ assertEquals(3, counter);
+ input.close();
+ }
- public void testLoadFromStream() throws IOException {
- InputStream input = new FileInputStream(new File("src/test/resources/reader/utf-8.txt"));
- Yaml yaml = new Yaml();
- Object data = yaml.load(input);
- assertEquals("test", data);
- //
- data = yaml.load(new ByteArrayInputStream("test2".getBytes("UTF-8")));
- assertEquals("test2", data);
- input.close();
+ public void testLoadManyDocumentsWithIterator() throws IOException {
+ InputStream input =
+ new FileInputStream(new File("src/test/resources/specification/example2_28.yaml"));
+ Yaml yaml = new Yaml();
+ int counter = 0;
+ Iterator<Object> iter = yaml.loadAll(input).iterator();
+ while (iter.hasNext()) {
+ Object data = iter.next();
+ assertNotNull(data);
+ assertTrue(data.toString().length() > 1);
+ counter++;
}
+ assertEquals(3, counter);
+ input.close();
+ }
- public void testLoadManyDocuments() throws IOException {
- InputStream input = new FileInputStream(new File(
- "src/test/resources/specification/example2_28.yaml"));
- Yaml yaml = new Yaml();
- int counter = 0;
- for (Object data : yaml.loadAll(input)) {
- assertNotNull(data);
- assertTrue(data.toString().length() > 1);
- counter++;
- }
- assertEquals(3, counter);
- input.close();
+ public void testLoadManyDocumentsWithIterator2() throws IOException {
+ InputStream input =
+ new FileInputStream(new File("src/test/resources/specification/example2_28.yaml"));
+ Yaml yaml = new Yaml();
+ Iterator<Object> iter = yaml.loadAll(input).iterator();
+ Object data = iter.next();
+ assertNotNull(data);
+ data = iter.next();
+ assertNotNull(data);
+ data = iter.next();
+ assertNotNull(data);
+ try {
+ iter.next();
+ fail("Expect NoSuchElementException");
+ } catch (NoSuchElementException e) {
+ assertEquals("No document is available.", e.getMessage());
}
+ input.close();
+ }
}