using System; using System.Collections.Generic; using System.Text; using Xunit; using Shouldly; using Shouldly.Configuration; using Shouldly.ShouldlyExtensionMethods; using AccessStudy.Core; using System.Data.OleDb; namespace AccessStudy.CoreTest { public class OleDbUtilTest : IDisposable { private readonly OledbUtil _dbUtil; public OleDbUtilTest() { _dbUtil = new OledbUtil(); } [Fact] public void DbUtil_NotNull_Test() { Assert.NotNull(_dbUtil); } [Fact] public void DbConnet_Test() { var con = _dbUtil.DbConnection; Assert.NotNull(con); Action action = () => { con.Open(); con.Close(); con.Dispose(); }; Should.NotThrow(action); } [Fact] public void DataSet_Test() { var ds = _dbUtil.GetDataSet("Student"); Assert.NotNull(ds); Assert.NotNull(ds.Tables); Assert.True(ds.Tables.Count > 0); } [Fact] public void DataTable_Test() { var dt = _dbUtil.GetDataTable("Student"); Assert.NotNull(dt); } [Fact] public void DataReader_Test() { Action action = () => { var dataReader = _dbUtil.GetDataReader("Student"); while (dataReader.Read()) { break; } dataReader.Close(); }; Should.NotThrow(action); } [Fact] public void Scalar_Test() { var sqlText = @"select count(*) as Total from Student where Age>@Age;"; List paras = new List() { new OleDbParameter("Age",1), }; var total = (int)_dbUtil.GetScalar(sqlText, paras); Assert.True(total >= 0); } [Fact] public void NonQuery_Test() { var sqlText = @"update Student Set Age=Age+1 where Age>@Age and Name <>@Name;"; List paras = new List() { new OleDbParameter("Age",1), new OleDbParameter("Name","王高峰"), }; var total = _dbUtil.ExecuteNonQuery(sqlText, paras); Assert.True(total >= 0); } public void Dispose() { } } }