Skip to content

Commit

Permalink
added unit tests for DbManager
Browse files Browse the repository at this point in the history
  • Loading branch information
BeanHsiang committed Feb 8, 2018
1 parent bb8c273 commit 60190dd
Showing 1 changed file with 72 additions and 1 deletion.
73 changes: 72 additions & 1 deletion Dapper.Tests.Contrib/TestDbManager.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
using System;
using System.Collections.Generic;
using System.Data;
using Dapper.Contrib.Extensions;
using MySql.Data.MySqlClient;
using Xunit;
Expand All @@ -24,9 +26,10 @@ class Human
public DateTime? CreatedDate { get; set; }
}


public class TestDbManager
{
const string conStr = "server=LocalHost;User Id=root;Pwd=greedyint;database=test";
const string conStr = "server=LocalHost;User Id=root;Pwd=MYPASSWORD;database=test";
Random rand = new Random();

[Fact]
Expand All @@ -48,5 +51,73 @@ public void TestSaveChanges()
var queryPerson = mgr.Get<Human>(person.Id);
Assert.Equal(person.Age, queryPerson.Age);
}


[Fact]
public void TestGetMapper()
{
var mgr = new DbManager(() => { return new MySqlConnection(conStr); });

var person = new Human()
{
Id = 11,
Name = "TestDbManager",
Age = rand.Next(1, 100),
Address = "TestInsertStrongClassInstanceAddress",
Enabled = true
};

var mapper = mgr.GetMapper<ISpUserMapper>();
//var mapper2 = new SpUserMapper2(new MySqlConnection(conStr));

//var arr2 = mapper2.GetUserNames(2);
int a = mapper.UpdateUsers("MapperUpdated" + rand.Next(1, 100), 2);
var arr = mapper.GetUserNames(2);
}
}


public interface ISpUserMapper : ISqlOperationMapper
{
[QuerySql("select name from person where age>@age")]
string[] GetUserNames(int age);

[QuerySql("select name from person where age>@age")]
IEnumerable<string> GetUserNames2(int age);

[ExcuteSql("update person set address=@address where age>@age")]
int UpdateUsers(string address, int age);
}

//public class SpUserMapper2 : ISpUserMapper
//{
// private IDbConnection connection;

// public SpUserMapper2(IDbConnection connection) => this.connection = connection;

// public string[] GetUserNames(int age)
// {
// var sql = "select * from person where age>@age";
// var dic = new Dictionary<string, dynamic>();
// dic.Add("age", age);
// return connection.Query<string>(sql, dic).ToArray();
// }

// public IEnumerable<string> GetUserNames2(int age)
// {
// var sql = "select * from person where age>@age";
// var dic = new Dictionary<string, dynamic>();
// dic.Add("age", age);
// return connection.Query<string>(sql, dic);
// }

// public int UpdateUsers(string address, int age)
// {
// var sql = "111";
// var dic = new Dictionary<string, dynamic>();
// dic.Add("address", address);
// dic.Add("age", age);
// return connection.Execute(sql, dic);
// }
//}
}

0 comments on commit 60190dd

Please sign in to comment.