1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.yaml.snakeyaml.immutable;
17
18 import java.awt.Color;
19 import java.awt.Insets;
20 import java.awt.Rectangle;
21
22 import javax.swing.BorderFactory;
23 import javax.swing.border.MatteBorder;
24
25 import junit.framework.TestCase;
26
27 import org.yaml.snakeyaml.DumperOptions;
28 import org.yaml.snakeyaml.Yaml;
29
30 public class MoreImmutablesTest extends TestCase {
31
32 public void testInsets() {
33 Yaml yaml = new Yaml(new ImmutablesRepresenter());
34 Insets insets = new Insets(10, 20, 30, 40);
35 String dump = yaml.dump(insets);
36 assertEquals("!!java.awt.Insets [10, 20, 30, 40]\n", dump);
37 Object loaded = yaml.load(dump);
38 assertEquals(insets, loaded);
39 }
40
41 public void testAwtColor() {
42 Yaml yaml = new Yaml(new ImmutablesRepresenter());
43 Color color = new Color(10, 20, 30, 40);
44 String dump = yaml.dump(color);
45 assertEquals("!!java.awt.Color [10, 20, 30, 40]\n", dump);
46 Object loaded = yaml.load(dump);
47 assertEquals(color, loaded);
48 }
49
50 public void testRectangle() {
51 Yaml yaml = new Yaml(new ImmutablesRepresenter());
52 Rectangle rect = new Rectangle(10, 20, 30, 40);
53 String dump = yaml.dump(rect);
54 assertEquals("!!java.awt.Rectangle [10, 20, 30, 40]\n", dump);
55 Object loaded = yaml.load(dump);
56 assertEquals(rect, loaded);
57 }
58
59
60 public void testMatteBorder() {
61 DumperOptions options = new DumperOptions();
62 options.setWidth(400);
63 Yaml yaml = new Yaml(new ImmutablesRepresenter(), options);
64 Insets insets = new Insets(10, 20, 30, 40);
65 Color color = new Color(100, 150, 200);
66 MatteBorder border = BorderFactory.createMatteBorder(insets.top, insets.left,
67 insets.bottom, insets.right, color);
68 String dump = yaml.dump(border);
69 assertEquals(
70 "!!javax.swing.border.MatteBorder [!!java.awt.Insets [10, 20, 30, 40], !!java.awt.Color [100, 150, 200, 255]]\n",
71 dump);
72 Object loaded = yaml.load(dump);
73 assertTrue(loaded instanceof MatteBorder);
74 MatteBorder loadedBorder = (MatteBorder) loaded;
75 assertEquals(insets, loadedBorder.getBorderInsets());
76 assertEquals(color, loadedBorder.getMatteColor());
77 }
78 }