create changelog entry
[debian/openrocket] / core / test / net / sf / openrocket / file / rocksim / export / RocksimDocumentDTOTest.java
1 package net.sf.openrocket.file.rocksim.export;
2
3 import net.sf.openrocket.document.OpenRocketDocument;
4 import net.sf.openrocket.file.rocksim.importt.RocksimLoader;
5 import net.sf.openrocket.file.rocksim.importt.RocksimLoaderTest;
6 import net.sf.openrocket.file.rocksim.importt.RocksimTestBase;
7 import org.junit.Assert;
8 import org.junit.Test;
9
10 import javax.xml.bind.JAXBContext;
11 import javax.xml.bind.Marshaller;
12 import java.io.File;
13 import java.io.FileWriter;
14 import java.io.StringWriter;
15
16 /**
17  */
18 public class RocksimDocumentDTOTest extends RocksimTestBase {
19     
20     @Test
21     public void testDTO() throws Exception {
22         JAXBContext binder = JAXBContext.newInstance(RocksimDocumentDTO.class);
23         Marshaller marshaller = binder.createMarshaller();
24         marshaller.setProperty("jaxb.fragment", Boolean.TRUE);
25
26         NoseConeDTO noseCone = new NoseConeDTO();
27         noseCone.setBaseDia(10d);
28         noseCone.setCalcCG(1.3d);
29
30         StageDTO stage1 = new StageDTO();
31         stage1.addExternalPart(noseCone);
32
33         RocketDesignDTO design2 = new RocketDesignDTO();
34         design2.setName("Test");
35         design2.setStage3(stage1);
36
37         RocksimDesignDTO design = new RocksimDesignDTO();
38         design.setDesign(design2);
39         RocksimDocumentDTO message = new RocksimDocumentDTO();
40         message.setDesign(design);
41
42
43         StringWriter stringWriter = new StringWriter();
44         marshaller.marshal(message, stringWriter);
45
46         String response = stringWriter.toString();
47
48         System.err.println(response);
49     }
50     
51     @Test
52     public void testRoundTrip() throws Exception {
53         OpenRocketDocument ord = RocksimLoaderTest.loadRocksimRocket3(new RocksimLoader());
54         
55         Assert.assertNotNull(ord);
56         String result = new RocksimSaver().marshalToRocksim(ord);
57
58 //        System.err.println(result);
59         
60         File output = new File("rt.rkt");
61         FileWriter fw = new FileWriter(output);
62         fw.write(result);
63         fw.flush();
64         fw.close();
65     }
66 }