ユニットテストテンプレ - peace098beat/windows_applicaciton GitHub Wiki
ユニットテストのテンプレ
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using FiSig;
using System.Collections.Generic;
namespace TestBackend
{
[TestClass]
public class UnitTestBackend
{
public string WavFilePath = @"E:\ゴルフ打音解析システム開発スペース\GolfAnalysSystemSolution\wav\golf1_44100_16bit_Mono.wav";
public Signal signal = null;
//******************************************************************************//
[TestInitialize]
public void TestInitialize()
{
// 引数の準備
signal = new Signal();
signal.SetWav(WavFilePath);
}
[TestCleanup]
public void TestCelean()
{
signal?.Dispose();
}
//******************************************************************************//
[TestMethod]
public void Backend_正常系()
{
int StartSmp = signal.ms2smp(100);
int nFFT = 256;
// スライス
signal.SliceTimeSmp(StartSmp, StartSmp + nFFT - 1);
// 対象メソッドの実行
Spectrum spec = signal.FFT(FftWindowType.hamming);
spec.SliceReset();
// 結果の検証
Assert.AreEqual(nFFT, spec.Amplitude.Length);
Assert.AreEqual(nFFT, spec.Angle.Length);
Assert.AreEqual(nFFT, spec.LogPower.Length);
Assert.AreEqual(nFFT, spec.Power.Length);
Assert.AreEqual(nFFT / 2, spec.HarfFrequency.Length);
Assert.AreEqual(nFFT, spec.Frequency.Length);
// 結果の確認
Dictionary<string, float[]> outdata = new Dictionary<string, float[]>();
outdata["Freq"] = spec.Frequency;
outdata["amp"] = spec.Amplitude;
outdata["Power"] = spec.Power;
outdata["logpower"] = spec.LogPower;
outdata["angle"] = spec.Angle;
FiSig.Helper.WirteCSV("Spectrum_正常_SignalFFTでSpecturmを生成.csv", outdata);
}
}
}