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 )
88 Vmd2XmlConv converter = new Vmd2XmlConv();
89 converter.setInType(MotionFileType.VMD);
90 converter.setOutType(MotionFileType.XML_110820);
91 converter.setNewline("\n");
92 converter.setGenerator(null);
94 assertVmd2Xml(klass, pmdResource, expXmlResource, converter);
100 * VMDリソースをXMLに変換した結果がXMLリソースに等しいと表明する。
101 * @param klass リソース元クラス
102 * @param vmdResource PMDリソース名
103 * @param expXmlResource XMLリソース名
104 * @param converter コンバータ
105 * @throws Exception エラー
107 public static void assertVmd2Xml(
110 String expXmlResource,
111 Vmd2XmlConv converter )
114 klass.getResourceAsStream(vmdResource);
115 assertNotNull(vmdis);
116 vmdis = new BufferedInputStream(vmdis);
118 File destFile = openTempFile();
119 OutputStream destOut;
120 destOut = new FileOutputStream(destFile);
121 destOut = new BufferedOutputStream(destOut);
123 converter.convert(vmdis, destOut);
128 assertSameFile(klass, expXmlResource, destFile);
134 * リソースとファイルの内容が等しいと表明する。
135 * @param klass リソース元クラス
136 * @param resourceName リソース名
137 * @param resFile ファイル
138 * @throws IOException 入力エラー
140 public static void assertSameFile(
146 klass.getResourceAsStream(resourceName);
147 assertNotNull(expis);
149 InputStream resIn = new FileInputStream(resFile);
152 assertSameStream(expis, resIn);
162 * 2つの入力ストリーム内容が等しいと表明する。
163 * @param expIn 期待する入力ストリーム
164 * @param resIn 結果入力ストリーム
165 * @throws IOException 入力エラー
167 public static void assertSameStream(InputStream expIn, InputStream resIn)
169 InputStream expis = new BufferedInputStream(expIn);
170 InputStream resis = new BufferedInputStream(resIn);
174 int expCh = expis.read();
175 int resCh = resis.read();
177 assertEquals(expCh, resCh);