Skip to content

Commit fedae8a

Browse files
author
Jake Ginnivan
committed
Moved step arguments class into it's own file
1 parent 2c4b919 commit fedae8a

3 files changed

Lines changed: 42 additions & 36 deletions

File tree

TestStack.BDDfy/Scanners/StepScanners/Fluent/ExpressionExtensions.cs

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -232,40 +232,4 @@ private static StepArgument ExtractPropertyValue<T>(MemberExpression expression,
232232
return new StepArgument(member, value);
233233
}
234234
}
235-
236-
public class StepArgument
237-
{
238-
private readonly Action<object> _set = o => { };
239-
240-
public StepArgument(FieldInfo member, object declaringObject)
241-
{
242-
Name = member.Name;
243-
Value = member.GetValue(declaringObject);
244-
_set = o => member.SetValue(declaringObject, o);
245-
ArgumentType = member.FieldType;
246-
}
247-
248-
public StepArgument(PropertyInfo member, object declaringObject)
249-
{
250-
Name = member.Name;
251-
Value = member.GetGetMethod(true).Invoke(declaringObject, null);
252-
_set = o => member.GetSetMethod(true).Invoke(declaringObject, new[] { o });
253-
ArgumentType = member.PropertyType;
254-
}
255-
256-
public StepArgument(object value)
257-
{
258-
Value = value;
259-
ArgumentType = typeof(object);
260-
}
261-
262-
public string Name { get; set; }
263-
public object Value { get; set; }
264-
public Type ArgumentType { get; private set; }
265-
266-
public void SetValue(object newValue)
267-
{
268-
_set(newValue);
269-
}
270-
}
271235
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
using System;
2+
using System.Reflection;
3+
4+
namespace TestStack.BDDfy
5+
{
6+
public class StepArgument
7+
{
8+
private readonly Action<object> _set = o => { };
9+
10+
public StepArgument(FieldInfo member, object declaringObject)
11+
{
12+
Name = member.Name;
13+
Value = member.GetValue(declaringObject);
14+
_set = o => member.SetValue(declaringObject, o);
15+
ArgumentType = member.FieldType;
16+
}
17+
18+
public StepArgument(PropertyInfo member, object declaringObject)
19+
{
20+
Name = member.Name;
21+
Value = member.GetGetMethod(true).Invoke(declaringObject, null);
22+
_set = o => member.GetSetMethod(true).Invoke(declaringObject, new[] { o });
23+
ArgumentType = member.PropertyType;
24+
}
25+
26+
public StepArgument(object value)
27+
{
28+
Value = value;
29+
ArgumentType = typeof(object);
30+
}
31+
32+
public string Name { get; set; }
33+
public object Value { get; set; }
34+
public Type ArgumentType { get; private set; }
35+
36+
public void SetValue(object newValue)
37+
{
38+
_set(newValue);
39+
}
40+
}
41+
}

TestStack.BDDfy/TestStack.BDDfy.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
</Compile>
123123
<Compile Include="Scanners\StepScanners\Fluent\IFluentScanner.cs" />
124124
<Compile Include="Scanners\StepScanners\Examples\WithExamplesExtensions.cs" />
125+
<Compile Include="Scanners\StepScanners\Fluent\StepArgument.cs" />
125126
<Compile Include="Scenario.cs" />
126127
<Compile Include="Engine.cs" />
127128
<Compile Include="StepTitle.cs" />

0 commit comments

Comments
 (0)