2016-01-01から1年間の記事一覧
NUnit を使って例外送出のテストをしてみます。以下に示すコードでは DivideByZeroException が確実にスローされることを確認するテストを実行しています。 例外送出のユニットテストの例 module UnitTestingSamples2 open NUnit.Framework open System [<Test>] l</test>…
Visual Studio 2013 から NUnit を使ってF# コードのユニットテストを行ってみます。(F# のプロジェクトはコンソールアプリケーションのプロジェクトとして作成) プロジェクトへ必要な Nuget パッケージをインストールします。(記事作成時の NUnit のバー…
前回(F#からWPFのGUIを扱う その3)の別解として、今度は Win32 API を直接利用せずにインターフェイス IValueConverter の実装を別の方法で試みます。 MyBitmapConverter クラスを再実装します。よって、前回のF#のコードの34~52行目を以下のコードで置き…
WPF の Image コントロールに、動的に生成したビットマップ画像を表示させるコードを書いてみます。 生成する画像については「Windows Presentation Foundation 4.5 Cookbook」Chapter 9 : Graphics and Animation / Manipulating a bitmap programmatically…
WPFボタンの簡単なClickイベント処理を試みます。前回作成したソリューションにコードを追加していきます。 C#のプロジェクト WpfTest にて MainWindow.xaml にボタンを追加します。XAMLデザイナーの画面でマウス操作でボタンを配置してみます。 ツールボッ…
WPF(Windows Presentation Framework)のウィンドウをF#のコードを使って表示させてみます。XAMLの編集作業の利便性を考えてC#のプロジェクトと連携させることにします。以下の説明で使用している開発環境はVisual Studio 2013 です。 まず準備として新規の…
// 名前空間:Microsoft.FSharp.CollectionsのSetモジュールについて。 Set が生成する集合オブジェクトはイミュータブル(immutable)つまり変更不可な値です。 以下のコードでAdd メソッドを呼び出していますが、1行目で生成した集合オブジェクトの内容を…
F#で数学における「集合」を扱うために、名前空間:Microsoft.FSharp.Collections には Set というモジュールが用意されています。 整数0から5までの集合を作るには、 let is = Set.ofList [0..5] このコードは、整数0から5のリスト [0; 1; 2; 3; 4; 5] に S…
前回の xUnit.net を利用したユニットテストの続きです。前回とは違うやり方で、ひとつのテスト関数に複数のテストデータを渡す方法を試します。 サンプルコード その1 module Sample3 open Xunit let SampleData01 : seq<obj array> = seq [ [| ""; 0 |] [| "ab"; 2 |]</obj>…
前回と同じく Visual Studio 2013 のテストエクスプローラーから xUnit.net を使ったユニットテストを行います。今回は1つのテスト関数に複数のテストデータを渡す方法を試します。 xUnit.net を使ったコードの例 module Sample2 open Xunit let fibonacci (…
.codesnippet { border-style: solid; border-width: 1px; margin-top: 1em; margin-bottom: 2em; font-family: Consolas; font-size: 10pt; color: black; background: #fffbf0; line-height: 1.3em; } --> xUnit.net を利用してVisual Studio 2013のテスト…
デフォルトのVisual Studio 2013の環境で、F#のコードのユニットテストを実行してみます。以下は普通のコンソールアプリケーションのプロジェクトに含まれているコードです。Microsoft.VisualStudio.TestTools.UnitTesting名前空間を使うので、予め Microsof…
.pre_attributes { border-style: solid; border-width: 1px; margin-top: 1em; margin-bottom: 2em; font-family: Consolas; font-size: 10pt; color: black; background: #fffbf0; line-height: 1.3em; } --> 今回はチャート・ライブラリ F# Chartingを利…
二つのリスト [0; 1][2; 3] のデカルト積(Cartesian product)、つまり互いのリスト要素どうしのすべての組み合わせによる集合をリストで表すと [ [0; 2]; [0; 3]; [1; 2]; [1; 3] ] と表せます。また、三つのリスト [0; 1][2; 3][4; 5] ならば [ [0; 2; 4]…
名前空間:System.Windows.Forms.DataVisualization.Chartingのクラスを使って.NET標準ライブラリのみでグラフを描いてみます。 Windowsフォーム(Formオブジェクト)に下図のような階層で必要なオブジェクトを追加していきます。 Form ChartControl ChartAr…