フェルマータ

個人用のメモ。ソフトウェアの導入とかが多くなる予定。

Specs2 の Mockito でデフォルト引数つきのメソッドの動作定義がメソッドの呼び出し回数にカウントされる。

経緯 Scala でモックを使用したテストコードを書くときにに Mockito を使っている。Mockitoは大変便利で、 Specs2 で使う場合は以下のように簡単にメソッドの動作を定義できる。 val mockedHoge = mock[Hoge] val bar: Argument = new Argument() val result…

libsndfile + QIODevice で WAVE ファイルの読み書き

経緯 趣味で音声合成っぽいソフトウェアを作っている。いい加減音声ファイルの読み書き部を作らねばならなくなったのだが、C++ WAVE 読み込み 無料と Google 先生に聞いてもマッチョな結果しか返ってこない。これはこれで興味はあるが、音声合成のドメインに…

Qt の JSON 機能を少し使ってみた。

今趣味で書いているプログラムの保存形式をどうしようか悩んでいたのだが、 XML は前使ってみたとき煩雑だったしもう少し簡単な形式はないものかとネットを見ていたら、どうも Qt5.0 以降から JSON をサポートしているらしい。 QtCore 5.0: JSON Support in …

Google Mock で演算子オーバーロードしたクラスのモックを作る。

経緯 以前書いたGoogle Mock を導入してみた。に見るように 普通の仮想メンバ関数のモッキングは大変簡単なのだが、演算子のオーバーロードに対してはモッキングができないのかやり方を調べてみた。 問題 単純に仮想関数をモッキングするだけであれば、MOCK_…

Google Mock で参照を返す。

経緯 つい先程テストを書いていて、参照を返すタイプのメソッドをモッキングする際に失敗をしたのでメモしておく。 問題 こんな感じのクラスをモック化しようとする。 class MyClass { public: virtual ~MyClass(){ } virtual const Property &property() co…

UTAU 音源の仕様

経緯 UTAU 音源を読み込むプログラムを何回か書いているのだが、都度都度調べなおしているのが面倒になったので記事にまとめる。音源やプラグインを作るための情報ではなく、プログラムから音源を利用する際に必要な情報であることに注意。 構成 音源はディ…

Qt で複数のテストを同時に実行する。

経緯 Qt には QTest というテスト用ライブラリがついてくる。 QTestLib Manual http://qt-project.org/doc/qt-4.8/qtestlib-manual.html が、しかしデフォルトだと1プロジェクトに対して1テストだけしか実行できない。 Jenkins に Qt 用のプラグインあるの…

Google Mock を導入してみた。

経緯 ようやく余裕ができてきたのか家でときどきコードを書いている。 最近色んな書き方を覚えてきたので、せっかくだし書き方を試してみようと思って、C++ とQtを使ってこんなコードを書いた。 下手くそな英語は放っておいて欲しいが、このクラスはコンスト…