6 import java.io.BufferedInputStream;
7 import java.io.BufferedOutputStream;
9 import java.io.FileInputStream;
10 import java.io.FileOutputStream;
11 import java.io.IOException;
12 import java.io.InputStream;
13 import java.io.OutputStream;
14 import jp.sfjp.mikutoga.vmd2xml.MotionFileType;
15 import jp.sfjp.mikutoga.vmd2xml.Vmd2XmlConv;
17 import static org.junit.Assert.*;
22 public class CnvAssert {
31 * @throws IOException エラー
33 public static File openTempFile() throws IOException{
34 File file = File.createTempFile("vmd2xml", null);
40 * XMLリソースをVMDに変換した結果がVMDリソースに等しいと表明する。
41 * @param klass リソース元クラス
42 * @param xmlResource XMLリソース名
43 * @param expVmdResource VMDリソース名
44 * @throws Exception エラー
46 public static void assertXml2Vmd(
49 String expVmdResource )
52 klass.getResourceAsStream(xmlResource);
54 xmlis = new BufferedInputStream(xmlis);
56 File destFile = openTempFile();
58 destOut = new FileOutputStream(destFile);
59 destOut = new BufferedOutputStream(destOut);
61 Vmd2XmlConv converter = new Vmd2XmlConv();
62 converter.setInType(MotionFileType.XML_110820);
63 converter.setOutType(MotionFileType.VMD);
64 converter.setNewline("\n");
66 converter.convert(xmlis, destOut);
71 assertSameFile(klass, expVmdResource, destFile);
77 * PMDリソースをXMLに変換した結果がXMLリソースに等しいと表明する。
78 * @param klass リソース元クラス
79 * @param pmdResource PMDリソース名
80 * @param expXmlResource XMLリソース名
81 * @throws Exception エラー
83 public static void assertVmd2Xml(
86 String expXmlResource )
89 klass.getResourceAsStream(pmdResource);
91 pmdis = new BufferedInputStream(pmdis);
93 File destFile = openTempFile();
95 destOut = new FileOutputStream(destFile);
96 destOut = new BufferedOutputStream(destOut);
98 Vmd2XmlConv converter = new Vmd2XmlConv();
99 converter.setInType(MotionFileType.VMD);
100 converter.setOutType(MotionFileType.XML_110820);
101 converter.setNewline("\n");
102 converter.setGenerator(null);
104 converter.convert(pmdis, destOut);
109 assertSameFile(klass, expXmlResource, destFile);
115 * リソースとファイルの内容が等しいと表明する。
116 * @param klass リソース元クラス
117 * @param resourceName リソース名
118 * @param resFile ファイル
119 * @throws IOException 入力エラー
121 public static void assertSameFile(
127 klass.getResourceAsStream(resourceName);
128 assertNotNull(expis);
130 InputStream resIn = new FileInputStream(resFile);
133 assertSameStream(expis, resIn);
143 * 2つの入力ストリーム内容が等しいと表明する。
144 * @param expIn 期待する入力ストリーム
145 * @param resIn 結果入力ストリーム
146 * @throws IOException 入力エラー
148 public static void assertSameStream(InputStream expIn, InputStream resIn)
150 InputStream expis = new BufferedInputStream(expIn);
151 InputStream resis = new BufferedInputStream(resIn);
155 int expCh = expis.read();
156 int resCh = resis.read();
158 assertEquals(expCh, resCh);