Revision 22975 trunk/extensions/extNormalization/src-test/org/gvsig/normalization/operations/TestMarshall.java

View differences:

TestMarshall.java
30 30
import java.io.File;
31 31
import java.io.FileNotFoundException;
32 32
import java.io.FileReader;
33
import java.io.StringReader;
34
import java.io.StringWriter;
33
import java.io.FileWriter;
34
import java.io.IOException;
35 35

  
36 36
import junit.framework.TestCase;
37 37

  
38 38
import org.apache.log4j.Logger;
39
import org.exolab.castor.xml.Unmarshaller;
40
import org.gvsig.geocoding.patterns.normalization.Addresselement;
41
import org.gvsig.geocoding.patterns.normalization.Patternnormalization;
39
import org.gvsig.patterns.normalization.Element;
40
import org.gvsig.patterns.normalization.Patternnormalization;
41
import org.gvsig.tools.storage.IStorage;
42
import org.gvsig.tools.storage.StorageXML;
42 43

  
43 44
import com.iver.andami.PluginServices;
44 45

  
......
49 50
	public void testMarshallUnmarshall() {
50 51

  
51 52
		log.info("testMarshallUnmarshall. start test");
52
		Patternnormalization pat = null;
53
		File f = new File(
53
		Patternnormalization pat = new Patternnormalization();
54
		Patternnormalization pat3 = new Patternnormalization();
55
		File file = new File(
54 56
				"src-test/org/gvsig/normalization/operations/testdata/patSplitChain.xml");
55 57

  
56
		FileReader red = null;
58
		FileReader reader = null;
59
		IStorage storage = new StorageXML();
57 60

  
61
		Element elem1 = null;
62

  
63
		// PARSER
58 64
		try {
59
			red = new FileReader(f);
60
			pat = (Patternnormalization) Patternnormalization.unmarshal(red);
65
			reader = new FileReader(file);
66
			storage.load(reader);
67
			pat.setstate(storage);
61 68

  
62
			Addresselement al = pat.getAddresselements().getAddresselement()[0];
63
			Addresselement elem = null;
69
			assertEquals(11, pat.getElements().size());
70
			assertEquals(0, pat.getNofirstrows());
64 71

  
65
			assertNotNull(al);
72
			elem1 = (Element) pat.getElements().get(0);
66 73

  
67
			StringWriter stw = new StringWriter();
68
			al.marshal(stw);
74
			assertNotNull(elem1);
75
			assertEquals("NewField", elem1.getFieldname());
69 76

  
70
			elem = (Addresselement) Addresselement.unmarshal(new StringReader(
71
					stw.toString()));
77
		} catch (FileNotFoundException e) {
78
			log.error("Parsing and serializing the pattern", e);
79
		} catch (ClassNotFoundException e) {
80
			log.error("Parsing and serializing the pattern", e);
81
		}
72 82

  
73
			assertNotNull(elem);
74
			assertEquals(al.getImportfield(), elem.getImportfield());
75
			assertEquals(al.getFieldwidth(), elem.getFieldwidth());
76
			assertEquals(al.getNewfieldname(), elem.getNewfieldname());
77
			assertEquals(al.getInfieldseparators().getDecimalseparator()
78
					.getValue(), elem.getInfieldseparators()
79
					.getDecimalseparator().getValue());
83
		// SERIALIZER
84
		IStorage storage2 = new StorageXML();
85
		pat.getstate(storage2);
86
		File ftemp = null;
87
		try {
88
			//ftemp = File.createTempFile("tem", "txt");
89
			ftemp = new File("C:\\000.txt");
90
			FileWriter writer2 = new FileWriter(ftemp);
91
			storage2.dump(writer2);
92
			writer2.close();
93
		} catch (IOException e) {
94
			log.error("Parsing and serializing the pattern", e);
95
		}
80 96

  
81
		} catch (Exception e) {
97
		// PARSER
98
		IStorage storage3 = new StorageXML();
99
		FileReader reader3;
100
		try {
101
			assertNotNull(ftemp);
102
			reader3 = new FileReader(ftemp);
103
			storage3.load(reader3);
104
			pat3.setstate(storage3);
105

  
106
			Element elem2 = (Element) pat3.getElements().get(0);
107

  
108
			assertNotNull(elem2);
109

  
110
			assertEquals(elem1.getImportfield(), elem2.getImportfield());
111
			assertEquals(elem1.getFieldwidth(), elem2.getFieldwidth());
112
			assertEquals(elem1.getFieldname(), elem2.getFieldname());
113
			assertEquals(elem1.getInfieldseparators().getDecimalseparator(),
114
					elem2.getInfieldseparators().getDecimalseparator());
115

  
116
		} catch (FileNotFoundException e) {
82 117
			log.error("Parsing and serializing the pattern", e);
83
			e.printStackTrace();
118
		} catch (ClassNotFoundException e) {
119
			log.error("Parsing and serializing the pattern", e);
84 120
		}
85
		log.info("testMarshallUnmarshall. test finished");
86 121
	}
87 122

  
88 123
	public void testUnmarshall() {
......
100 135
		}
101 136

  
102 137
		// Marshal the person object
103
		Patternnormalization pat = null;
138
		Patternnormalization pat = new Patternnormalization();
139
		IStorage storage = new StorageXML();
104 140
		try {
105
			pat = (Patternnormalization) Unmarshaller.unmarshal(
106
					Patternnormalization.class, reader);
141
			storage.load(reader);
142
			pat.setstate(storage);
107 143
			assertNotNull(pat);
108 144
		} catch (Exception e) {
109 145
			log.error("Unmarshall the pattern");
......
111 147
		}
112 148
		log.info("pattern loaded");
113 149
		// results
114
		assertEquals(11, pat.getAddresselements().getAddresselementCount());
115
		assertEquals(0, pat.getAddresselements().getAddresselement(3)
116
				.getFieldwidth());
117
		assertEquals(true, pat.getAddresselements().getAddresselement(2)
150
		assertEquals(11, pat.getElements().size());
151
		assertEquals(0, ((Element) pat.getElements().get(3)).getFieldwidth());
152
		assertEquals(true, ((Element) pat.getElements().get(2))
118 153
				.getImportfield());
119
		assertEquals(true, pat.getAddresselements().getAddresselement(4)
154
		assertEquals(true, ((Element) pat.getElements().get(4))
120 155
				.getFieldseparator().getSemicolonsep());
121 156

  
122 157
		log.info("testMarshallUnmarshall. test finished");

Also available in: Unified diff