-
Notifications
You must be signed in to change notification settings - Fork 32
/
visualstudiotestresultsoutput_tests.cpp
86 lines (70 loc) · 2.58 KB
/
visualstudiotestresultsoutput_tests.cpp
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
// Copyright Joakim Karlsson & Kim Gräsman 2010.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#include <tests/igloo_self_test.h>
#include <memory>
using namespace igloo;
Context(VisualStudioResultsOutput_EmptyTestRun)
{
std::auto_ptr<VisualStudioResultsOutput> output;
std::stringstream resulting_stream;
TestResults results;
void SetUp()
{
output = std::auto_ptr<VisualStudioResultsOutput>(new VisualStudioResultsOutput(resulting_stream));
output->PrintResult(results);
}
Spec(it_should_display_a_summary_line_with_no_tests_run)
{
Assert::That(resulting_stream.str(), Is().StartingWith("Test run complete. 0 tests run, 0 succeeded, 0 failed."));
}
Context(VisualStudioResultsOutput_one_failed_test_with_no_location_information)
{
void SetUp()
{
testResults().AddResult(FailedTestResult("A context name", "A failing spec", "The error message"));
Parent().output->PrintResult(Parent().results);
}
Spec(it_displays_one_failing_test_in_summary)
{
AssertThat(resulting_output(), Has().Exactly(1).StartingWith("Test run complete. 1 tests run, 0 succeeded, 1 failed"));
}
Spec(it_displays_error_text_for_failed_spec_with_no_location_information)
{
AssertThat(resulting_output(), Is().Containing("Igloo : assertion failed error I001: A context name::A failing spec: The error message"));
}
TestResults& testResults()
{
return Parent().results;
}
std::string resulting_output()
{
return Parent().resulting_stream.str();
}
};
Context(VisualStudioResultOutput_one_failed_test_with_information_about_location_of_assertion)
{
void SetUp()
{
testResults().AddResult(FailedTestResult("A context name", "A failing spec", "The error message", "filename.cpp", 23));
Parent().output->PrintResult(Parent().results);
}
Spec(it_displays_one_failing_test_in_summary)
{
AssertThat(resulting_output(), Has().Exactly(1).StartingWith("Test run complete. 1 tests run, 0 succeeded, 1 failed"));
}
Spec(it_displays_error_text_for_failed_spec_with_location_information)
{
AssertThat(resulting_output(), Has().Exactly(1).StartingWith("filename.cpp(23) : assertion failed error I001: A context name::A failing spec: The error message"));
}
TestResults& testResults()
{
return Parent().results;
}
std::string resulting_output()
{
return Parent().resulting_stream.str();
}
};
};