-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVerificationErrors.cs
55 lines (49 loc) · 1.63 KB
/
VerificationErrors.cs
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
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using Gallio.Framework;
namespace ProtoTest.Nightshade
{
/// <summary>
/// Non terminating validations.
/// </summary>
class VerificationErrors
{
public static List<VerificationError> Errors = new List<VerificationError>();
public static void AddVerificationError(string message)
{
TestContext.CurrentContext.AddAssertCount(1);
Errors.Add(new VerificationError(message));
}
public void AssertNoVerificationErrors()
{
if (Errors.Count != 0)
{
TestLog.Failures.BeginSection("Verification Errors");
foreach (var error in Errors)
{
TestLog.Failures.WriteLine(string.Format("Verification Error Found At {0} : {1}", error.time.ToShortTimeString(), error.message));
if (error.screenshot != null)
{
TestLog.Failures.EmbedImage(null, error.screenshot);
}
}
TestLog.Failures.End();
}
}
internal class VerificationError
{
public string message;
public Image screenshot;
public DateTime time;
public VerificationError(string message)
{
this.message = message;
this.screenshot = EggplantTestBase.Driver.GetScreenshot();
this.time = DateTime.Now;
}
}
}
}