[TestCase("???", false, false)] //作成できないフォルダを指定すると、Status=falseとなる public void Cst_Test(string folder, bool exists, bool status) { //Testプロジェクトの下に、TEST用フォルダを作成する string dir = string.Format("{0}\\{1}", tsDir.Src, folder); if (!exists) //存在しないフォルダをTESTする場合は、フォルダをあらかじめ削除してお { if (Directory.Exists(dir)) { Directory.Delete(dir, true); } } string mlName = "2ban"; MlDb mlDb = new MlDb(null, dir, mlName); //コンストラクタ Assert.AreEqual(mlDb.Status, status); //初期化成功 mlDb.Remove(); if (!exists) //存在しないフォルダをTESTする場合は、最後にフォルダを削除しておく { if (Directory.Exists(dir)) { Directory.Delete(dir, true); } } }
public void SaveRead_Test() { var mail = new Mail(logger); var mlName = "1ban"; MlDb mlDb = new MlDb(logger, dir, mlName); mlDb.Remove();//もし、以前のメールが残っていたらTESTが誤動作するので、ここで消しておく Assert.AreEqual(mlDb.Count(), 0); var max = 10;//試験件数10件 //保存と、 for (int i = 0; i < max; i++) { var b = mlDb.Save(mail); Assert.AreEqual(b, true); //保存が成功しているか Assert.AreEqual(mlDb.Count(), i + 1); //連番がインクリメントしているか } //範囲外のメール取得でnullが返るか //no==1..10が取得可能 var m = mlDb.Read(0);//範囲外 Assert.IsNull(m); //範囲内 for (int no = 1; no <= max; no++) { m = mlDb.Read(no); Assert.NotNull(mlDb.Read(no)); } //範囲外 m = mlDb.Read(11); Assert.IsNull(m); mlDb.Remove(); }