1 package org.wamblee.xmlrouter.impl;
3 import static junit.framework.Assert.*;
5 import java.util.Collection;
7 import javax.xml.transform.dom.DOMSource;
9 import org.junit.Before;
10 import org.junit.Test;
11 import org.wamblee.xmlrouter.common.Id;
12 import org.wamblee.xmlrouter.config.Transformation;
14 public class TransformationsTest {
16 public static class MyTransformation implements Transformation {
21 public MyTransformation(String aFrom, String aTo) {
27 public String getFromType() {
32 public String getToType() {
37 public DOMSource transform(DOMSource aDocument) {
42 public String toString() {
43 return from + "->" + to;
47 private Transformations transformations;
51 transformations = new Transformations();
55 public void testOneTransformation() {
56 Id<Transformation> seqno = transformations
57 .addTransformation(new MyTransformation("A", "B"));
58 System.out.println(transformations.toString());
59 TransformationPath path = transformations.getPath("A", "B");
60 assertEquals(1, path.size());
61 assertNull(transformations.getPath("B", "A"));
63 assertEquals(0, transformations.getPath("A", "A").size());
64 assertEquals(0, transformations.getPath("B", "B").size());
66 Collection<String> possibleTargets = transformations
67 .getPossibleTargetTypes("A");
68 assertEquals(2, possibleTargets.size());
69 assertTrue(possibleTargets.contains("A"));
70 assertTrue(possibleTargets.contains("B"));
74 public void testMultipleTransformations() {
75 Id<Transformation> seqno1 = transformations
76 .addTransformation(new MyTransformation("A", "B"));
77 Id<Transformation> seqno2 = transformations
78 .addTransformation(new MyTransformation("B", "C"));
79 Id<Transformation> seqno3 = transformations
80 .addTransformation(new MyTransformation("C", "A"));
81 System.out.println(transformations);
82 assertEquals(2, transformations.getPath("C", "B").size());
83 assertFalse(seqno1.equals(seqno2));
84 assertFalse(seqno2.equals(seqno3));
85 assertFalse(seqno1.equals(seqno3));
87 transformations.removeTransformation(seqno1);
88 assertNull(transformations.getPath("C", "B"));
92 public void testWithoutTransformations() {
93 Collection<String> res = transformations.getPossibleTargetTypes("a");
94 assertEquals(1, res.size());
96 TransformationPath path = transformations.getPath("A", "A");
98 assertEquals(0, path.size());
100 assertNull(transformations.getPath("B", "C"));