1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package eu.simuline.octave.type;
17
18 import eu.simuline.octave.exception.OctaveClassCastException;
19
20 import static org.junit.Assert.assertEquals;
21 import static org.junit.Assert.assertNull;
22 import static org.junit.Assert.fail;
23
24 import org.junit.Ignore;
25 import org.junit.Test;
26
27
28
29
30 public class TestOctaveStruct {
31
32
33
34
35 @Test public void testOctaveGetCopy() {
36 final OctaveStruct struct = new OctaveStruct();
37 struct.set("scalar", Octave.scalar(42));
38 final OctaveDouble scalar = struct.get(OctaveDouble.class, "scalar");
39 scalar.set(10, 1, 1);
40 assertEquals(10.0,
41 scalar.get(1, 1),
42 0.0);
43 assertEquals(42.0,
44 struct.get(OctaveDouble.class, "scalar").get(1, 1),
45 0.0);
46 }
47
48
49
50
51 @Test public void testClassCast() {
52 final OctaveStruct struct = new OctaveStruct();
53 final OctaveDouble scalar = Octave.scalar(42);
54 struct.set("scalar", scalar);
55 try {
56 final OctaveCell cell = struct.get(OctaveCell.class, "scalar");
57 fail(cell.toString());
58 } catch (final OctaveClassCastException e) {
59 assertEquals(scalar, e.getOctaveObject());
60 }
61 }
62
63
64
65
66 @Test public void testGetUnknown() {
67 final OctaveStruct struct = new OctaveStruct();
68 assertNull(struct.get("unknown"));
69 }
70
71 }