Skip to content

Commit 9d5c63d

Browse files
author
Ajeet
committed
unit test update
1 parent 2837d44 commit 9d5c63d

File tree

5 files changed

+128
-142
lines changed

5 files changed

+128
-142
lines changed
Lines changed: 42 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,48 @@
1-
//using System;
2-
//using System.Threading.Tasks;
3-
//using EntityFrameworkWrapper.Tests;
4-
//using Microsoft.VisualStudio.TestTools.UnitTesting;
5-
//using Moq;
1+
using System;
2+
using System.Data.Entity;
3+
using System.Threading.Tasks;
4+
using Microsoft.VisualStudio.TestTools.UnitTesting;
5+
using Moq;
66

7-
//namespace EntityFrameworkWrapper.Test
8-
//{
9-
// [TestClass]
10-
// public class UnitTestDBManager
11-
// {
12-
// [TestMethod]
13-
// public void TestMethod_GetRepository_returns_the_type_requested_repository()
14-
// {
15-
// //Arrange
16-
// var _IMockIDbcontext = new Mock<IDbContext>();
17-
// var transationManager = new DBManager(_IMockIDbcontext.Object);
7+
namespace EntityFrameworkWrapper.Test
8+
{
9+
[TestClass]
10+
public class UnitTestDBManager
11+
{
12+
public class InputModel { public int Id { get; set; } public string Name { get; set; } }
1813

19-
// //Act
20-
// var result = transationManager.GetRepository<InputModel>();
14+
[TestMethod]
15+
public void TestMethod_GetRepository_returns_the_type_requested_repository()
16+
{
17+
//Arrange
18+
var _IMockIDbcontext = new Mock<IDbContext>();
19+
var transationManager = new DBManager(_IMockIDbcontext.Object);
2120

22-
// //Assert
23-
// Assert.IsInstanceOfType(result, typeof(IRepository<InputModel>));
24-
// Assert.IsNotNull(result);
25-
// }
26-
// [TestMethod]
27-
// public void TestMethod_Save_returns_point_integer_on_succesfull_operation()
28-
// {
29-
// //Arrange
30-
// var _IMockIDbcontext = new Mock<IDbContext>();
31-
// _IMockIDbcontext.Setup(m => m.SaveAsync()).ReturnsAsync(1);
32-
// var transationManager = new DBManager(_IMockIDbcontext.Object);
21+
//Act
22+
var result = transationManager.GetRepository<InputModel>();
3323

34-
// //Act
35-
// var result = transationManager.SaveAsync();
24+
//Assert
25+
Assert.IsInstanceOfType(result, typeof(IRepository<InputModel>));
26+
Assert.IsNotNull(result);
27+
}
28+
[TestMethod]
29+
public void TestMethod_Save_returns_point_integer_on_succesfull_operation()
30+
{
31+
//Arrange
32+
var input = new InputModel { Id = 1, Name = "Azy" };
33+
var _IMockIDbcontext = new Mock<IDbContext>();
34+
_IMockIDbcontext.Setup(m => m.Save()).Returns(1);
35+
_IMockIDbcontext.Setup(m => m.Set<InputModel>().Add(It.IsAny<InputModel>())).Returns(input);
36+
var moqDbSet = new Mock<IDbSet<InputModel>>();
37+
_IMockIDbcontext.Setup(m => m.Set<InputModel>()).Returns(moqDbSet.Object);
38+
var transationManager = new DBManager(_IMockIDbcontext.Object);
3639

37-
// //Assert
38-
// Assert.IsInstanceOfType(result, typeof(Task<int>));
39-
// Assert.IsNotNull(result);
40-
// Assert.AreEqual(result.Result, 1);
41-
// _IMockIDbcontext.Verify(v => v.SaveAsync(), Times.Once);
40+
//Act
41+
transationManager.GetRepository<InputModel>().Add(input);
4242

43-
// }
44-
// }
45-
//}
43+
//Assert
44+
_IMockIDbcontext.Verify(v => v.Save(), Times.Once);
45+
46+
}
47+
}
48+
}
Lines changed: 82 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,93 @@
1-
//using Microsoft.VisualStudio.TestTools.UnitTesting;
2-
//using EntityFrameworkWrapper;
3-
//using System;
4-
//using System.Collections.Generic;
5-
//using System.Linq;
6-
//using System.Text;
7-
//using System.Threading.Tasks;
8-
//using Moq;
9-
//using System.Data.Entity;
1+
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using EntityFrameworkWrapper;
3+
using System;
4+
using System.Collections.Generic;
5+
using System.Linq;
6+
using System.Text;
7+
using System.Threading.Tasks;
8+
using Moq;
9+
using System.Data.Entity;
1010

11-
//namespace EntityFrameworkWrapper.Tests
12-
//{
13-
//public class InputModel{public int Id {get;set;} public string Name{get;set;}}
14-
//[TestClass]
15-
// public class RepositoryTest
16-
// {
17-
// private Mock<IDbContext> _IMockCtx;
11+
namespace EntityFrameworkWrapper.Tests
12+
{
13+
public class InputModel { public int Id { get; set; } public string Name { get; set; } }
14+
[TestClass]
15+
public class RepositoryTest
16+
{
17+
private Mock<IDbContext> _IMockCtx;
1818

19-
// private IEnumerable<InputModel> model;
20-
// [TestInitialize]
21-
// public void Init()
22-
// {
23-
// _IMockCtx = new Mock<IDbContext>();
24-
// model =new List<InputModel>{ new InputModel {
25-
// Name = "Test Name",
26-
// Id = 999}
27-
// };
28-
// SetRepository(model);
29-
// }
30-
// private void SetRepository<T>(IEnumerable<T> data) where T : class
31-
// {
32-
// var dbset = GetIDbset(data);
33-
// _IMockCtx.Setup(m => m.Set<T>()).Returns(dbset);
34-
// _IMockCtx.Setup(m => m.Set<T>().Add(It.IsAny<T>())).Verifiable();
35-
// _IMockCtx.Setup(m => m.Set<T>().Remove(It.IsAny<T>())).Verifiable();
36-
// _IMockCtx.Setup(m => m.SaveAsync()).ReturnsAsync(1);
37-
// }
19+
private IEnumerable<InputModel> model;
20+
[TestInitialize]
21+
public void Init()
22+
{
23+
_IMockCtx = new Mock<IDbContext>();
24+
model = new List<InputModel>{ new InputModel {
25+
Name = "Test Name",
26+
Id = 999}
27+
};
28+
SetRepository(model);
29+
}
30+
private void SetRepository<T>(IEnumerable<T> data) where T : class
31+
{
32+
var dbset = GetIDbset(data);
33+
_IMockCtx.Setup(m => m.Set<T>()).Returns(dbset);
34+
_IMockCtx.Setup(m => m.Set<T>().Add(It.IsAny<T>())).Verifiable();
35+
_IMockCtx.Setup(m => m.Set<T>().Remove(It.IsAny<T>())).Verifiable();
36+
_IMockCtx.Setup(m => m.Save()).Returns(1);
37+
}
3838

39-
// private static IDbSet<T> GetIDbset<T>(IEnumerable<T> sourceList) where T : class
40-
// {
41-
// var queryable = sourceList.AsQueryable();
39+
private static IDbSet<T> GetIDbset<T>(IEnumerable<T> sourceList) where T : class
40+
{
41+
var queryable = sourceList.AsQueryable();
4242

43-
// var dbSet = new Mock<IDbSet<T>>();
44-
// dbSet.As<IQueryable<T>>().Setup(m => m.Provider).Returns(queryable.Provider);
45-
// dbSet.As<IQueryable<T>>().Setup(m => m.Expression).Returns(queryable.Expression);
46-
// dbSet.As<IQueryable<T>>().Setup(m => m.ElementType).Returns(queryable.ElementType);
47-
// dbSet.As<IQueryable<T>>().Setup(m => m.GetEnumerator()).Returns(() => queryable.GetEnumerator());
48-
// dbSet.Setup(m => m.Add(It.IsAny<T>())).Callback<T>((s) => sourceList.ToList().Add(s)).Returns(() => { return sourceList.Last(); });
49-
// dbSet.Setup(m => m.Attach(It.IsAny<T>())).Callback<T>((s) => sourceList.ToList().Add(s)).Returns(() => { return sourceList.Last(); });
50-
// dbSet.Setup(m => m.Remove(It.IsAny<T>())).Callback<T>((s) => sourceList.ToList().Remove(s)).Returns(() => { return sourceList.Last(); });
51-
// return dbSet.Object;
52-
// }
53-
// [TestMethod]
54-
// public void Get_client_data_from_datastore()
55-
// {
56-
// //Arrange
57-
// var repository = new Repository<InputModel>(_IMockCtx.Object);
43+
var dbSet = new Mock<IDbSet<T>>();
44+
dbSet.As<IQueryable<T>>().Setup(m => m.Provider).Returns(queryable.Provider);
45+
dbSet.As<IQueryable<T>>().Setup(m => m.Expression).Returns(queryable.Expression);
46+
dbSet.As<IQueryable<T>>().Setup(m => m.ElementType).Returns(queryable.ElementType);
47+
dbSet.As<IQueryable<T>>().Setup(m => m.GetEnumerator()).Returns(() => queryable.GetEnumerator());
48+
dbSet.Setup(m => m.Add(It.IsAny<T>())).Callback<T>((s) => sourceList.ToList().Add(s)).Returns(() => { return sourceList.Last(); });
49+
dbSet.Setup(m => m.Attach(It.IsAny<T>())).Callback<T>((s) => sourceList.ToList().Add(s)).Returns(() => { return sourceList.Last(); });
50+
dbSet.Setup(m => m.Remove(It.IsAny<T>())).Callback<T>((s) => sourceList.ToList().Remove(s)).Returns(() => { return sourceList.Last(); });
51+
return dbSet.Object;
52+
}
53+
[TestMethod]
54+
public void Get_client_data_from_datastore()
55+
{
56+
//Arrange
57+
var repository = new Repository<InputModel>(_IMockCtx.Object);
5858

59-
// //Act
60-
// var result = repository.GetAsync();
59+
//Act
60+
var result = repository.Get();
6161

62-
// //Assert
63-
// Assert.IsInstanceOfType(result, typeof(Task<IEnumerable<InputModel>>));
64-
// _IMockCtx.Verify(v => v.Set<InputModel>(), Times.Once);
65-
// }
62+
//Assert
63+
Assert.IsInstanceOfType(result, typeof(IEnumerable<InputModel>));
64+
_IMockCtx.Verify(v => v.Set<InputModel>(), Times.Once);
65+
}
6666

67-
// [TestMethod]
68-
// public void Add_client_data_to_datastore_successful()
69-
// {
70-
// //Arrange
71-
// var repository = new Repository<InputModel>(_IMockCtx.Object);
72-
// var data = model.FirstOrDefault();
73-
// //Act
74-
// var result=repository.Add(data);
67+
[TestMethod]
68+
public void Add_client_data_to_datastore_successful()
69+
{
70+
//Arrange
71+
var repository = new Repository<InputModel>(_IMockCtx.Object);
72+
var data = model.FirstOrDefault();
73+
//Act
74+
repository.Add(data);
7575

76-
// //Assert
77-
// Assert.IsInstanceOfType(result, typeof(Task<InputModel>));
78-
// _IMockCtx.Verify(v => v.Set<InputModel>().Add(It.IsAny<InputModel>()), Times.Once);
79-
// }
76+
//Assert
77+
_IMockCtx.Verify(v => v.Set<InputModel>().Add(It.IsAny<InputModel>()), Times.Once);
78+
}
8079

81-
// [TestMethod]
82-
// public void Delete_client_data_from_datastore_successful()
83-
// {
84-
// //Arrange
85-
// var repository = new Repository<InputModel>(_IMockCtx.Object);
80+
[TestMethod]
81+
public void Delete_client_data_from_datastore_successful()
82+
{
83+
//Arrange
84+
var repository = new Repository<InputModel>(_IMockCtx.Object);
8685

87-
// //Act
88-
// repository.Remove(1);
86+
//Act
87+
repository.Delete(new InputModel { });
8988

90-
// //Assert
91-
// _IMockCtx.Verify(v => v.Set<InputModel>().Remove(It.IsAny<InputModel>()), Times.Once);
92-
// }
93-
// }}
89+
//Assert
90+
_IMockCtx.Verify(v => v.Set<InputModel>().Remove(It.IsAny<InputModel>()), Times.Once);
91+
}
92+
}
93+
}

EntityFrameworkWrapper/EntityFrameworkWrapper/DBManager.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
using System;
22
using System.Collections;
3-
using System.Collections.Generic;
4-
using System.Linq;
5-
using System.Text;
6-
using System.Threading.Tasks;
73

84
namespace EntityFrameworkWrapper
95
{

EntityFrameworkWrapper/EntityFrameworkWrapper/RepositoryT.cs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
4-
using System.Linq.Expressions;
5-
using System.Text;
6-
using System.Threading.Tasks;
1+
using System.Collections.Generic;
72

83
namespace EntityFrameworkWrapper
94
{
@@ -23,14 +18,11 @@ public Repository(IDbContext context)
2318
}
2419
public virtual void Add(T entity)
2520
{
26-
_context.Set<T>().Add(entity);
27-
_context.Save();
21+
_context.Set<T>().Add(entity); _context.Save();
2822
}
29-
3023
public virtual void Delete(T entity)
3124
{
32-
_context.Set<T>().Remove(entity);
33-
_context.Save();
25+
_context.Set<T>().Remove(entity); _context.Save();
3426
}
3527
public virtual T Find(int id)
3628
{

EntityFrameworkWrapper/EntityFrameworkWrapper/UnityConfig.cs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
4-
using System.Text;
5-
using System.Threading.Tasks;
6-
using Unity;
1+
using Unity;
72

83
namespace EntityFrameworkWrapper
94
{

0 commit comments

Comments
 (0)