Created
July 27, 2021 01:10
-
-
Save arielsrv/e65eba0954a9873abff25ce363eb3a5f to your computer and use it in GitHub Desktop.
moq
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using Moq; | |
using NUnit.Framework; | |
namespace TestProject1 | |
{ | |
[TestFixture] | |
public class UserServiceTest | |
{ | |
[Test] | |
public void TenOrders() | |
{ | |
Mock<IOrderDao> mockOrderDao = new Mock<IOrderDao>(); | |
mockOrderDao.Setup(x => x.GetOrderByUserId(123)).Returns(GetOrders()); | |
UserService userService = new UserService(mockOrderDao.Object); | |
bool result = userService.HaveTenOrders(123); | |
Assert.True(result); | |
} | |
[Test] | |
public void MenorTenOrders() | |
{ | |
Mock<IOrderDao> mockOrderDao = new Mock<IOrderDao>(); | |
mockOrderDao.Setup(x => x.GetOrderByUserId(123)).Returns(new List<Order> {new Order()}); | |
UserService userService = new UserService(mockOrderDao.Object); | |
bool result = userService.HaveTenOrders(123); | |
Assert.False(result); | |
} | |
private List<Order> GetOrders() | |
{ | |
List<Order> orders = new List<Order>(); | |
orders.Add(new Order()); | |
orders.Add(new Order()); | |
orders.Add(new Order()); | |
return orders; | |
} | |
} | |
public interface IOrderDao | |
{ | |
List<Order> GetOrderByUserId(int userId); | |
} | |
public class Order | |
{ | |
public int Id { get; set; } | |
public double Amount { get; set; } | |
} | |
public class OrderDao : IOrderDao | |
{ | |
public List<Order> GetOrderByUserId(int userId) | |
{ | |
throw new System.NotImplementedException(); | |
} | |
} | |
public class User | |
{ | |
public int Id { get; set; } | |
public string Name { get; set; } | |
} | |
public class UserService | |
{ | |
private IOrderDao orderDao; | |
public UserService(IOrderDao orderDao) | |
{ | |
this.orderDao = orderDao; | |
} | |
public bool HaveTenOrders(int userId) | |
{ | |
List<Order> orders = orderDao.GetOrderByUserId(userId); | |
if (orders.Count > 2) | |
{ | |
return true; | |
} | |
return false; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment