-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathSimulatorClasses.cs
More file actions
137 lines (116 loc) · 3.48 KB
/
SimulatorClasses.cs
File metadata and controls
137 lines (116 loc) · 3.48 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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
using System;
using System.Threading.Tasks;
using Xunit;
namespace IntelliTect.TestTools.TestFramework.Tests.TestData.Dependencies
{
// BREAK OUT INTO OWN FILES AS NEEDED
public class ExampleTestBlockWithExecuteArgForOwnType : TestBlock
{
public void Execute(ExampleImplementation input)
{
if (input is null) throw new ArgumentNullException(nameof(input));
Assert.Equal("Testing", input.Testing);
}
}
public class ExampleTestBlockWithExecuteArgForInterface : TestBlock
{
public void Execute(IExampleDataInterface input)
{
if (input is null) throw new ArgumentNullException(nameof(input));
Assert.Equal("Testing", input.Testing);
}
}
public class ExampleTestBlockWithPropertyForOwnType : TestBlock
{
public ExampleImplementation Input { get; set; } = new();
public void Execute()
{
Assert.Equal("Testing", Input.Testing);
}
}
public class ExampleTestBlockWithConstructorForOwnType : TestBlock
{
public ExampleTestBlockWithConstructorForOwnType(ExampleImplementation input)
{
Input = input;
}
public void Execute()
{
Assert.Equal("Testing", Input.Testing);
}
private ExampleImplementation Input { get; }
}
public class ExampleTestBlockForFactoryWithExecuteArg : TestBlock
{
public void Execute(ExampleImplementation input)
{
if (input is null) throw new ArgumentNullException(nameof(input));
Assert.Equal("TestingOverride", input.Testing);
}
}
public class ExampleTestBlockForFactoryWithProperty : TestBlock
{
public ExampleImplementation Input { get; set; } = new();
public void Execute()
{
Assert.Equal("TestingOverride", Input.Testing);
}
}
public class ExampleTestBlockForFactoryWithConstructor : TestBlock
{
public ExampleTestBlockForFactoryWithConstructor(ExampleImplementation input)
{
Input = input;
}
public void Execute()
{
Assert.Equal("TestingOverride", Input.Testing);
}
private ExampleImplementation Input { get; }
}
public class ExampleTestBlockWithPropertyWithNoSetter : TestBlock
{
public string Input { get; } = "Not Set";
public void Execute()
{
Assert.Equal("Not Set", Input);
}
}
public class ExampleLoggerUsage : TestBlock
{
public void Execute(ITestCaseLogger log)
{
if (log is null) throw new ArgumentNullException(nameof(log));
log.Debug("This should throw");
}
}
public class ExampleFinallyBlock : TestBlock
{
public void Execute(bool result)
{
Assert.True(result, "This is an expected failure.");
}
}
public class ExampleAsyncFinallyBlock : TestBlock
{
public async Task Execute(bool result)
{
await Task.Delay(1);
Assert.True(result, "This is an expected failure.");
}
}
public class ExampleAsyncBlockWithReturn : TestBlock
{
public async Task<bool> Execute()
{
return await Task.Run(() => true);
}
}
public class ExampleAsyncBlockWithNoReturn : TestBlock
{
public async Task Execute()
{
await Task.Delay(1);
}
}
}