カウンタ本体の実装
ここまではアプリケーションの外観(View)です。カウンタ本体(Model)は別プロジェクトでスタティックライブラリとして実装し、(前述の)CounterAppにリンクすることでカウンタアプリを構成しましょうか。スタティックライブラリプロジェクト:CounterLibを起こします。
カウンタには+1する/-1する/カウント値を返すの3つの機能があればよさそうなので、ヘッダ:CounterLib.hはこんな感じ:
#pragma once
namespace CounterLib {
class Counter {
public:
Counter();
void increment(); // +1する
void decrement(); // -1する
int get() const; // カウント値
private:
int count_;
};
}
ヘッダに合わせてCounterLib.cppもさくさくっと書いちゃいますか。
#include "pch.h"
#include "CounterLib.h"
namespace CounterLib {
Counter::Counter() : count_(0) {}
void Counter::increment() { ++count_; }
void Counter::decrement() { --count_; }
int Counter::get() const { return count_; }
}
カウンタ本体のテスト
あとはCounterAppとCounterLibとを擦り合わせれば完成、なんだけどここでちょっと寄り道します。CounterLibに実装したCounterが正しく動くかテストしておきましょう。はじめの一歩ですからViewもModelもいささかショボく、これしきのことにテストは要らんのでしょうけど、今後まじモンのアプリ作るためにも知っておいて損はない。CounterApp,CounterLibに加えてさらにもう一つ、単体テストプロジェクト:CounterTestを起こします。
CounterLibが提供するクラスをテストするんだから、ヘッダとライブラリのパスを設定します。





