凡人の日々の経過を記録
カレンダー
カテゴリー
リンク
最新記事
(03/21)
(03/11)
(03/05)
(03/02)
(02/06)
ブログ内検索
コガネモチ
C++のテストユニットというものをつい最近知って、その重要性と便利さに魅力を感じている今日この頃です。
とりあえず、以下のものを試してみました。
CppUnitは、記述が面倒ではあるが、よく使われているようでネット上に日本語の情報が多くわかりやすかった。 機能も一通り揃っていて使用するには十分といった感じに思えた。 Boost Testは、Boostパッケージに含まれるテストユニットで、最近のLinuxパッケージであれば標準でインストールされている場合が多いので、あえてライブラリをインストールしなくてもよいところが良い。 記述方法は、CppUnitに比べてシンプル。 出力もシンプルで、オプション指定することもでるようです。 Google Testは、最近公開されたテストフレームワークで、CppUnit等のxUnitをベースにしているようです。 記述は、CppUnitよりも簡潔です。 出力は、CUIですが、色がついていてわかりやすくなっています。 オプション指定も可能で、いろいろ便利そうです。 一通り触ってみた感じでは、簡単に済ませたいならBoost Test。 好みとしては、Google Test。 今後の調査続行で。 PR 文字コードを変換するメソッドを作ってみました。
引数に入力ファイル名、出力ファイル名、変換する文字コード、改行コード(タイプ)を指定できるようにしたメソッドを用意してみました。 ------------------------------------------------------- import java.io.*; public class ChMojiCode { public static void main(String[] args) { try { if (args.length > 1) { //changeMojiCode(args[0], args[1], "ISO2022JP", 0); //changeMojiCode(args[0], args[1], "Shift_JIS", 0); //changeMojiCode(args[0], args[1], "EUC_JP", 2); changeMojiCode(args[0], args[1], "UTF-8", 2); //changeMojiCode(args[0], args[1], "UTF-16", 2); } else { System.err.println( "Usage : java ChMojiCode <InFile> <OutFile>" ); } } catch (IOException e) { System.err.println("Error: " + e.getMessage()); } } public static void changeMojiCode( String inStr, String outStr, String outCode, int endType) throws IOException { FileInputStream inFile = new FileInputStream(inStr); FileOutputStream outFile = new FileOutputStream(outStr); InputStreamReader inStm = new InputStreamReader(inFile, "JISAutoDetect"); OutputStreamWriter outStm = new OutputStreamWriter(outFile, outCode); BufferedReader inBuf = new BufferedReader(inStm); BufferedWriter outBuf = new BufferedWriter(outStm); String lineStr; String endStr; if (endType == 0) { endStr = "\r\n"; } else if (endType == 1) { endStr = "\r"; } else if (endType == 2) { endStr = "\n"; } else { endStr = "\n"; } while ((lineStr = inBuf.readLine()) != null) { outBuf.write( lineStr + endStr ); } outBuf.flush(); inBuf.close(); outBuf.close(); } } ------------------------------------------------------- イベント処理の簡単なプログラムを作ってみました。
------------------------------------------ import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JButton; import java.awt.BorderLayout; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class Simple00 extends JFrame implements ActionListener { private JLabel label; private JButton button; public Simple00() { setTitle("シンプルフレーム"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(320,200); setLocationRelativeTo(null); label = new JLabel("ラベル"); getContentPane().add(label, BorderLayout.CENTER); button = new JButton("ボタン"); getContentPane().add(button, BorderLayout.SOUTH); button.addActionListener(this); setVisible(true); } public void actionPerformed(ActionEvent event) { if (event.getSource() == button) { label.setText("Pushed!!!"); } } public static void main(String[] args) { new Simple00(); } } ------------------------------------------
Powered by 忍者ブログ
Design by © まめの
Copyright © [ ずくのない凡人の日記 ] All Rights Reserved. http://bambooflow.blog.shinobi.jp/ |