-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTest.cs
More file actions
83 lines (67 loc) · 2.14 KB
/
Test.cs
File metadata and controls
83 lines (67 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using DeepEqual.Syntax;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using NUnit.Framework;
using TestsHelper.SourceGenerator.Attributes;
using TestsHelper.SourceGenerator.MockWrapping;
namespace Sample.Tests;
[TestFixture]
public partial class Test
{
[FillMocksWithWrappers]
private TestedClass _testedClass = null!;
[DefaultValue("factory")]
private readonly ILoggerFactory _nullFactory = NullLoggerFactory.Instance;
[SetUp]
public void Setup()
{
_testedClass = Build();
}
[Test]
public void Setup_WithoutWrapper()
{
// Arrange
int number = 1;
_dependency.Mock.Setup(dependency => dependency.MakeString(It.IsAny<int>()))
.Returns<int>(n => n.ToString());
// Act
string result = _testedClass.VeryComplicatedLogic(number);
// Assert
_dependency.Mock.Verify(dependency => dependency.MakeString(2), Times.Once);
Assert.That(result, Is.EqualTo("2"));
}
[Test]
public void Setup_WithWrapper()
{
// Arrange
int number = 1;
_dependency.MakeString.Setup()
.Returns<int>(n => n.ToString());
// Act
string result = _testedClass.VeryComplicatedLogic(number);
// Assert
_dependency.MakeString.Verify(2, Times.Once());
Assert.That(result, Is.EqualTo("2"));
}
[Test]
public void ExecuteRequest_Setup_WithWrapper()
{
// Arrange
Request request = new Request() {
Url = "http://example.com",
Body = "This is body"
};
Response expectedResponse = new Response() {
Url = request.Url,
Body = $"Response-{request.Body}"
};
_dependency.ExecuteRequest.Setup(Value<Request>.DeepEqual(request))
.Returns(expectedResponse);
// Act
Response actualResponse = _testedClass.ExecuteRequest(request);
// Assert
_dependency.ExecuteRequest.Verify(Value<Request>.DeepEqual(request), Times.Once());
actualResponse.ShouldDeepEqual(expectedResponse);
}
}