• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (c) 2015 Microsoft Corporation. All rights reserved.
4 //
5 // This code is licensed under the MIT License (MIT).
6 //
7 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
9 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
10 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
11 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
12 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
13 // THE SOFTWARE.
14 //
15 ///////////////////////////////////////////////////////////////////////////////
16 
17 #include <UnitTest++/UnitTest++.h>
18 #include <gsl/gsl>
19 
20 using namespace gsl;
21 
SUITE(assertion_tests)22 SUITE(assertion_tests)
23 {
24     int f(int i)
25     {
26         Expects(i > 0 && i < 10);
27         return i;
28     }
29 
30     TEST(expects)
31     {
32         CHECK(f(2) == 2);
33         CHECK_THROW(f(10), fail_fast);
34     }
35 
36     int g(int i)
37     {
38         i++;
39         Ensures(i > 0 && i < 10);
40         return i;
41     }
42 
43     TEST(ensures)
44     {
45         CHECK(g(2) == 3);
46         CHECK_THROW(g(9), fail_fast);
47     }
48 }
49 
main(int,const char * [])50 int main(int, const char *[])
51 {
52     return UnitTest::RunAllTests();
53 }
54