1   /* Copyright 2002-2025 CS GROUP
2    * Licensed to CS GROUP (CS) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * CS licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *   http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.orekit.files.ccsds.ndm.cdm;
18  
19  import org.junit.jupiter.api.Test;
20  import org.orekit.files.ccsds.ndm.AbstractWriterTest;
21  import org.orekit.files.ccsds.ndm.ParsedUnitsBehavior;
22  import org.orekit.files.ccsds.ndm.ParserBuilder;
23  import org.orekit.files.ccsds.ndm.WriterBuilder;
24  
25  public class CdmWriterTest extends AbstractWriterTest<CdmHeader, CdmSegment, Cdm> {
26  
27      protected CdmParser getParser() {
28          return new ParserBuilder().
29                 withParsedUnitsBehavior(ParsedUnitsBehavior.STRICT_COMPLIANCE).
30                 buildCdmParser();
31      }
32  
33      protected CdmWriter getWriter() {
34          return new WriterBuilder().buildCdmWriter();
35      }
36  
37      @Test
38      public void testWriteExample1() {
39          doTest("/ccsds/cdm/CDMExample1.txt");
40      }
41  
42      @Test
43      public void testWriteExample1XML() {
44          doTest("/ccsds/cdm/CDMExample1.xml");
45      }
46  
47      @Test
48      public void testWriteExample2() {
49          doTest("/ccsds/cdm/CDMExample2.txt");
50      }
51  
52      @Test
53      public void testWriteExample3() {
54          doTest("/ccsds/cdm/CDMExample3.txt");
55      }
56  
57      @Test
58      public void testWriteExample4() {
59          doTest("/ccsds/cdm/CDMExample4.txt");
60      }
61      
62      @Test
63      public void testWrite_issue_942_KVN() {
64          doTest("/ccsds/cdm/CDMExample_issue942.txt");
65      }
66      
67      @Test
68      public void testWrite_issue_942_XML() {
69          doTest("/ccsds/cdm/CDMExample_issue942.xml");
70      }
71  
72      @Test
73      public void testWrite_issue_988_KVN_YES() {
74          doTest("/ccsds/cdm/CDMExample_issue988.txt");
75      }
76  
77      @Test
78      public void testWrite_issue_988_KVN_NO() {
79          doTest("/ccsds/cdm/CDMExample_issue988_2.txt");
80      }
81  
82      @Test
83      public void testWrite_issue_988_KVN_NONE() {
84          doTest("/ccsds/cdm/CDMExample_issue988_3.txt");
85      }
86  
87      @Test
88      public void testWrite_issue_988_XML_YES() {
89          doTest("/ccsds/cdm/CDMExample_issue988.xml");
90      }
91  
92  
93      @Test
94      public void testWrite_issue_988_XML_NO() {
95          doTest("/ccsds/cdm/CDMExample_issue988_2.xml");
96      }
97  
98      @Test
99      public void testWrite_issue_988_XML_NONE() {
100         doTest("/ccsds/cdm/CDMExample_issue988_3.txt");
101     }
102 
103 }
104