1 package eu.simuline.octave.io;
2
3 import java.util.Map;
4
5 import eu.simuline.octave.exception.OctaveParseException;
6 import eu.simuline.octave.type.Octave;
7 import eu.simuline.octave.type.OctaveDouble;
8 import eu.simuline.octave.type.OctaveObject;
9
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertTrue;
12
13 import org.junit.Ignore;
14 import org.junit.Test;
15
16
17
18
19 public class TestOctaveIO {
20
21
22
23
24
25 @Test public void testReadWithName() {
26
27 final String varName = "x";
28 final OctaveDouble varValue = Octave.scalar(42);
29 final String input = "" +
30 "# name: x\n" +
31 "# type: scalar\n" +
32 "42\n" +
33 "";
34 final String extra = "" +
35 "extra 1\n" +
36 "extra 2\n" +
37 "";
38
39 final Map<String, OctaveObject> map = OctaveIO.readWithName(input);
40 assertTrue(map.containsKey(varName));
41 assertEquals(varValue, map.get(varName));
42
43 try {
44 OctaveIO.readWithName(input + extra);
45 } catch (final OctaveParseException e) {
46 assertEquals("Too much data in input, " +
47 "first extra line is 'extra 1'", e.getMessage());
48 }
49 }
50
51 }