[
  {
    "path": ".gitignore",
    "content": "unlinked/\n*~\n.DS_Store"
  },
  {
    "path": "README.md",
    "content": "# C++Now 2014 Presentations\n\n* [Library in a Week Repo](https://github.com/JeffGarland/liaw2014.git)\n\nBelow are links to the pdfs / keynotes / OPDs in the files directory.  \nDepending on your browser, you may need to right click on the link and select save.\n\n## Tuesday, May 13\n\n* [Library in a Week - C++ Templating Engine](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/liaw_template_engine_day1.pdf?raw=true)\n* Keynote: Axiomatic Programming: From Euclidean Deductions to C++ Templates and Beyond\n* C++14: Through the Looking Glass \n* [Coroutines, Fibers, and Threads, Oh My](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/Coroutines-Fibers-Threads.pdf?raw=true)\n* The Canonical Class\n* [ConceptClang: Theoretical Advances with Full C++ Concepts](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/ConceptClang.pdf?raw=true) | [PPTX](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/ConceptClang.pptx?raw=true)\n* [Generic Programming of Generic Spaces: Compile-Time Geometric Algebra with C++11](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/generic_spaces.pdf?raw=true)\n* [Test-Driven Development With Boost.Test and Turtle Mock, Part I/II](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/test_driven/test_driven.pdf?raw=true) | [Code](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/test_driven/)\n* [Removing undefined behavior from integer operations: the bounded::integer library](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/bounded_integer.pdf?raw=true) | [LibreOffice File](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/bounded_integer.opd?raw=true) \n* [Value Semantics and Range Algorithms - Composability and Efficiency](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/range_algos.pdf?raw=true)\n* Preparing the C++11 Library AFIO for Boost Peer Review\n \n## Wednesday, May 14\n \n* [MPL11: A New Metaprogramming Library for C++11](https://ldionne.github.io/mpl11-cppnow-2014)\n* [The Optimization of a Boost.Asio-Based Networking Server](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/optimization_boost_asio.pdf?raw=true) | [Keynote File](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/optimization_boost_asio.key?raw=true)\n* [Undefined Behavior in C++; what is it, and why should I care](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/Undefined-Behavior.pdf?raw=true)\n* [Mach7: The Design and Evolution of a Pattern Matching Library for C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/open-pattern-matching.pdf?raw=true) | [PowerPoint File](ttps://github.com/boostcon/cppnow_presentations_2014/blob/master/files/open-pattern-matching.pptx?raw=true)\n* [Practical Type Erasure: A boost::any Based Configuration Framework](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/PracticalTypeErasureSlides.pdf?raw=true)  | [LibreOffice File](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/PracticalTypeErasureSlides.odp?raw=true)\n* [A Tutorial Introduction to C++11/14 Part I/II](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/tutorial_intro_cpp_11_14.pdf?raw=true)\n* [C++11 in Space Plasma Model Development](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/esitys.tar?raw=true) (Requires Java)\n* [C++11 Library Design](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/cxx11-library-design.pdf?raw=true) | [PPTX File](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/cxx11-library-design.pptx?raw=true)\n* [Goals for Better Code: Implement Complete Types](https://github.com/sean-parent/sean-parent.github.com/wiki/Papers-and-Presentations)\n* [Multiplatform C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/2014_05_14_multiplatform_cpp.pdf?raw=true)\n* Octopus: A Policy-Driven Framework for CFD Simulations\n \n## Thursday, May 15\n \n* [Keynote: Beware of C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/Josuttis_C++Now_140515_handouts.pdf?raw=true)\n* [Interactive Metaprogramming Shell Based on Clang](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/2014_cppnow_metashell.pdf?raw=true)\n* [libcppa: Type-safe Messaging Systems in C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/libcppa_part1.pdf?raw=true)  | [Part II](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/libcppa_part2.pdf?raw=true)\n* [Unicode in C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/unicode-cpp.pdf?raw=true) | [PPTX File](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/unicode-cpp.pptx?raw=true)\n* [CppComponents: A Modern Portable C++11 Component System](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/cppnow2014_bandela_presentation.pdf?raw=true)\n* [UI. Aesthetics. C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/UI_Aesthetics_Cpp.pdf?raw=true) \n* Accelerator Programming with C++ AMP\n* [Designing XML API for Modern C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/designing-xml-api-for-modern-c++.pdf?raw=true)\n* [Modern C++ as Concurrent Assembly](https://github.com/diegoperini/cppnow2014-doppl)\n* [Understanding &&](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/UnderstandingRValueRef_rev7.pdf?raw=true)\n* [Boost Library Incubator](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/incubator.pdf?raw=true) | [Zip Archive](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/incubator.zip?raw=true)\n \n## Friday, May 16\n \n* [Iterators May Stay](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/CppNow2014Ranges.pdf?raw=true) | [LibreOffice File](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/CppNow2014Ranges.opd?raw=true)\n* [Value Semantics: It ain't about the syntax!](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/accu2015.140518.pdf?raw=true)\n* [Create Your Own Refactoring Tool with Clang](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/Create-Your-Own-Refactoring-Tool-with-Clang.pdf?raw=true)\n* [How to Design C++ Implementations of Complex Combinatorial Algorithms](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/How_to_Design_C++_Implementations_of_Complex_Combinatorial_Algorithms.pdf?raw=true)\n* [Intro to Functional Programming in C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/intro-to-functional-programming-in-cpp.pdf?raw=true)\n* [Managing Object Lifetimes](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/Managing-Object-Lifetimes.pdf?raw=true)\n* [0xBADC0DE](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/0xBADC0DE.pdf?raw=true)\n* [Expected — An Exception-friendly Error Monad](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/expected.pdf?raw=true)\n* [Lifetime and Usage of Global, Thread-local, and Static Data](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/LifetimeRev2.pdf?raw=true)\n* [Functional Data Structures in C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/functional-data-structures.pdf?raw=true) | [Keynote File](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/functional-data-structures.key?raw=true)\n* [Asynchronous Programming Using Boost.MetaStateMachine and the Upcoming Asynchronous Library](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/AsyncTalkCppNow14.pdf?raw=true)\n* [Ownership of Memory in C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/ownership_of_memory.pdf?raw=true) | [LibreOffice File](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/ownership_of_memory.opd?raw=true)\n \n## Saturday, May 17\n \n* [The Future of Accelerator Programming in C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/CppNow2014_Future_of_Accelerator_Programming.pdf?raw=true)\n* [Functional Reactive Programming - Cleanly Abstracted Interactivity](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/Functional-Reactive-Programming.pdf?raw=true)\n* [Disambiguation: The Black Technology](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/disambiguation.pdf?raw=true)\n* [My Thoughts on Large Code Base Change Ripple Management in C++](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/change_ripple.pdf?raw=true) | [Position Paper](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/large_code_base_change_ripple_in_cpp.pdf?raw=true)\n* [Future of Boost: Boostache](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/boostache.pdf?raw=true)\n* [Future of Boost: Community Management Team](https://github.com/boostcon/cppnow_presentations_2014/blob/master/files/boost-cmt.pdf?raw=true)\n\n\n\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/doc/src/boostbook.css",
    "content": "/*=============================================================================\n    Copyright (c) 2004 Joel de Guzman\n    http://spirit.sourceforge.net/\n\n    Distributed under the Boost Software License, Version 1.0. (See accompany-\n    ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n=============================================================================*/\n\n/*=============================================================================\n    Body defaults\n=============================================================================*/\n\n    body\n    {\n        margin: 1em;\n        font-family: sans-serif;\n    }\n\n/*=============================================================================\n    Paragraphs\n=============================================================================*/\n\n    p\n    {\n        text-align: left;\n        font-size: 10pt;\n        line-height: 1.15;\n    }\n\n/*=============================================================================\n    Program listings\n=============================================================================*/\n\n    /* Code on paragraphs */\n    p tt.computeroutput\n    {\n        font-size: 9pt;\n    }\n\n    pre.synopsis\n    {\n        font-size: 9pt;\n        margin: 1pc 4% 0pc 4%;\n        padding: 0.5pc 0.5pc 0.5pc 0.5pc;\n    }\n\n    .programlisting,\n    .screen\n    {\n        font-size: 9pt;\n        display: block;\n        margin: 1pc 4% 0pc 4%;\n        padding: 0.5pc 0.5pc 0.5pc 0.5pc;\n    }\n\n    /* Program listings in tables don't get borders */\n    td .programlisting,\n    td .screen\n    {\n        margin: 0pc 0pc 0pc 0pc;\n        padding:  0pc 0pc 0pc 0pc;\n    }\n\n/*=============================================================================\n    Headings\n=============================================================================*/\n\n    h1, h2, h3, h4, h5, h6\n    {\n        text-align: left;\n        margin: 1em 0em 0.5em 0em;\n        font-weight: bold;\n    }\n\n    h1 { font-size: 140%; }\n    h2 { font-weight: bold; font-size: 140%; }\n    h3 { font-weight: bold; font-size: 130%; }\n    h4 { font-weight: bold; font-size: 120%; }\n    h5 { font-weight: normal; font-style: italic; font-size: 110%; }\n    h6 { font-weight: normal; font-style: italic; font-size: 100%; }\n\n    /* Top page titles */\n    title,\n    h1.title,\n    h2.title\n    h3.title,\n    h4.title,\n    h5.title,\n    h6.title,\n    .refentrytitle\n    {\n        font-weight: bold;\n        margin-bottom: 1pc;\n    }\n\n    h1.title { font-size: 140% }\n    h2.title { font-size: 140% }\n    h3.title { font-size: 130% }\n    h4.title { font-size: 120% }\n    h5.title { font-size: 110% }\n    h6.title { font-size: 100% }\n\n    .section h1\n    {\n        margin: 0em 0em 0.5em 0em;\n        font-size: 140%;\n    }\n\n    .section h2 { font-size: 140% }\n    .section h3 { font-size: 130% }\n    .section h4 { font-size: 120% }\n    .section h5 { font-size: 110% }\n    .section h6 { font-size: 100% }\n\n    /* Code on titles */\n    h1 tt.computeroutput { font-size: 140% }\n    h2 tt.computeroutput { font-size: 140% }\n    h3 tt.computeroutput { font-size: 130% }\n    h4 tt.computeroutput { font-size: 130% }\t\n    h5 tt.computeroutput { font-size: 130% }\n    h6 tt.computeroutput { font-size: 130% }\n\n\n/*=============================================================================\n    Author\n=============================================================================*/\n\n    h3.author\n    {\n        font-size: 100%\n    }\n\n/*=============================================================================\n    Lists\n=============================================================================*/\n\n    li\n    {\n        font-size: 10pt;\n        line-height: 1.3;\n    }\n\n    /* Unordered lists */\n    ul\n    {\n        text-align: left;\n    }\n\n    /* Ordered lists */\n    ol\n    {\n        text-align: left;\n    }\n\n/*=============================================================================\n    Links\n=============================================================================*/\n\n    a\n    {\n        text-decoration: none; /* no underline */\n    }\n\n    a:hover\n    {\n        text-decoration: underline;\n    }\n\n/*=============================================================================\n    Spirit style navigation\n=============================================================================*/\n\n    .spirit-nav\n    {\n        text-align: right;\n    }\n\n    .spirit-nav a\n    {\n        color: white;\n        padding-left: 0.5em;\n    }\n\n    .spirit-nav img\n    {\n        border-width: 0px;\n    }\n\n/*=============================================================================\n    Copyright footer\n=============================================================================*/\n    .copyright-footer\n    {\n        text-align: right;\n        font-size: 70%;\n    }\n\n    .copyright-footer p\n    {\n        text-align: right;\n        font-size: 80%;\n    }\n\n/*=============================================================================\n    Table of contents\n=============================================================================*/\n\n    div.toc\n    {\n       margin: 1pc 4% 0pc 4%;\n       padding: 0.1pc 1pc 0.1pc 1pc;\n       font-size: 80%;\n       line-height: 1.15;\n    }\n\n    .boost-toc\n    {\n       float: right;\n       padding: 0.5pc;\n    }\n\t\n    /* Code on toc */\n    .toc .computeroutput { font-size: 120% }\n\n    /* No margin on nested menus */\n\n    .toc dl dl { margin: 0; }\n\n/*=============================================================================\n    Tables\n=============================================================================*/\n\n    .table-title,\n    div.table p.title\n    {\n        margin-left: 4%;\n        padding-right: 0.5em;\n        padding-left: 0.5em;\n    }\n\n    .informaltable table,\n    .table table\n    {\n        width: 92%;\n        margin-left: 4%;\n        margin-right: 4%;\n    }\n\n    div.informaltable table,\n    div.table table\n    {\n        padding: 4px;\n    }\n\n    /* Table Cells */\n    div.informaltable table tr td,\n    div.table table tr td\n    {\n        padding: 0.5em;\n        text-align: left;\n        font-size: 9pt;\n    }\n\n    div.informaltable table tr th,\n    div.table table tr th\n    {\n        padding: 0.5em 0.5em 0.5em 0.5em;\n        border: 1pt solid white;\n        font-size: 80%;\n    }\n\n    table.simplelist\n    {\n        width: auto !important;\n        margin: 0em !important;\n        padding: 0em !important;\n        border: none !important;\n    }\n    table.simplelist td\n    {\n        margin: 0em !important;\n        padding: 0em !important;\n        text-align: left !important;\n        font-size: 9pt !important;\n        border: none !important;\n    }\n\n/*=============================================================================\n    Blurbs\n=============================================================================*/\n\n    div.note,\n    div.tip,\n    div.important,\n    div.caution,\n    div.warning,\n    p.blurb\n    {\n        font-size: 9pt; /* A little bit smaller than the main text */\n        line-height: 1.2;\n        display: block;\n        margin: 1pc 4% 0pc 4%;\n        padding: 0.5pc 0.5pc 0.5pc 0.5pc;\n    }\n\n    p.blurb img\n    {\n        padding: 1pt;\n    }\n\n/*=============================================================================\n    Variable Lists\n=============================================================================*/\n\n    div.variablelist\n    {\n        margin: 1em 0;\n    }\n\n    /* Make the terms in definition lists bold */\n    div.variablelist dl dt,\n    span.term\n    {\n        font-weight: bold;\n        font-size: 10pt;\n    }\n\n    div.variablelist table tbody tr td\n    {\n        text-align: left;\n        vertical-align: top;\n        padding: 0em 2em 0em 0em;\n        font-size: 10pt;\n        margin: 0em 0em 0.5em 0em;\n        line-height: 1;\n    }\n\n    div.variablelist dl dt\n    {\n        margin-bottom: 0.2em;\n    }\n\n    div.variablelist dl dd\n    {\n        margin: 0em 0em 0.5em 2em;\n        font-size: 10pt;\n    }\n\n    div.variablelist table tbody tr td p,\n    div.variablelist dl dd p\n    {\n        margin: 0em 0em 0.5em 0em;\n        line-height: 1;\n    }\n\n/*=============================================================================\n    Misc\n=============================================================================*/\n\n    /* Title of books and articles in bibliographies */\n    span.title\n    {\n        font-style: italic;\n    }\n\n    span.underline\n    {\n        text-decoration: underline;\n    }\n\n    span.strikethrough\n    {\n        text-decoration: line-through;\n    }\n\n    /* Copyright, Legal Notice */\n    div div.legalnotice p\n    {\n        text-align: left\n    }\n\n/*=============================================================================\n    Colors\n=============================================================================*/\n\n    @media screen\n    {\n        body {\n            background-color: #FFFFFF;\n            color: #000000;\n        }\n\n    /* Syntax Highlighting */\n        .keyword        { color: #0000AA; }\n        .identifier     { color: #000000; }\n        .special        { color: #707070; }\n        .preprocessor   { color: #402080; }\n        .char           { color: teal; }\n        .comment        { color: #800000; }\n        .string         { color: teal; }\n        .number         { color: teal; }\n        .white_bkd      { background-color: #FFFFFF; }\n        .dk_grey_bkd    { background-color: #999999; }\n\n    /* Links */\n        a, a .keyword, a .identifier, a .special, a .preprocessor\n        a .char, a .comment, a .string, a .number\n        {\n            color: #005a9c;\n        }\n\n        a:visited, a:visited .keyword, a:visited .identifier,\n        a:visited .special, a:visited .preprocessor a:visited .char,\n        a:visited .comment, a:visited .string, a:visited .number\n        {\n            color: #9c5a9c;\n        }\n\n        h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,\n        h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,\n        h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited\n        {\n            text-decoration: none; /* no underline */\n            color: #000000;\n        }\n\n    /* Copyright, Legal Notice */\n        .copyright\n        {\n            color: #666666;\n            font-size: small;\n        }\n\n        div div.legalnotice p\n        {\n            color: #666666;\n        }\n\n    /* Program listing */\n        pre.synopsis\n        {\n            border: 1px solid #DCDCDC;\n        }\n\n        .programlisting,\n        .screen\n        {\n            border: 1px solid #DCDCDC;\n        }\n\n        td .programlisting,\n        td .screen\n        {\n            border: 0px solid #DCDCDC;\n        }\n\n    /* Blurbs */\n        div.note,\n        div.tip,\n        div.important,\n        div.caution,\n        div.warning,\n        p.blurb\n        {\n            border: 1px solid #DCDCDC;\n        }\n\n    /* Table of contents */\n        div.toc\n        {\n            border: 1px solid #DCDCDC;\n        }\n\n    /* Tables */\n        div.informaltable table tr td,\n        div.table table tr td\n        {\n            border: 1px solid #DCDCDC;\n        }\n\n        div.informaltable table tr th,\n        div.table table tr th\n        {\n            background-color: #F0F0F0;\n            border: 1px solid #DCDCDC;\n        }\n\n        .copyright-footer\n        {\n            color: #8F8F8F;\n        }\n\n    /* Misc */\n        span.highlight\n        {\n            color: #00A000;\n        }\n    }\n\n    @media print\n    {\n    /* Links */\n        a\n        {\n            color: black;\n        }\n\n        a:visited\n        {\n            color: black;\n        }\n\n        .spirit-nav\n        {\n            display: none;\n        }\n\n    /* Program listing */\n        pre.synopsis\n        {\n            border: 1px solid gray;\n        }\n\n        .programlisting,\n        .screen\n        {\n            border: 1px solid gray;\n        }\n\n        td .programlisting,\n        td .screen\n        {\n            border: 0px solid #DCDCDC;\n        }\n\n    /* Table of contents */\n        div.toc\n        {\n            border: 1px solid gray;\n        }\n\n        .informaltable table,\n        .table table\n        {\n            border: 1px solid gray;\n            border-collapse: collapse;\n        }\n\n    /* Tables */\n        div.informaltable table tr td,\n        div.table table tr td\n        {\n            border: 1px solid gray;\n        }\n\n        div.informaltable table tr th,\n        div.table table tr th\n        {\n            border: 1px solid gray;\n        }\n\n        table.simplelist tr td\n        {\n            border: none !important;\n        }\n\n    /* Misc */\n        span.highlight\n        {\n            font-weight: bold;\n        }\n    }\n\n/*=============================================================================\n    Images\n=============================================================================*/\n\n    span.inlinemediaobject img\n    {\n        vertical-align: middle;\n    }\n\n/*==============================================================================\n    Super and Subscript: style so that line spacing isn't effected, see\n    http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=1&postId=5341\n==============================================================================*/\n\nsup,\nsub {\n\theight: 0;\n\tline-height: 1;\n\tvertical-align: baseline;\n\tposition: relative;\n\t\n}\n\n/* For internet explorer: */\n\n* html sup,\n* html sub {\n\tvertical-align: bottom;\n}\n\nsup {\n\tbottom: 1ex;\n}\n\nsub {\n\ttop: .5ex;\n}\n\n/*==============================================================================\n    Indexes: pretty much the same as the TOC.\n==============================================================================*/\n\n    .index\n    {\n       font-size: 80%;\n       padding-top: 0px;\n       padding-bottom: 0px;\n       margin-top: 0px;\n       margin-bottom: 0px;\n       margin-left: 0px;\n    }\n\n    .index ul\n    {\n       padding-left: 3em;\n    }\n\n    .index p\n    {\n       padding: 2px;\n       margin: 2px;\n    }\n\n    .index-entry-level-0\n    {\n        font-weight: bold;\n    }\n\n    .index em\n    {\n        font-weight: bold;\n    }\n\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/index.html",
    "content": "<html>\n<head>\n<title>Boost.Test</title>\n</head>\n<body>\n<p>Browse the <a\nhref=\"libs/test/doc/html/index.html\">documentation</a>.</p>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nuse-project /boost/test : ../build ;\n\nimport quickbook ;\n\nbuild-project src ;\n\nalias code : src ;\n\nboostbook test\n    :\n        src/test.qbk\n        code\n    :\n        <xsl:param>chunk.section.depth=4\n        <xsl:param>chunk.first.sections=1\n        <xsl:param>toc.section.depth=4\n        <xsl:param>toc.max.depth=4\n        <xsl:param>generate.section.toc.level=4\n        <xsl:param>boost.root=../../../..\n    ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/index.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Chapter&#160;1.&#160;Boost.Test</title>\n<link rel=\"stylesheet\" href=\"../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"next\" href=\"test/motivation.html\" title=\"Motivation\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\"><a accesskey=\"n\" href=\"test/motivation.html\"><img src=\"../../../../doc/src/images/next.png\" alt=\"Next\"></a></div>\n<div class=\"chapter\">\n<div class=\"titlepage\"><div>\n<div><h2 class=\"title\">\n<a name=\"test\"></a>Chapter&#160;1.&#160;Boost.Test</h2></div>\n<div><div class=\"author\"><h3 class=\"author\">\n<span class=\"firstname\">Richard</span> <span class=\"surname\">Thomson</span>\n</h3></div></div>\n<div><p class=\"copyright\">Copyright &#169; 2013 Richard Thomson</p></div>\n<div><div class=\"legalnotice\">\n<a name=\"test.legal\"></a><p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></div>\n</div></div>\n<div class=\"toc\">\n<p><b>Table of Contents</b></p>\n<dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"test/motivation.html\">Motivation</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/how_to_read_this_documentation.html\">How To Read This Documentation</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/tutorials.html\">Tutorials</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/tutorials/hello_test.html\">Hello, Test!</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/tutorials/testing_with_exceptions.html\">Testing with\n      Exceptions</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/tutorials/testing_with_fixtures.html\">Testing with Fixtures</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/tutorials/running_selected_tests.html\">Running Selected\n      Tests</a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"test/guide.html\">User's Guide</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/guide/compilation.html\">Compilation and Usage Variants</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/guide/compilation/minimal_header.html\">Minimal Header</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/compilation/_main_.html\"><code class=\"literal\">main</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/compilation/header_only.html\">Header Only</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/compilation/static_library.html\">Static Library</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/compilation/shared_library.html\">Shared Library</a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"test/guide/test_case_design.html\">Test Case Design and Maintenance</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/acceptance_tests.html\">Acceptance Tests and Unit\n      Tests</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/testing_file_io.html\">Testing File I/O</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/mocking_collaborators.html\">Mocking Collaborators</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/testing__main_.html\">Testing <code class=\"literal\">main</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/testing_protected_or_private_members.html\">Testing\n      Protected or Private Members</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/guide/manually_registering_test_cases_and_suites.html\">Manually\n      Registering Test Cases and Suites</a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"test/reference.html\">Reference</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/reference/configuration_macros.html\">Configuration Macros</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case.html\">Test Cases</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_auto_test_case.html\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_auto_test_case_expected_failures.html\"><code class=\"literal\">BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_auto_test_case_template.html\"><code class=\"literal\">BOOST_AUTO_TEST_CASE_TEMPLATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_fixture_test_case.html\"><code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_global_fixture.html\"><code class=\"literal\">BOOST_GLOBAL_FIXTURE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_param_test_case.html\"><code class=\"literal\">BOOST_PARAM_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_param_class_test_case.html\"><code class=\"literal\">BOOST_PARAM_CLASS_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_test_case.html\"><code class=\"literal\">BOOST_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_test_case_template.html\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_case/boost_test_case_template_function.html\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE_FUNCTION</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"test/reference/test_suite.html\">Test Suites</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/reference/test_suite/boost_auto_test_suite.html\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_suite/boost_auto_test_suite_end.html\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE_END</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_suite/boost_fixture_test_suite.html\"><code class=\"literal\">BOOST_FIXTURE_TEST_SUITE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_suite/boost_test_module.html\"><code class=\"literal\">BOOST_TEST_MODULE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_suite/boost_test_suite.html\"><code class=\"literal\">BOOST_TEST_SUITE</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes.html\">Test Classes</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/predicate_result.html\"><code class=\"literal\">predicate_result</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/test_unit.html\"><code class=\"literal\">test_unit</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/test_case.html\"><code class=\"literal\">test_case</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/test_suite.html\"><code class=\"literal\">test_suite</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/master_test_suite_t.html\"><code class=\"literal\">master_test_suite_t</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/test_observer.html\"><code class=\"literal\">test_observer</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/unit_test_log_t.html\"><code class=\"literal\">unit_test_log_t</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/unit_test_log_formatter.html\"><code class=\"literal\">unit_test_log_formatter</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/init_unit_test_func.html\"><code class=\"literal\">init_unit_test_func</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/test_classes/unit_test_main.html\"><code class=\"literal\">unit_test_main</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"test/reference/assertion.html\">Test Assertions</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/levels.html\">Assertion Levels</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___bitwise_equal_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_BITWISE_EQUAL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___close_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___close_fraction_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE_FRACTION</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/boost_level_equal.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___equal_collections_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL_COLLECTIONS</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/boost_level_exception.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/boost_fail.html\"><code class=\"literal\">BOOST_FAIL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___ge_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___gt_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___le_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___lt_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/boost_level_message.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___ne_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/boost_level_no_throw.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___predicate_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_PREDICATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/_boost____level___small_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_SMALL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/boost_level_throw.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_THROW</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/assertion/boost_test_dont_print_log_value.html\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"test/reference/runner.html\">Test Runner</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument.html\">Command Line Arguments</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/auto_start_dbg.html\"><code class=\"literal\">--auto_start_dbg</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/___build_info_.html\"><code class=\"literal\">--build_info</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/___catch_system_errors_.html\"><code class=\"literal\">--catch_system_errors</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/___detect_fp_exceptions_.html\"><code class=\"literal\">--detect_fp_exceptions</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/___detect_memory_leaks_.html\"><code class=\"literal\">--detect_memory_leaks</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/log_format.html\"><code class=\"literal\">--log_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/log_level.html\"><code class=\"literal\">--log_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/log_sink.html\"><code class=\"literal\">--log_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/output_format.html\"><code class=\"literal\">--output_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/___random_.html\"><code class=\"literal\">--random</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/report_format.html\"><code class=\"literal\">--report_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/report_level.html\"><code class=\"literal\">--report_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/report_sink.html\"><code class=\"literal\">--report_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/___result_code_.html\"><code class=\"literal\">--result_code</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/run_test.html\"><code class=\"literal\">--run_test</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/___show_progress_.html\"><code class=\"literal\">--show_progress</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/argument/___use_alt_stack_.html\"><code class=\"literal\">--use_alt_stack</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"test/reference/runner/output.html\">Test Output</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"test/reference/runner/output/log.html\">Test Log</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/output/report.html\">Test Report</a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/output/boost_test_checkpoint.html\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/output/boost_test_message.html\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test/reference/runner/output/_boost_test_passpoint_.html\"><code class=\"literal\">BOOST_TEST_PASSPOINT</code></a></span></dt>\n</dl></dd>\n</dl></dd>\n</dl></dd>\n</dl>\n</div>\n<p>\n    This is the documentation for Boost.Test, a library designed to support automated\n    testing of software generally and unit testing specifically.\n  </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"><p><small>Last revised: January 06, 2014 at 04:37:36 GMT</small></p></td>\n<td align=\"right\"><div class=\"copyright-footer\"></div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\"><a accesskey=\"n\" href=\"test/motivation.html\"><img src=\"../../../../doc/src/images/next.png\" alt=\"Next\"></a></div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/acceptance_tests.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Acceptance Tests and Unit Tests</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"test_case_design.html\" title=\"Test Case Design and Maintenance\">\n<link rel=\"next\" href=\"testing_file_io.html\" title=\"Testing File I/O\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_case_design.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing_file_io.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.acceptance_tests\"></a><a class=\"link\" href=\"acceptance_tests.html\" title=\"Acceptance Tests and Unit Tests\">Acceptance Tests and Unit\n      Tests</a>\n</h3></div></div></div>\n<p>\n        Unit testing helps us to find bugs \"in the small\"; little implementation\n        details that we got wrong while we were building a function, a method or\n        a class. When we test each class as an isolated unit, we can miss errors\n        in the way two classes interact or in the way a whole ensemble of classes\n        cooperate in an integrated system.\n      </p>\n<p>\n        An acceptance test is an automated test that exercises our system as an integrated\n        whole and not as a collection of isolated units. In a unit test, we decouple\n        ourselves from the execution environment in order to test a piece of code\n        in isolation. In an acceptance test, we run the whole system and provide\n        controlled inputs to the system. This may consist of prepared input data\n        files, prepared input databases and so-on.\n      </p>\n<p>\n        Using these two forms of automated testing, we can use them as a vise to\n        squeeze bugs between the two forms of automated tests. Unit tests push from\n        below and acceptance tests push from above.\n      </p>\n<p>\n        While the facilities in Boost.Test can be used to create an automated acceptance\n        test, the tools are fairly low-level for the kinds of high-level criteria\n        that an acceptance test would use. Acceptance tests are usually defined by\n        the <a href=\"http://en.wikipedia.org/wiki/Product_owner#Roles\" target=\"_top\">product\n        owner</a> or customer and will describe acceptance criteria in the language\n        closest to the problem domain and farthest away from the details of the implementation.\n      </p>\n<p>\n        A better approach for automated acceptance tests would be a tool such as\n        <a href=\"http://www.fitnesse.org\" target=\"_top\">FitNesse</a> that is designed for\n        automated acceptance testing.\n      </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_case_design.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing_file_io.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/compilation/_main_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>main</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../compilation.html\" title=\"Compilation and Usage Variants\">\n<link rel=\"prev\" href=\"minimal_header.html\" title=\"Minimal Header\">\n<link rel=\"next\" href=\"header_only.html\" title=\"Header Only\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"minimal_header.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"header_only.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.guide.compilation._main_\"></a><a class=\"link\" href=\"_main_.html\" title=\"main\"><code class=\"literal\">main</code></a>\n</h4></div></div></div>\n<p>\n          To use the implementation of <code class=\"literal\">main</code> provided by Boost.Test,\n          exactly one source file must define <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_main\"><code class=\"literal\">BOOST_TEST_MAIN</code></a>\n          before including <code class=\"literal\">&lt;boost/test/unit_test.hpp&gt;</code>. If\n          multiple source files define <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_main\"><code class=\"literal\">BOOST_TEST_MAIN</code></a>,\n          then a multiply defined symbol error will occur during linking.\n        </p>\n<p>\n          If <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_no_main\"><code class=\"literal\">BOOST_TEST_NO_MAIN</code></a>\n          is defined, then no implementation of <code class=\"literal\">main</code> will be provided\n          and the test executable must provide an initialization function. The exact\n          initialization function that must be provided varies depending on how the\n          library is compiled. The details are shown in the discussion of each compilation\n          variation.\n        </p>\n<p>\n          When Boost.Test is compiled as a library, <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_no_main\"><code class=\"literal\">BOOST_TEST_NO_MAIN</code></a>\n          must be defined when the library is compiled for it to work properly in\n          those circumstances.\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"minimal_header.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"header_only.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/compilation/header_only.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Header Only</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../compilation.html\" title=\"Compilation and Usage Variants\">\n<link rel=\"prev\" href=\"_main_.html\" title=\"main\">\n<link rel=\"next\" href=\"static_library.html\" title=\"Static Library\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_main_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"static_library.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.guide.compilation.header_only\"></a><a class=\"link\" href=\"header_only.html\" title=\"Header Only\">Header Only</a>\n</h4></div></div></div>\n<p>\n          The entire unit test framework can be incorporated into an executable by\n          including the file <code class=\"literal\">&lt;boost/test/included/unit_test.hpp&gt;</code>.\n          Because the entire implementation is incorporated into the source file\n          including this header, only a single source file in the test executable\n          can include this header.\n        </p>\n<p>\n          Additional source files must define <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_no_lib\"><code class=\"literal\">BOOST_TEST_NO_LIB</code></a>\n          before including <code class=\"literal\">&lt;boost/test/unit_test.hpp&gt;</code> to\n          prevent any automatic linking to a shared library. If additional source\n          files attempt to include <code class=\"literal\">&lt;boost/test/included/unit_test.hpp&gt;</code>,\n          a multiply defined symbol error will occur during linking.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// In exactly one source file:</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">included</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"comment\">// test cases (optional)</span>\n</pre>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// In additional source files</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_NO_LIB</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"comment\">// test cases</span>\n</pre>\n<p>\n        </p>\n<p>\n          If <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_no_main\"><code class=\"literal\">BOOST_TEST_NO_MAIN</code></a>\n          is defined, then an implementation of <code class=\"literal\">main</code> must be provided\n          that executes the test cases. This is most readily done by delegating to\n          <a class=\"link\" href=\"../../reference/test_classes/unit_test_main.html\" title=\"unit_test_main\"><code class=\"literal\">unit_test_main</code></a>.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// In exactly one source file</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_NO_MAIN</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">test_suite</span> <span class=\"special\">*</span><span class=\"identifier\">init_function</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span> <span class=\"special\">*</span><span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// create test cases and suites and return a pointer to any enclosing</span>\n    <span class=\"comment\">// suite, or 0.</span>\n    <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"special\">::</span><span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">unit_test_main</span><span class=\"special\">(&amp;</span><span class=\"identifier\">init_function</span><span class=\"special\">,</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.guide.compilation.header_only.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.guide.compilation.header_only.example_source_code\"></a></span><a class=\"link\" href=\"header_only.html#test.guide.compilation.header_only.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<p>\n          The <a class=\"link\" href=\"../../tutorials.html\" title=\"Tutorials\">tutorials</a> all use the header-only\n          version of Boost.Test.\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_main_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"static_library.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/compilation/minimal_header.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Minimal Header</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../compilation.html\" title=\"Compilation and Usage Variants\">\n<link rel=\"prev\" href=\"../compilation.html\" title=\"Compilation and Usage Variants\">\n<link rel=\"next\" href=\"_main_.html\" title=\"main\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_main_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.guide.compilation.minimal_header\"></a><a class=\"link\" href=\"minimal_header.html\" title=\"Minimal Header\">Minimal Header</a>\n</h4></div></div></div>\n<p>\n          A lightweight, minimal version of the testing framework can be obtained\n          by including <code class=\"literal\">&lt;boost/test/minimal.hpp&gt;</code>. This header\n          provides only the following macros:\n        </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                  <p>\n                    Macro\n                  </p>\n                </th>\n<th>\n                  <p>\n                    Meaning\n                  </p>\n                </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">BOOST_CHECK(</code><span class=\"emphasis\"><em>expression</em></span><code class=\"literal\">)</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    If <span class=\"emphasis\"><em>expression</em></span> is false, the test fails and\n                    test execution continues.\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">BOOST_REQUIRE(</code><span class=\"emphasis\"><em>expression</em></span><code class=\"literal\">)</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    If <span class=\"emphasis\"><em>expression</em></span> is false, the test fails and\n                    test execution terminates.\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">BOOST_ERROR(</code><span class=\"emphasis\"><em>message</em></span><code class=\"literal\">)</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Report <span class=\"emphasis\"><em>message</em></span>, fail the test and continue\n                    test execution.\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">BOOST_FAIL(</code><span class=\"emphasis\"><em>message</em></span><code class=\"literal\">)</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Report <span class=\"emphasis\"><em>message</em></span>, fail the test and terminate\n                    test execution.\n                  </p>\n                </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n          The header supplies an implementation of <code class=\"literal\">main</code> that executes\n          a single test case by calling a free function named <code class=\"literal\">test_main</code>\n          with the following signature:\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">int</span> <span class=\"identifier\">test_main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span> <span class=\"special\">*</span><span class=\"identifier\">argv</span><span class=\"special\">[]);</span>\n</pre>\n<p>\n        </p>\n<p>\n          The arguments <code class=\"literal\">argc</code> and <code class=\"literal\">argv</code> are passed\n          to <code class=\"literal\">test_main</code> from the implementation of <code class=\"literal\">main</code>\n          supplied by the test framework. No command-line argument processing is\n          performed by <code class=\"literal\">main</code>. A summary report of errors recorded\n          by the test case is printed out after executing the test case. If any exception\n          is thrown by the test case, it is caught by <code class=\"literal\">main</code> and\n          treated as an error from the test case.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">minimal</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">test_main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span> <span class=\"special\">*</span><span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// test case</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.guide.compilation.minimal_header.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.guide.compilation.minimal_header.example_source_code\"></a></span><a class=\"link\" href=\"minimal_header.html#test.guide.compilation.minimal_header.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li></ul></div>\n            </li>\n<li class=\"listitem\">\n              An example of using the minimal test framework:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/compilation/minimal/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>.\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_main_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/compilation/shared_library.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Shared Library</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../compilation.html\" title=\"Compilation and Usage Variants\">\n<link rel=\"prev\" href=\"static_library.html\" title=\"Static Library\">\n<link rel=\"next\" href=\"../test_case_design.html\" title=\"Test Case Design and Maintenance\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"static_library.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../test_case_design.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.guide.compilation.shared_library\"></a><a class=\"link\" href=\"shared_library.html\" title=\"Shared Library\">Shared Library</a>\n</h4></div></div></div>\n<p>\n          To build Boost.Test as a shared library, first build the boost build tools,\n          as described in the <a href=\"../../../../../../../more/getting_started/index.html\" target=\"_top\">Getting\n          Started</a> documentation. After you have bootstrapped the build tools,\n          build the test library with by invoking <code class=\"literal\">b2</code> with arguments\n          similar to the following:\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">b2</span> <span class=\"special\">--</span><span class=\"identifier\">with</span><span class=\"special\">-</span><span class=\"identifier\">test</span> <span class=\"identifier\">link</span><span class=\"special\">=</span><span class=\"identifier\">shared</span></pre>\n<p>\n        </p>\n<p>\n          This will place the resulting libraries in <code class=\"literal\">stage/lib</code>\n          at the top level of the boost tree.\n        </p>\n<p>\n          In a shared library configuration, Boost.Test is compiled into a single\n          shared library named <code class=\"literal\">boost_unit_test_framework</code> and the\n          test executable is linked against that library to import symbols from the\n          library. The Boost.Test shared library must be available to the runtime\n          loader in order for the tests to execute. Every compilation unit that includes\n          a header from Boost.Test must define <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_dyn_link\"><code class=\"literal\">BOOST_TEST_DYN_LINK</code></a>\n          first so that declarations are properly annotated as imported symbols.\n          When <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_dyn_link\"><code class=\"literal\">BOOST_TEST_DYN_LINK</code></a>\n          is defined, Boost.Test also defines <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_alternative_init_api\"><code class=\"literal\">BOOST_TEST_ALTERNATIVE_INIT_API</code></a>.\n        </p>\n<p>\n          Exactly one compilation unit in the test executable should define <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_main\"><code class=\"literal\">BOOST_TEST_MAIN</code></a>,\n          in order run the tests.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// In exactly one compilation unit</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_DYN_LINK</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_MAIN</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"comment\">// test cases (optional)</span>\n</pre>\n<p>\n        </p>\n<p>\n          Additional source files define <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_dyn_link\"><code class=\"literal\">BOOST_TEST_DYN_LINK</code></a>,\n          include the main unit test header and define more test cases and/or suites.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// In additional source files</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_DYN_LINK</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"comment\">// test cases</span>\n</pre>\n<p>\n        </p>\n<p>\n          To compile the library with no implementation of <code class=\"literal\">main</code>,\n          add <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_no_main\"><code class=\"literal\">BOOST_TEST_NO_MAIN</code></a>\n          to the <code class=\"literal\">cxxflags</code> property for b2:\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">b2</span> <span class=\"special\">--</span><span class=\"identifier\">with</span><span class=\"special\">-</span><span class=\"identifier\">test</span> <span class=\"identifier\">link</span><span class=\"special\">=</span><span class=\"identifier\">shared</span> <span class=\"identifier\">define</span><span class=\"special\">=</span><span class=\"identifier\">BOOST_TEST_NO_MAIN</span></pre>\n<p>\n        </p>\n<p>\n          When the library is compiled with <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_no_main\"><code class=\"literal\">BOOST_TEST_NO_MAIN</code></a>\n          defined, one source file must provide a definition for <code class=\"literal\">main</code>.\n          The simplest is to delegate to <a class=\"link\" href=\"../../reference/test_classes/unit_test_main.html\" title=\"unit_test_main\"><code class=\"literal\">unit_test_main</code></a>\n          and provide an implementation of an initialization function that manually\n          adds test cases and suites to the test tree. Any test cases or test suites\n          added with <a class=\"link\" href=\"../../reference/test_case/boost_auto_test_case.html\" title=\"BOOST_AUTO_TEST_CASE\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a>,\n          <a class=\"link\" href=\"../../reference/test_case/boost_fixture_test_case.html\" title=\"BOOST_FIXTURE_TEST_CASE\"><code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code></a>,\n          <a class=\"link\" href=\"../../reference/test_suite/boost_auto_test_suite.html\" title=\"BOOST_AUTO_TEST_SUITE\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE</code></a>\n          or <a class=\"link\" href=\"../../reference/test_suite/boost_fixture_test_suite.html\" title=\"BOOST_FIXTURE_TEST_SUITE\"><code class=\"literal\">BOOST_FIXTURE_TEST_SUITE</code></a>\n          are automatically added.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// In exactly one source file</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_NO_MAIN</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"keyword\">bool</span> <span class=\"identifier\">init_function</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// create test cases and suites and return a boolean indicating</span>\n    <span class=\"comment\">// success (true) or failure (false).</span>\n    <span class=\"keyword\">return</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"special\">::</span><span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">unit_test_main</span><span class=\"special\">(&amp;</span><span class=\"identifier\">init_function</span><span class=\"special\">,</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.guide.compilation.shared_library.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.guide.compilation.shared_library.example_source_code\"></a></span><a class=\"link\" href=\"shared_library.html#test.guide.compilation.shared_library.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              An example of using the standard implementation of <code class=\"literal\">main</code>:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/compilation/dynamic/main.cpp\" target=\"_top\">main.cpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/compilation/dynamic/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>.\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              An example of using a custom <code class=\"literal\">main</code>:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/compilation/dynamic_main/main.cpp\" target=\"_top\">main.cpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/compilation/dynamic_main/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>.\n                  </li>\n</ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"static_library.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../test_case_design.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/compilation/static_library.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Static Library</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../compilation.html\" title=\"Compilation and Usage Variants\">\n<link rel=\"prev\" href=\"header_only.html\" title=\"Header Only\">\n<link rel=\"next\" href=\"shared_library.html\" title=\"Shared Library\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"header_only.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"shared_library.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.guide.compilation.static_library\"></a><a class=\"link\" href=\"static_library.html\" title=\"Static Library\">Static Library</a>\n</h4></div></div></div>\n<p>\n          To build Boost.Test as a static library, first build the boost build tools,\n          as described in the <a href=\"../../../../../../../more/getting_started/index.html\" target=\"_top\">Getting\n          Started</a> documentation. After you have bootstrapped the build tools,\n          build the test library with by invoking <code class=\"literal\">b2</code> with arguments\n          similar to the following:\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">b2</span> <span class=\"special\">--</span><span class=\"identifier\">with</span><span class=\"special\">-</span><span class=\"identifier\">test</span> <span class=\"identifier\">link</span><span class=\"special\">=</span><span class=\"keyword\">static</span></pre>\n<p>\n        </p>\n<p>\n          This will place the resulting libraries in <code class=\"literal\">stage/lib</code>\n          at the top level of the boost tree.\n        </p>\n<p>\n          In a static library configuration, Boost.Test is compiled into a single\n          static library named <code class=\"literal\">boost_unit_test_framework</code> and the\n          test executable is linked against that library. Exactly one compilation\n          unit in the test executable should define <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_main\"><code class=\"literal\">BOOST_TEST_MAIN</code></a>,\n          in order run the tests.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// In exactly one source file</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_MAIN</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"comment\">// test cases (optional)</span>\n</pre>\n<p>\n        </p>\n<p>\n          Additional source files simply include the main unit test header and define\n          more test cases and/or suites.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// In additional source files</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"comment\">// test cases</span>\n</pre>\n<p>\n        </p>\n<p>\n          To compile the library with no implementation of <code class=\"literal\">main</code>,\n          add <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_no_main\"><code class=\"literal\">BOOST_TEST_NO_MAIN</code></a>\n          to the <code class=\"literal\">cxxflags</code> property for b2:\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">b2</span> <span class=\"special\">--</span><span class=\"identifier\">with</span><span class=\"special\">-</span><span class=\"identifier\">test</span> <span class=\"identifier\">link</span><span class=\"special\">=</span><span class=\"keyword\">static</span> <span class=\"identifier\">define</span><span class=\"special\">=</span><span class=\"identifier\">BOOST_TEST_NO_MAIN</span></pre>\n<p>\n        </p>\n<p>\n          When the library is compiled with <a class=\"link\" href=\"../../reference/configuration_macros.html#test.reference.compilation.boost_test_no_main\"><code class=\"literal\">BOOST_TEST_NO_MAIN</code></a>\n          defined, one source file must provide a definition for <code class=\"literal\">main</code>.\n          The simplest is to delegate to <a class=\"link\" href=\"../../reference/test_classes/unit_test_main.html\" title=\"unit_test_main\"><code class=\"literal\">unit_test_main</code></a>\n          and provide an implementation of an initialization function that manually\n          adds test cases and suites to the test tree. Any test cases or test suites\n          added with <a class=\"link\" href=\"../../reference/test_case/boost_auto_test_case.html\" title=\"BOOST_AUTO_TEST_CASE\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a>,\n          <a class=\"link\" href=\"../../reference/test_case/boost_fixture_test_case.html\" title=\"BOOST_FIXTURE_TEST_CASE\"><code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code></a>,\n          <a class=\"link\" href=\"../../reference/test_suite/boost_auto_test_suite.html\" title=\"BOOST_AUTO_TEST_SUITE\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE</code></a>\n          or <a class=\"link\" href=\"../../reference/test_suite/boost_fixture_test_suite.html\" title=\"BOOST_FIXTURE_TEST_SUITE\"><code class=\"literal\">BOOST_FIXTURE_TEST_SUITE</code></a>\n          are automatically added.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// In exactly one source file</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_NO_MAIN</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">test_suite</span> <span class=\"special\">*</span><span class=\"identifier\">init_function</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span> <span class=\"special\">*</span><span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// create test cases and suites and return a pointer to any enclosing</span>\n    <span class=\"comment\">// suite, or 0.</span>\n    <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span> <span class=\"special\">*</span><span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">unit_test_main</span><span class=\"special\">(</span><span class=\"identifier\">init_function</span><span class=\"special\">,</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.guide.compilation.static_library.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.guide.compilation.static_library.example_source_code\"></a></span><a class=\"link\" href=\"static_library.html#test.guide.compilation.static_library.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.cpp\" target=\"_top\">hello.cpp</a>.\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              An example of using the standard implementation of <code class=\"literal\">main</code>:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/compilation/static/main.cpp\" target=\"_top\">main.cpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/compilation/static/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>.\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              An example of using a custom <code class=\"literal\">main</code>:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/compilation/static_main/main.cpp\" target=\"_top\">main.cpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/compilation/static_main/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>.\n                  </li>\n</ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"header_only.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../compilation.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"shared_library.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/compilation.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Compilation and Usage Variants</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"next\" href=\"compilation/minimal_header.html\" title=\"Minimal Header\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"compilation/minimal_header.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.compilation\"></a><a class=\"link\" href=\"compilation.html\" title=\"Compilation and Usage Variants\">Compilation and Usage Variants</a>\n</h3></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"compilation/minimal_header.html\">Minimal Header</a></span></dt>\n<dt><span class=\"section\"><a href=\"compilation/_main_.html\"><code class=\"literal\">main</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"compilation/header_only.html\">Header Only</a></span></dt>\n<dt><span class=\"section\"><a href=\"compilation/static_library.html\">Static Library</a></span></dt>\n<dt><span class=\"section\"><a href=\"compilation/shared_library.html\">Shared Library</a></span></dt>\n</dl></div>\n<p>\n        Boost.Test is available in several forms:\n      </p>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            a single, minimal header\n          </li>\n<li class=\"listitem\">\n            a header-only form\n          </li>\n<li class=\"listitem\">\n            a static library\n          </li>\n<li class=\"listitem\">\n            a shared library\n          </li>\n</ul></div>\n<p>\n        The minimal header can be useful in situations where you don't already have\n        the library built and want to quickly explore a test with a minimal amount\n        of fuss. Once you need to create multiple unit tests, you will quickly outgrow\n        the minimal header.\n      </p>\n<p>\n        The header only form is useful when you don't want to be bothered with compiling\n        the library. Once you have multiple compilation units with unit tests in\n        each compilation unit, you will grow tired of the compilation cost involved\n        with the header only form of the framework.\n      </p>\n<p>\n        The static library form is the easiest to integrate into your build system\n        as it doesn't require any installation of runtime files in order to execute\n        your tests. This runtime simplicity comes at the cost of increased link times\n        and executable sizes.\n      </p>\n<p>\n        The dynamic library form requires the most effort for successful test execution,\n        but provides faster link times than the static library, faster compile times\n        than the header only form and provides all the features of the framework\n        compared to the minimal header.\n      </p>\n<div class=\"caution\"><table border=\"0\" summary=\"Caution\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Caution]\" src=\"../../../../../../doc/src/images/caution.png\"></td>\n<th align=\"left\">Caution</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n          Boost.Test is not a thread-safe library. Care should be taken when automated\n          tests create multiple threads and interact with data structures passed\n          to Boost.Test macros or functions.\n        </p></td></tr>\n</table></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"compilation/minimal_header.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/exception_safety_test.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Exception Safety Tests</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"manually_registering_test_cases_and_suites.html\" title=\"Manually Registering Test Cases and Suites\">\n<link rel=\"next\" href=\"../reference.html\" title=\"Reference\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"manually_registering_test_cases_and_suites.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.exception_safety_test\"></a><a class=\"link\" href=\"exception_safety_test.html\" title=\"Exception Safety Tests\">Exception Safety Tests</a>\n</h3></div></div></div>\n<p>\n        Boost.Test provides support for a special kind of test called an exception\n        safety test.\n      </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"manually_registering_test_cases_and_suites.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/manually_registering_test_cases_and_suites.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Manually Registering Test Cases and Suites</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"testing_protected_or_private_members.html\" title=\"Testing Protected or Private Members\">\n<link rel=\"next\" href=\"../reference.html\" title=\"Reference\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing_protected_or_private_members.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.manually_registering_test_cases_and_suites\"></a><a class=\"link\" href=\"manually_registering_test_cases_and_suites.html\" title=\"Manually Registering Test Cases and Suites\">Manually\n      Registering Test Cases and Suites</a>\n</h3></div></div></div>\n<h5>\n<a name=\"test.guide.manually_registering_test_cases_and_suites.h0\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.manually_registering_test_cases_and_suites.registering_test_cases\"></a></span><a class=\"link\" href=\"manually_registering_test_cases_and_suites.html#test.guide.manually_registering_test_cases_and_suites.registering_test_cases\">Registering\n        Test Cases</a>\n      </h5>\n<p>\n        You may have an existing body of tests that you wish to register with Boost.Test\n        manually. You can use <a class=\"link\" href=\"../reference/test_case/boost_test_case.html\" title=\"BOOST_TEST_CASE\"><code class=\"literal\">BOOST_TEST_CASE</code></a>\n        to register a function taking no arguments and returning <code class=\"literal\">void</code>\n        as a test case:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"keyword\">void</span> <span class=\"identifier\">inserts_text</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">static</span> <span class=\"keyword\">void</span> <span class=\"identifier\">register_function</span><span class=\"special\">(</span><span class=\"identifier\">test_suite</span><span class=\"special\">&amp;</span> <span class=\"identifier\">suite</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">suite</span><span class=\"special\">.</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">inserts_text</span><span class=\"special\">));</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        You can use a test case method on a fixture class by registering a function\n        that creates an instance of the fixture and invokes the test method. This\n        assures that a fresh fixture is created for each test case, ensuring that\n        each test executes independently of other tests.\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">hello_fixture</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">void</span> <span class=\"identifier\">stream_with_badbit_throws_runtime_error</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">clear</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ios_base</span><span class=\"special\">::</span><span class=\"identifier\">badbit</span><span class=\"special\">);</span>\n\n        <span class=\"identifier\">BOOST_REQUIRE_THROW</span><span class=\"special\">(</span><span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">),</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"keyword\">void</span> <span class=\"identifier\">stream_with_badbit_throws_runtime_error</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">hello_fixture</span><span class=\"special\">().</span><span class=\"identifier\">stream_with_badbit_throws_runtime_error</span><span class=\"special\">();</span>\n<span class=\"special\">};</span>\n\n<span class=\"keyword\">static</span> <span class=\"keyword\">void</span> <span class=\"identifier\">register_method_function_instance</span><span class=\"special\">(</span><span class=\"identifier\">test_suite</span><span class=\"special\">&amp;</span> <span class=\"identifier\">suite</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">suite</span><span class=\"special\">.</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">stream_with_badbit_throws_runtime_error</span><span class=\"special\">));</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        You can register a method on a class as a test case by using Boost.Bind to\n        bind the method to a static instance of the class. This can cause oen test\n        case to influence the execution of another test case because they share the\n        static fixture.\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"identifier\">hello_fixture</span> <span class=\"identifier\">hf</span><span class=\"special\">;</span>\n\n<span class=\"keyword\">static</span> <span class=\"keyword\">void</span> <span class=\"identifier\">register_method_static_instance</span><span class=\"special\">(</span><span class=\"identifier\">test_suite</span><span class=\"special\">&amp;</span> <span class=\"identifier\">suite</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">suite</span><span class=\"special\">.</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_TEST_CASE</span><span class=\"special\">(</span>\n        <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">bind</span><span class=\"special\">(&amp;</span><span class=\"identifier\">hello_fixture</span><span class=\"special\">::</span><span class=\"identifier\">stream_with_badbit_throws_runtime_error</span><span class=\"special\">,</span>\n            <span class=\"special\">&amp;</span><span class=\"identifier\">hf</span><span class=\"special\">)));</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        A static instance of the class is used so that the instance exists at the\n        time the test case is invoked. Test case invocation happens after registration,\n        so using a local instance in the registration function is insufficient.\n      </p>\n<h5>\n<a name=\"test.guide.manually_registering_test_cases_and_suites.h1\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.manually_registering_test_cases_and_suites.registering_test_suites\"></a></span><a class=\"link\" href=\"manually_registering_test_cases_and_suites.html#test.guide.manually_registering_test_cases_and_suites.registering_test_suites\">Registering\n        Test Suites</a>\n      </h5>\n<p>\n        A new test suite is created with the <a class=\"link\" href=\"../reference/test_suite/boost_test_suite.html\" title=\"BOOST_TEST_SUITE\"><code class=\"literal\">BOOST_TEST_SUITE</code></a>\n        macro. The new suite must be added to the master test suite to execute its\n        tests. Any number of test suites can be added in a hierarchy of suites and\n        any test case can be added to any test suite.\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"identifier\">test_suite</span><span class=\"special\">*</span>\n<span class=\"identifier\">init_unit_test_suite</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">test_suite</span><span class=\"special\">*</span> <span class=\"identifier\">hello_suite</span> <span class=\"special\">=</span> <span class=\"identifier\">BOOST_TEST_SUITE</span><span class=\"special\">(</span><span class=\"string\">\"hello\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">register_function</span><span class=\"special\">(*</span><span class=\"identifier\">hello_suite</span><span class=\"special\">);</span>\n    <span class=\"identifier\">register_method_static_instance</span><span class=\"special\">(*</span><span class=\"identifier\">hello_suite</span><span class=\"special\">);</span>\n    <span class=\"identifier\">register_method_function_instance</span><span class=\"special\">(*</span><span class=\"identifier\">hello_suite</span><span class=\"special\">);</span>\n    <span class=\"identifier\">framework</span><span class=\"special\">::</span><span class=\"identifier\">master_test_suite</span><span class=\"special\">().</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">hello_suite</span><span class=\"special\">);</span>\n    <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<h5>\n<a name=\"test.guide.manually_registering_test_cases_and_suites.h2\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.manually_registering_test_cases_and_suites.example_source_code\"></a></span><a class=\"link\" href=\"manually_registering_test_cases_and_suites.html#test.guide.manually_registering_test_cases_and_suites.example_source_code\">Example\n        Source Code</a>\n      </h5>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            System under test:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/hello/hello.hpp\" target=\"_top\">hello.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/hello/hello.cpp\" target=\"_top\">hello.cpp</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Tests:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/examples/manual_registration.cpp\" target=\"_top\">manual_registration.cpp</a>\n                </li></ul></div>\n          </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing_protected_or_private_members.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/mocking_collaborators.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Mocking Collaborators</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"testing_file_io.html\" title=\"Testing File I/O\">\n<link rel=\"next\" href=\"testing__main_.html\" title=\"Testing main\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing_file_io.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing__main_.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.mocking_collaborators\"></a><a class=\"link\" href=\"mocking_collaborators.html\" title=\"Mocking Collaborators\">Mocking Collaborators</a>\n</h3></div></div></div>\n<p>\n        In <a class=\"link\" href=\"testing_file_io.html\" title=\"Testing File I/O\">testing file I/O</a>, we\n        showed an example of creating a class <code class=\"literal\">fake_directory_scanner</code>\n        that acted as a simple test double for an interface. Such simple fake objects\n        are fine at first, but they're full of boring boiler plate code and after\n        a while it becomes tedious to write them by hand.\n      </p>\n<p>\n        For collaborators defined by a pure virtual base class, also known as an\n        interface, there are mock object frameworks that alleviate the need to write\n        the repetitive boiler plate code. One such mock object framework that is\n        designed to work with Boost.Test is the <a href=\"http://turtle.sourceforge.net\" target=\"_top\">Turtle\n        mock object framework</a>.\n      </p>\n<p>\n        Here is an example of the file system tests written using turtle:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#include</span> <span class=\"string\">\"directory_scanner.hpp\"</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">turtle</span><span class=\"special\">/</span><span class=\"identifier\">mock</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"identifier\">MOCK_BASE_CLASS</span><span class=\"special\">(</span><span class=\"identifier\">mock_directory_scanner</span><span class=\"special\">,</span> <span class=\"identifier\">directory_scanner</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">MOCK_METHOD</span><span class=\"special\">(</span><span class=\"identifier\">begin</span><span class=\"special\">,</span> <span class=\"number\">1</span><span class=\"special\">);</span>\n    <span class=\"identifier\">MOCK_METHOD</span><span class=\"special\">(</span><span class=\"identifier\">has_next</span><span class=\"special\">,</span> <span class=\"number\">0</span><span class=\"special\">);</span>\n    <span class=\"identifier\">MOCK_METHOD</span><span class=\"special\">(</span><span class=\"identifier\">next</span><span class=\"special\">,</span> <span class=\"number\">0</span><span class=\"special\">);</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n      </p>\n<p>\n        Defining the mock object is considerably simpler than writing a fake object\n        by hand. Turtle uses variadic argument macros and template based type deduction\n        to infer the type signature of the methods simply from the number of arguments\n        each method takes. This alleviates us from having to repeat all of this information\n        from the interface into the implementation of the test double.\n      </p>\n<p>\n        Now we can rewrite our tests to use a mock object configured for each test\n        case:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">(</span><span class=\"string\">\"foo\"</span><span class=\"special\">);</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">ARBITRARY_NON_TEXT_FILE_NAME</span><span class=\"special\">(</span><span class=\"string\">\"foo.foo\"</span><span class=\"special\">);</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">ARBITRARY_TEXT_FILE_NAME</span><span class=\"special\">(</span><span class=\"string\">\"foo.txt\"</span><span class=\"special\">);</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">ARBITRARY_OTHER_TEXT_FILE_NAME</span><span class=\"special\">(</span><span class=\"string\">\"bar.txt\"</span><span class=\"special\">);</span>\n\n<span class=\"keyword\">struct</span> <span class=\"identifier\">text_files_fixture</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">text_files_fixture</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">MOCK_EXPECT</span><span class=\"special\">(</span><span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">).</span><span class=\"identifier\">once</span><span class=\"special\">().</span><span class=\"identifier\">with</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"keyword\">void</span> <span class=\"identifier\">expect_enumerate_non_text_file</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">MOCK_EXPECT</span><span class=\"special\">(</span><span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">has_next</span><span class=\"special\">).</span><span class=\"identifier\">once</span><span class=\"special\">().</span><span class=\"identifier\">returns</span><span class=\"special\">(</span><span class=\"keyword\">true</span><span class=\"special\">);</span>\n        <span class=\"identifier\">MOCK_EXPECT</span><span class=\"special\">(</span><span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">next</span><span class=\"special\">).</span><span class=\"identifier\">once</span><span class=\"special\">().</span><span class=\"identifier\">returns</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_NON_TEXT_FILE_NAME</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"keyword\">void</span> <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">file_name</span> <span class=\"special\">=</span> <span class=\"identifier\">ARBITRARY_TEXT_FILE_NAME</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">MOCK_EXPECT</span><span class=\"special\">(</span><span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">has_next</span><span class=\"special\">).</span><span class=\"identifier\">once</span><span class=\"special\">().</span><span class=\"identifier\">returns</span><span class=\"special\">(</span><span class=\"keyword\">true</span><span class=\"special\">);</span>\n        <span class=\"identifier\">MOCK_EXPECT</span><span class=\"special\">(</span><span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">next</span><span class=\"special\">).</span><span class=\"identifier\">once</span><span class=\"special\">().</span><span class=\"identifier\">returns</span><span class=\"special\">(</span><span class=\"identifier\">file_name</span><span class=\"special\">);</span>\n        <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"identifier\">file_name</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"keyword\">void</span> <span class=\"identifier\">expect_enumerate_end</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">MOCK_EXPECT</span><span class=\"special\">(</span><span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">has_next</span><span class=\"special\">).</span><span class=\"identifier\">once</span><span class=\"special\">().</span><span class=\"identifier\">returns</span><span class=\"special\">(</span><span class=\"keyword\">false</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"identifier\">mock_directory_scanner</span> <span class=\"identifier\">scanner</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">empty</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">expected</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_FIXTURE_TEST_SUITE</span><span class=\"special\">(</span><span class=\"identifier\">test_text_files</span><span class=\"special\">,</span> <span class=\"identifier\">text_files_fixture</span><span class=\"special\">);</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_empty_for_empty_directory</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">expect_enumerate_end</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_empty_for_no_text_files</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">expect_enumerate_non_text_file</span><span class=\"special\">();</span>\n    <span class=\"identifier\">expect_enumerate_end</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_file_for_text_file</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">();</span>\n    <span class=\"identifier\">expect_enumerate_end</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_only_text_file_for_mixed_files</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">();</span>\n    <span class=\"identifier\">expect_enumerate_non_text_file</span><span class=\"special\">();</span>\n    <span class=\"identifier\">expect_enumerate_end</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_all_text_files</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">();</span>\n    <span class=\"identifier\">expect_enumerate_non_text_file</span><span class=\"special\">();</span>\n    <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_OTHER_TEXT_FILE_NAME</span><span class=\"special\">);</span>\n    <span class=\"identifier\">expect_enumerate_end</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_SUITE_END</span><span class=\"special\">();</span>\n</pre>\n<p>\n      </p>\n<p>\n        The tests themselves are largely unchanged and what is different is the intention\n        revealing methods we placed in the test fixture. Mock object frameworks generally\n        provide a rich set of methods on the mock object for setting the expectations\n        on the number of times a method is called, such as <code class=\"literal\">once()</code>,\n        the expected arguments to a method, such as <code class=\"literal\">with()</code>, and\n        the return value of a method, such as <code class=\"literal\">returns()</code>.\n      </p>\n<p>\n        With a turtle mock, the expectations are verified when the mock object is\n        destroyed. The mock is a member in our fixture and will be destroyed at the\n        end of every test case.\n      </p>\n<h5>\n<a name=\"test.guide.mocking_collaborators.h0\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.mocking_collaborators.example_source_code\"></a></span><a class=\"link\" href=\"mocking_collaborators.html#test.guide.mocking_collaborators.example_source_code\">Example Source\n        Code</a>\n      </h5>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            System under test:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/scanner.hpp\" target=\"_top\">scanner.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/scanner.cpp\" target=\"_top\">scanner.cpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/directory_scanner.hpp\" target=\"_top\">directory_scanner.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/filesystem_directory_scanner.hpp\" target=\"_top\">filesystem_directory_scanner.hpp</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Tests:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/examples/turtle_mock.cpp\" target=\"_top\">turtle_mock.cpp</a>\n                </li></ul></div>\n          </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing_file_io.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing__main_.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/test_case_design.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Case Design and Maintenance</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"compilation/shared_library.html\" title=\"Shared Library\">\n<link rel=\"next\" href=\"acceptance_tests.html\" title=\"Acceptance Tests and Unit Tests\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"compilation/shared_library.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"acceptance_tests.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.test_case_design\"></a><a class=\"link\" href=\"test_case_design.html\" title=\"Test Case Design and Maintenance\">Test Case Design and Maintenance</a>\n</h3></div></div></div>\n<p>\n        <a href=\"http://xunitpatterns.com/Goals%20of%20Test%20Automation.html\" target=\"_top\">xUnit\n        Patterns</a><a href=\"#ftn.test.guide.test_case_design.f0\" class=\"footnote\" name=\"test.guide.test_case_design.f0\"><sup class=\"footnote\">[2]</sup></a>, by Gerard Meszaros, presents several high level objectives for\n        automated tests and individual goals for achieving those objectives:\n      </p>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            Objective: Tests should help us improve quality.\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#tests_as_specifications\">Tests as specifications</a>\n                </li>\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#bug_repellant\">Bug repellant</a>\n                </li>\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#defect_localization\">Defect localization</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Objective: Tests should help us understand the system under test.\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#tests_as_documentation\">Tests as documentation</a>\n                </li></ul></div>\n          </li>\n<li class=\"listitem\">\n            Objective: Tests should reduce, not increase, risk.\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#tests_as_safety_net\">Tests as safety net</a>\n                </li>\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#do_no_harm\">Do No Harm</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Objective: Tests should be easy to run.\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#fully_automated_test\">Fully Automated Test</a>\n                </li>\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#self_checking_test\">Self-Checking Test</a>\n                </li>\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#repeatable_test\">Repeatable Test</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Objective: Tests should be easy to write and maintain.\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#simple_tests\">Simple Tests</a>\n                </li>\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#expressive_tests\">Expressive Tests</a>\n                </li>\n<li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#separation_of_concerns\">Separation of Concerns</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Objective: Tests should require minimal maintenance as the system evolves\n            around them.\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  Goal: <a class=\"link\" href=\"test_case_design.html#robust_test\">Robust Test</a>\n                </li></ul></div>\n          </li>\n</ul></div>\n<p>\n        In this section, we will discuss how the facilities in Boost.Test can support\n        these goals; see <span class=\"emphasis\"><em>xUnit Patterns</em></span> for the description\n        and rationale of these goals.\n      </p>\n<a name=\"tests_as_specifications\"></a><h5>\n<a name=\"test.guide.test_case_design.h0\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__tests_as_specifications\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__tests_as_specifications\">Goal:\n        Tests as Specifications</a>\n      </h5>\n<p>\n        Tests can serve as specifications for the system under test if we write the\n        test for the system first, using test-driven development. We imagine the\n        perfect system that does exactly what we need and write a test as if that\n        system existed. In order to achieve a failing test, we write just enough\n        of the implementation to make the test compile.\n      </p>\n<p>\n        A good way to ensure that the implementation causes a test failure is for\n        called methods and functions to throw an exception indicating that the method\n        or function called is not implemented:\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">stdexcept</span><span class=\"special\">&gt;</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">free_function</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">throw</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">(</span><span class=\"string\">\"free_function not implemented.\"</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        We get a failing test right away, while still satisfying just enough syntax\n        to satisfy the compiler.\n      </p>\n<a name=\"bug_repellant\"></a><h5>\n<a name=\"test.guide.test_case_design.h1\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__bug_repellant\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__bug_repellant\">Goal:\n        Bug Repellant</a>\n      </h5>\n<p>\n        It is well known that the longer a bug remains undetected in a software,\n        the more expensive it is to fix.<a href=\"#ftn.test.guide.test_case_design.f1\" class=\"footnote\" name=\"test.guide.test_case_design.f1\"><sup class=\"footnote\">[3]</sup></a> If we are practicing test-driven development, then we find bugs\n        in our implementation as soon as we code them. The time to find a bug in\n        this manner can be as little as seconds and was demonstrated in the tutorial\n        <a class=\"link\" href=\"../tutorials/hello_test.html\" title=\"Hello, Test!\">\"Hello, Test!\"</a>.\n      </p>\n<p>\n        The easiest way to achieve this rapid feedback is to run the tests as part\n        of the build. The details vary depending on your build system.\n      </p>\n<p>\n        In Visual Studio 2012, this is most readily achieved by setting a post-build\n        build event as shown below. Because <code class=\"literal\">$(TargetPath)</code> may\n        contain spaces, the variable is surrounded by double quotes to ensure that\n        the entire path to the executable is found. The description is given generically\n        using <code class=\"literal\">$(TargetName)</code> so that this build event can be copied\n        to any test project's properties and be used without modification. Take care\n        that you define the build event for all configurations and all platforms\n        used by your build system so that the unit tests always run.\n      </p>\n<p>\n        <span class=\"inlinemediaobject\"><img src=\"../../../src/user-vs2012-build-event.png\" alt=\"user-vs2012-build-event\"></span>\n      </p>\n<p>\n        If you are using a <code class=\"literal\">Makefile</code> to compile your code, create\n        a phony target that depends on your unit test executable and specify the\n        command to execute your unit test and create the phony target if the test\n        passes. This will ensure that the unit tests continue to run as long as they\n        fail because the phony target will only be updated when the tests pass.\n      </p>\n<p>\n        If you are using Boost.Build and Jamfiles to compile your code, you can use\n        the rules in the <code class=\"literal\">testing</code> module to incorporate your unit\n        tests into your build. The <code class=\"literal\">unit-test</code> rule will build an\n        executable and run it, failing the build when the executable returns a non-zero\n        exit status. Other rules in the <code class=\"literal\">testing</code> module may also\n        be useful.\n      </p>\n<a name=\"defect_localization\"></a><h5>\n<a name=\"test.guide.test_case_design.h2\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__defect_localization\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__defect_localization\">Goal: Defect\n        Localization</a>\n      </h5>\n<p>\n        If we keep our test cases focused on only a single behavior in our system\n        under test, then there is only a single cause for any particular unit test\n        to fail. We saw this in <a class=\"link\" href=\"../tutorials/testing_with_exceptions.html\" title=\"Testing with Exceptions\">\"Testing\n        With Exceptions\"</a> when we added a new test case to <code class=\"literal\">hello_world</code>\n        for a bad stream. By choosing <a href=\"http://c2.com/cgi/wiki?IntentionRevealingNames\" target=\"_top\">intention\n        revealing names</a> for our test cases, we can identify the source of\n        the failure simply by reading the name of the failed test case.\n      </p>\n<p>\n        Since each test case excercises only one scenario for the system under test,\n        we must make at least one test case for each possible scenario. We can use\n        the <a href=\"http://en.wikipedia.org/wiki/Cyclomatic_complexity\" target=\"_top\">cyclomatic\n        complexity</a> as a rough proxy for the number of tests cases needed\n        for any particular method or function to ensure that we have sufficient\n        <a href=\"http://en.wikipedia.org/wiki/Code_coverage\" target=\"_top\">coverage</a>\n        of the system under test.\n      </p>\n<a name=\"tests_as_documentation\"></a><h5>\n<a name=\"test.guide.test_case_design.h3\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__tests_as_documentation\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__tests_as_documentation\">Goal:\n        Tests as Documentation</a>\n      </h5>\n<p>\n        When confronted with a new software component or a new code base, how do\n        we understand its behavior? We can read the documentation, but ultimately\n        the behavior is defined by the code executed. Comments and documentation\n        can lag the actual implementation. Sometimes, the only answer to our questions\n        about a software component come from the implementation. If the component\n        is only available to us in binary form, we don't have the luxury of consulting\n        the source code in order to answer our questions.\n      </p>\n<p>\n        Unit tests can serve as a form of executable documentation for software components.\n        They tell us how the system responds to the scenarios orchestrated by the\n        test cases.\n      </p>\n<p>\n        When faced with a confusing aspect of a software component, we can answer\n        questions about the behavior of the component by writing a unit test that\n        describes our hypothesis about the component's behavior. If the unit test\n        passes, we have verified our hypothesis. If the unit test fails, our hypothesis\n        was incorrect; either way, we have learned something about the component.\n        We can use unit tests to document subtle and unexpected behaviors of components.\n        Unit tests are also the perfect documentation for a bug report on a component\n        maintained by others.\n      </p>\n<a name=\"tests_as_safety_net\"></a><h5>\n<a name=\"test.guide.test_case_design.h4\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__tests_as_safety_net\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__tests_as_safety_net\">Goal: Tests\n        as Safety Net</a>\n      </h5>\n<p>\n        When we start building a software system, we are able to keep all the details\n        of the system in our mind because the system is small. As the size of the\n        system increases, it becomes harder and harder to keep all the details of\n        the system in mind as we make modifications. A comprehensive suite of unit\n        tests over the system give us an automated regression test that gives us\n        the confidence of knowing that our changes are not introducing any problems\n        elsewhere in the code.\n      </p>\n<a name=\"do_no_harm\"></a><h5>\n<a name=\"test.guide.test_case_design.h5\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__do_no_harm\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__do_no_harm\">Goal:\n        Do No Harm</a>\n      </h5>\n<p>\n        Automated tests should only reduce risk, not introduce risk into the system.\n        To achieve this, we want to keep all test code separated from production\n        code. The easiest way to do this is to put the system under test into a library\n        (static or shared) and link the test executable against the library. We saw\n        this in the tutorial <a class=\"link\" href=\"../tutorials/hello_test.html\" title=\"Hello, Test!\">\"Hello,\n        Test!\"</a>, when we separated the system under test into the <code class=\"literal\">hello</code>\n        library and the test code into <code class=\"literal\">test_hello.cpp</code>.\n      </p>\n<a name=\"fully_automated_test\"></a><h5>\n<a name=\"test.guide.test_case_design.h6\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__fully_automated_test\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__fully_automated_test\">Goal: Fully\n        Automated Test</a>\n      </h5>\n<p>\n        Boost.Test supports fully automated tests by allowing us to supply the inputs\n        to the system under test in each test case in order to drive the system into\n        the scenario of interest. Test cases should never rely on user input, or\n        they will not be fully automated tests that can run unattended.\n      </p>\n<a name=\"self_checking_test\"></a><h5>\n<a name=\"test.guide.test_case_design.h7\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__self_checking_test\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__self_checking_test\">Goal: Self-Checking\n        Test</a>\n      </h5>\n<p>\n        Boost.Test supports self-checking tests through its rich set of <a class=\"link\" href=\"../reference/assertion.html\" title=\"Test Assertions\">assertions</a>.\n        Each test case supplies the inputs to the system under test and validates\n        the behavior of the system using assertions. Self-checking tests report only\n        bad news and good news results in no notifications. The default output from\n        the test runner only reports failing tests and a summary of all tests executed.\n        The test runner also returns a non-zero status code when a test fails, allowing\n        easy failure of <a href=\"http://en.wikipedia.org/wiki/Continuous_integration\" target=\"_top\">continuous\n        integration</a> builds.\n      </p>\n<a name=\"repeatable_test\"></a><h5>\n<a name=\"test.guide.test_case_design.h8\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__repeatable_test\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__repeatable_test\">Goal:\n        Repeatable Test</a>\n      </h5>\n<p>\n        We should get the same results from automated tests every time we run them,\n        provided the implementation of the system under test has not changed between\n        runs. In the context of unit testing, this implies that a test case must\n        control all the collaborators that can influence the system.\n      </p>\n<p>\n        The most troublesome collaborators are among the following: * current date\n        and time * device input * file system * system services (Windows registry,\n        networking, etc.) * C style apis\n      </p>\n<p>\n        In the book \"Working Effectively with Legacy Code\", Michael Feathers\n        described a number of techniques for decoupling the system under test from\n        such troublesome collaborators that can cause unit tests to spuriously fail.\n        All the techniques are variations on a theme: introduce a level of indirection\n        to decouple the system under test from a collaborator. C++ offers <a href=\"http://en.wikipedia.org/wiki/Template_metaprogramming#Static_polymorphism\" target=\"_top\">static\n        polymorphism</a> via templates as well as the usual dynamic polymorphism\n        via interfaces to decouple a system under test from a collaborator.\n      </p>\n<a name=\"simple_tests\"></a><h5>\n<a name=\"test.guide.test_case_design.h9\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__simple_tests\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__simple_tests\">Goal:\n        Simple Tests</a>\n      </h5>\n<p>\n        We keep tests simple by exercising only one scenario for each test case.\n        Simple test cases read linearly through the phases of setup, exercise and\n        verify. Trying to exercise too much functionality in a single test case can\n        introduce unnecessary complexity into the test.\n      </p>\n<p>\n        Duplication between test cases can make tests hard to read by distracting\n        us from the steady rhythm of setup, exercise and verify of test cases. You\n        may find it useful to apply the <a href=\"http://en.wikipedia.org/wiki/Rule_of_three_(computer_programming)\" target=\"_top\">rule\n        of three</a> when writing test cases to decide when to extract duplication\n        into a fixture.\n      </p>\n<a name=\"expressive_tests\"></a><h5>\n<a name=\"test.guide.test_case_design.h10\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__expressive_tests\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__expressive_tests\">Goal:\n        Expressive Tests</a>\n      </h5>\n<p>\n        Sometimes low-level setup details get in the way of a test reading clearly.\n        This could be the result of a complicated data structure needed in order\n        to exercise the system down a particular code path. Similarly, the verification\n        of a result produced by the system under test may involve a series of assertions\n        that make the test hard to follow. Boost.Test provides fixtures as a way\n        to localize these distracting details by extracting setup and assertion methods\n        into the fixture.\n      </p>\n<p>\n        Over time we build up a series of methods in the fixture that allow us to\n        express domain concepts succinctly and clearly in the tests, making them\n        more expressive of the scenario in the domain. Fixtures can be combined through\n        aggregation or inheritance in order to express combinations and hierarchies\n        of domain concepts.\n      </p>\n<a name=\"separation_of_concerns\"></a><h5>\n<a name=\"test.guide.test_case_design.h11\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__separation_of_concerns\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__separation_of_concerns\">Goal:\n        Separation of Concerns</a>\n      </h5>\n<p>\n        We keep test code separated from production code with the packaging mechanisms\n        provided by C++. Production code is supplied to the test executable as a\n        library, either static or dynamic. The test code resides in separate source\n        files from the production code. The production code consumed by the test\n        code is compiled with the exact same preprocessor settings as the production\n        code to ensure that tests do not influence the production code.\n      </p>\n<p>\n        We keep concerns separated in our tests by testing each concern in its own\n        test case. Each test case exercises a single scenario and our tests exercise\n        the responsibilities or classes individually. If we are practicing test-driven\n        development, we keep the <a href=\"http://en.wikipedia.org/wiki/Single_responsibility_principle\" target=\"_top\">single\n        responsibility principle</a> in mind as we are creating the system to\n        satisfy the evolving tests. When our tests start involving more than one\n        concern, it can be a sign that our system under test is covering more than\n        one responsibility.\n      </p>\n<a name=\"robust_test\"></a><h5>\n<a name=\"test.guide.test_case_design.h12\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.test_case_design.goal__robust_test\"></a></span><a class=\"link\" href=\"test_case_design.html#test.guide.test_case_design.goal__robust_test\">Goal:\n        Robust Test</a>\n      </h5>\n<p>\n        Test cases are robust when small changes to the system under test result\n        in a small number of test cases failing. If a small change to the system\n        results in many test cases failing, then our tests are not robust. If our\n        tests cases do not sufficiently isolate the system under test from its collaborators,\n        then a change to one part of the system can cause tests on seemingly unrelated\n        parts of the system to fail. If we have repeated assertions in many test\n        cases for the same system under test, then many test cases can fail if that\n        single assertion fails. Each of these situations is a case of overlap between\n        test cases; in the first case, the overlap is between the parts of the production\n        code unrelated to the system under test that we exercise and in the second\n        case, the overlap is between test cases on the system under test.\n      </p>\n<div class=\"footnotes\">\n<br><hr style=\"width:100; text-align:left;margin-left: 0\">\n<div id=\"ftn.test.guide.test_case_design.f0\" class=\"footnote\"><p><a href=\"#test.guide.test_case_design.f0\" class=\"para\"><sup class=\"para\">[2] </sup></a>\n          The term <span class=\"emphasis\"><em>xUnit</em></span> is a generic term for unit testing\n          frameworks, such as jUnit. The advice in <span class=\"emphasis\"><em>xUnit Patterns</em></span>\n          applies equally well to Boost.Test.\n        </p></div>\n<div id=\"ftn.test.guide.test_case_design.f1\" class=\"footnote\"><p><a href=\"#test.guide.test_case_design.f1\" class=\"para\"><sup class=\"para\">[3] </sup></a>\n          <a href=\"https://en.wikipedia.org/wiki/Software_testing#Economics\" target=\"_top\">Software\n          Testing: Economics</a>\n        </p></div>\n</div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"compilation/shared_library.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"acceptance_tests.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/testing__main_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Testing main</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"mocking_collaborators.html\" title=\"Mocking Collaborators\">\n<link rel=\"next\" href=\"testing_protected_or_private_members.html\" title=\"Testing Protected or Private Members\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"mocking_collaborators.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing_protected_or_private_members.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.testing__main_\"></a><a class=\"link\" href=\"testing__main_.html\" title=\"Testing main\">Testing <code class=\"literal\">main</code></a>\n</h3></div></div></div>\n<p>\n        If there is considerable logic in an appliation's <code class=\"literal\">main</code>\n        function, this can be difficult to unit test. The <a href=\"http://en.wikipedia.org/wiki/One_definition_rule\" target=\"_top\">One\n        Definition Rule</a> prevents us from having the application's <code class=\"literal\">main</code>\n        and the unit test executable's <code class=\"literal\">main</code> in the same executable.\n        Furthermore, even if we could perform some trick to resolve the multiply\n        defined symbol<a href=\"#ftn.test.guide.testing__main_.f0\" class=\"footnote\" name=\"test.guide.testing__main_.f0\"><sup class=\"footnote\">[4]</sup></a>, we would still need to figure out how to link the test executable\n        with the application's <code class=\"literal\">main</code> function to test the code.\n      </p>\n<p>\n        When it becomes difficult to test code where it is currently, such as in\n        the body of <code class=\"literal\">main</code>, the simplest thing to do is to move\n        the code somewhere else that makes it easy to test. Here is one way to accomplish\n        this:\n      </p>\n<div class=\"orderedlist\"><ol class=\"orderedlist\" type=\"1\">\n<li class=\"listitem\">\n            rename <code class=\"literal\">main</code> to <code class=\"literal\">app_main</code>.\n          </li>\n<li class=\"listitem\">\n            move <code class=\"literal\">app_main</code> to a library.\n          </li>\n<li class=\"listitem\">\n            create a simple delegating <code class=\"literal\">main</code> that calls <code class=\"literal\">app_main</code>.\n          </li>\n<li class=\"listitem\">\n            write tests for <code class=\"literal\">app_main</code> by linking against the library.\n          </li>\n</ol></div>\n<p>\n        The delegating <code class=\"literal\">main</code> looks like this:\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">extern</span> <span class=\"keyword\">int</span> <span class=\"identifier\">app_main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[]);</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">app_main</span><span class=\"special\">(</span><span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        If you don't already have a library for <code class=\"literal\">app_main</code>, then\n        create one and add all the other application code to the library as well.\n        The build logic for making the executable will consist of compiling a single\n        source file containing your delegating implementation of <code class=\"literal\">main</code>\n        and linking against a library containing the rest of the application. This\n        will give you a starting point for writing unit tests for anything in your\n        application.\n      </p>\n<div class=\"footnotes\">\n<br><hr style=\"width:100; text-align:left;margin-left: 0\">\n<div id=\"ftn.test.guide.testing__main_.f0\" class=\"footnote\"><p><a href=\"#test.guide.testing__main_.f0\" class=\"para\"><sup class=\"para\">[4] </sup></a>\n          We could abuse the C++ preprocessor or use object file symbol modification.\n        </p></div>\n</div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"mocking_collaborators.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing_protected_or_private_members.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/testing_file_i_o.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Testing File I/O</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"acceptance_tests.html\" title=\"Acceptance Tests and Unit Tests\">\n<link rel=\"next\" href=\"testing__main_.html\" title=\"Testing main\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"acceptance_tests.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing__main_.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.testing_file_i_o\"></a><a class=\"link\" href=\"testing_file_i_o.html\" title=\"Testing File I/O\">Testing File I/O</a>\n</h3></div></div></div>\n<p>\n        A common problem encountered in unit testing is interaction with the file\n        system: scanning directories, creating files, opening files, reading files,\n        writing files, creating symbolic links and so-on. Interacting directly with\n        the file system when executing unit tests can lead to a failure of tests\n        to be <a class=\"link\" href=\"test_case_design.html#robust_test\">robust</a> or <a class=\"link\" href=\"test_case_design.html#repeatable_test\">repeatable</a>.\n        We also want our unit tests to be fast; an execution time of 100 milliseconds\n        is considered a slow unit test. Interacting directly with the file system\n        can make our unit tests take too long to execute.\n      </p>\n<p>\n        The simplest approach is to wrap file system operations in an interface and\n        perform all operations through the interface. Consider the following example\n        of a function that returns a vector of filenames ending in \".txt\"\n        in a given directory:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">extern</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">directory</span><span class=\"special\">);</span>\n</pre>\n<p>\n      </p>\n<p>\n        How can we unit test <code class=\"literal\">text_files</code> without relying on the\n        actual contents of the file system? We can decouple <code class=\"literal\">text_files</code>\n        from the file system by introducing an interface:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">directory_scanner</span><span class=\"special\">;</span>\n\n<span class=\"keyword\">extern</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">directory</span><span class=\"special\">,</span>\n    <span class=\"identifier\">directory_scanner</span><span class=\"special\">&amp;</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n</pre>\n<p>\n      </p>\n<p>\n        We've used a forward declaration of <code class=\"literal\">directory_scanner</code>\n        where <code class=\"literal\">text_files</code> is declared. The interface looks like\n        this:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">directory_scanner</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">virtual</span> <span class=\"special\">~</span><span class=\"identifier\">directory_scanner</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span> <span class=\"identifier\">begin</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"special\">&amp;</span><span class=\"identifier\">directory</span><span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n      </p>\n<p>\n        The interface <code class=\"literal\">directory_scanner</code> is used to isolate the\n        free function <code class=\"literal\">text_files</code> from directly interacting with\n        the file system. In the unit tests, we use an implementation of <code class=\"literal\">directory_scanner</code>\n        that senses how <code class=\"literal\">text_files</code> uses the interface and allows\n        us to control the data made available to <code class=\"literal\">text_files</code>. The\n        tests can use a hand-crafted fake implementation or an implementation from\n        a mock library. The fake might look something like this:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">fake_directory_scanner</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">directory_scanner</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">fake_directory_scanner</span><span class=\"special\">()</span>\n        <span class=\"special\">:</span> <span class=\"identifier\">begin_called</span><span class=\"special\">(</span><span class=\"keyword\">false</span><span class=\"special\">),</span>\n        <span class=\"identifier\">has_next_called</span><span class=\"special\">(</span><span class=\"keyword\">false</span><span class=\"special\">),</span>\n        <span class=\"identifier\">next_called</span><span class=\"special\">(</span><span class=\"keyword\">false</span><span class=\"special\">),</span>\n        <span class=\"identifier\">next_call_count</span><span class=\"special\">(</span><span class=\"number\">0U</span><span class=\"special\">)</span>\n    <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"special\">~</span><span class=\"identifier\">fake_directory_scanner</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span> <span class=\"identifier\">begin</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"special\">&amp;</span><span class=\"identifier\">directory</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">begin_called</span> <span class=\"special\">=</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n        <span class=\"identifier\">begin_last_directory</span> <span class=\"special\">=</span> <span class=\"identifier\">directory</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">bool</span> <span class=\"identifier\">begin_called</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">begin_last_directory</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">has_next_called</span> <span class=\"special\">=</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n        <span class=\"keyword\">return</span> <span class=\"identifier\">next_call_count</span> <span class=\"special\">&lt;=</span> <span class=\"identifier\">next_fake_results</span><span class=\"special\">.</span><span class=\"identifier\">size</span><span class=\"special\">();</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">mutable</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next_called</span><span class=\"special\">;</span>\n    <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next_fake_result</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">next_called</span> <span class=\"special\">=</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n        <span class=\"special\">++</span><span class=\"identifier\">next_call_count</span><span class=\"special\">;</span>\n        <span class=\"keyword\">return</span> <span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"special\">?</span> <span class=\"identifier\">next_fake_results</span><span class=\"special\">[</span><span class=\"identifier\">next_call_count</span> <span class=\"special\">-</span> <span class=\"number\">1U</span><span class=\"special\">]</span> <span class=\"special\">:</span> <span class=\"string\">\"\"</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">mutable</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">next_called</span><span class=\"special\">;</span>\n    <span class=\"keyword\">mutable</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">size_t</span> <span class=\"identifier\">next_call_count</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">next_fake_results</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n      </p>\n<p>\n        The tests for <code class=\"literal\">text_files</code> use the <code class=\"literal\">fake_directory_scanner</code>\n        to specify the configuration of the file system for the different test cases:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">struct</span> <span class=\"identifier\">text_files_fixture</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">fake_directory_scanner</span> <span class=\"identifier\">scanner</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_FIXTURE_TEST_SUITE</span><span class=\"special\">(</span><span class=\"identifier\">test_text_files</span><span class=\"special\">,</span> <span class=\"identifier\">text_files_fixture</span><span class=\"special\">);</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_empty_for_empty_directory</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">empty</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"string\">\"foo\"</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_empty_for_no_text_files</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">next_fake_results</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"foo.foo\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">empty</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"string\">\"foo\"</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_file_for_text_file</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">next_fake_results</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"foo.txt\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">expected</span><span class=\"special\">;</span>\n    <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"foo.txt\"</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"string\">\"foo\"</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_only_text_file_for_mixed_files</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">next_fake_results</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"foo.txt\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">next_fake_results</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"foo.foo\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">expected</span><span class=\"special\">;</span>\n    <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"foo.txt\"</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"string\">\"foo\"</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_SUITE_END</span><span class=\"special\">();</span>\n</pre>\n<p>\n      </p>\n<p>\n        In production code, we use an implementation of <code class=\"literal\">directory_scanner</code>\n        that interacts directly with the file system using Boost.FileSystem.\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">filesystem_directory_scanner</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">directory_scanner</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">filesystem_directory_scanner</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"special\">~</span><span class=\"identifier\">filesystem_directory_scanner</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span> <span class=\"identifier\">begin</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"special\">&amp;</span><span class=\"identifier\">directory</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">current</span> <span class=\"special\">=</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">filesystem</span><span class=\"special\">::</span><span class=\"identifier\">directory_iterator</span><span class=\"special\">(</span><span class=\"identifier\">directory</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>\n    <span class=\"special\">{</span>\n        <span class=\"keyword\">return</span> <span class=\"identifier\">current</span> <span class=\"special\">!=</span> <span class=\"identifier\">end</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>\n    <span class=\"special\">{</span>\n        <span class=\"keyword\">if</span> <span class=\"special\">(</span><span class=\"identifier\">has_next</span><span class=\"special\">())</span>\n        <span class=\"special\">{</span>\n            <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">result</span> <span class=\"special\">=</span> <span class=\"special\">(*</span><span class=\"identifier\">current</span><span class=\"special\">).</span><span class=\"identifier\">path</span><span class=\"special\">().</span><span class=\"identifier\">filename</span><span class=\"special\">().</span><span class=\"identifier\">string</span><span class=\"special\">();</span>\n            <span class=\"keyword\">do</span>\n            <span class=\"special\">{</span>\n                <span class=\"special\">++</span><span class=\"identifier\">current</span><span class=\"special\">;</span>\n            <span class=\"special\">}</span>\n            <span class=\"keyword\">while</span> <span class=\"special\">(</span><span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"special\">&amp;&amp;</span> <span class=\"special\">!</span><span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">filesystem</span><span class=\"special\">::</span><span class=\"identifier\">is_regular_file</span><span class=\"special\">((*</span><span class=\"identifier\">current</span><span class=\"special\">).</span><span class=\"identifier\">path</span><span class=\"special\">()));</span>\n            <span class=\"keyword\">return</span> <span class=\"identifier\">result</span><span class=\"special\">;</span>\n        <span class=\"special\">}</span>\n        <span class=\"keyword\">throw</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">(</span><span class=\"string\">\"no next path\"</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n<span class=\"keyword\">private</span><span class=\"special\">:</span>\n    <span class=\"keyword\">mutable</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">filesystem</span><span class=\"special\">::</span><span class=\"identifier\">directory_iterator</span> <span class=\"identifier\">current</span><span class=\"special\">;</span>\n    <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">filesystem</span><span class=\"special\">::</span><span class=\"identifier\">directory_iterator</span> <span class=\"identifier\">end</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n      </p>\n<p>\n        We've wrapped just enough of Boost.FileSystem for our needs; Boost.FileSystem\n        has a very large surface area and we don't need to put an interface around\n        the entire thing, just enough to satisfy the needs of <code class=\"literal\">text_files</code>.\n      </p>\n<p>\n        If we don't want production code to have to worry about supplying an instance\n        of <code class=\"literal\">filesystem_directory_scanner</code> to <code class=\"literal\">text_files</code>,\n        we can use overloading on <code class=\"literal\">text_files</code> and use simple delegation\n        to supply the dependency:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">extern</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span>\n<span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">directory</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">filesystem_directory_scanner</span> <span class=\"identifier\">scanner</span><span class=\"special\">;</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">directory</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        Seeing this, you might wonder if we need to unit test the overload we just\n        created? Because we are using simple delegation here, there isn't sufficient\n        complexity to warrant unit testing. However, we have no unit tests for <code class=\"literal\">filesystem_directory_scanner</code>,\n        which does have control structures. We will want some sort of automated tests\n        around this code to verify that it functions properly. We can use <a class=\"link\" href=\"acceptance_tests.html\" title=\"Acceptance Tests and Unit Tests\">acceptance\n        tests</a> to verify the system as a whole, exercising all the components\n        end-to-end and not just in isolation.\n      </p>\n<h5>\n<a name=\"test.guide.testing_file_i_o.h0\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.testing_file_i_o.example_source_code\"></a></span><a class=\"link\" href=\"testing_file_i_o.html#test.guide.testing_file_i_o.example_source_code\">Example\n        Source Code</a>\n      </h5>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            System under test:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/scanner.hpp\" target=\"_top\">scanner.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/scanner.cpp\" target=\"_top\">scanner.cpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/directory_scanner.hpp\" target=\"_top\">directory_scanner.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/filesystem_directory_scanner.hpp\" target=\"_top\">filesystem_directory_scanner.hpp</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Tests:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/examples/file_system.cpp\" target=\"_top\">file_system.cpp</a>\n                </li></ul></div>\n          </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"acceptance_tests.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing__main_.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/testing_file_io.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Testing File I/O</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"acceptance_tests.html\" title=\"Acceptance Tests and Unit Tests\">\n<link rel=\"next\" href=\"mocking_collaborators.html\" title=\"Mocking Collaborators\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"acceptance_tests.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"mocking_collaborators.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.testing_file_io\"></a><a class=\"link\" href=\"testing_file_io.html\" title=\"Testing File I/O\">Testing File I/O</a>\n</h3></div></div></div>\n<p>\n        A common problem encountered in unit testing is interaction with the file\n        system: scanning directories, creating files, opening files, reading files,\n        writing files, creating symbolic links and so-on. Interacting directly with\n        the file system when executing unit tests can lead to a failure of tests\n        to be <a class=\"link\" href=\"test_case_design.html#robust_test\">robust</a> or <a class=\"link\" href=\"test_case_design.html#repeatable_test\">repeatable</a>.\n        We also want our unit tests to be fast; an execution time of 100 milliseconds\n        is considered a slow unit test. Interacting directly with the file system\n        can make our unit tests take too long to execute.\n      </p>\n<p>\n        The simplest approach is to wrap file system operations in an interface and\n        perform all operations through the interface. Consider the following example\n        of a function that returns a vector of filenames ending in \".txt\"\n        in a given directory:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">extern</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">directory</span><span class=\"special\">);</span>\n</pre>\n<p>\n      </p>\n<p>\n        How can we unit test <code class=\"literal\">text_files</code> without relying on the\n        actual contents of the file system? We can decouple <code class=\"literal\">text_files</code>\n        from the file system by introducing an interface:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">directory_scanner</span><span class=\"special\">;</span>\n\n<span class=\"keyword\">extern</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">directory</span><span class=\"special\">,</span>\n    <span class=\"identifier\">directory_scanner</span><span class=\"special\">&amp;</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n</pre>\n<p>\n      </p>\n<p>\n        We've used a forward declaration of <code class=\"literal\">directory_scanner</code>\n        where <code class=\"literal\">text_files</code> is declared. The interface looks like\n        this:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">directory_scanner</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">virtual</span> <span class=\"special\">~</span><span class=\"identifier\">directory_scanner</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span> <span class=\"identifier\">begin</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"special\">&amp;</span><span class=\"identifier\">directory</span><span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n      </p>\n<p>\n        The interface <code class=\"literal\">directory_scanner</code> is used to isolate the\n        free function <code class=\"literal\">text_files</code> from directly interacting with\n        the file system. In the unit tests, we use an implementation of <code class=\"literal\">directory_scanner</code>\n        that senses how <code class=\"literal\">text_files</code> uses the interface and allows\n        us to control the data made available to <code class=\"literal\">text_files</code>. The\n        tests can use a hand-crafted fake implementation or an implementation from\n        a mock library. The fake might look something like this:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">fake_directory_scanner</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">directory_scanner</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">fake_directory_scanner</span><span class=\"special\">()</span>\n        <span class=\"special\">:</span> <span class=\"identifier\">begin_called</span><span class=\"special\">(</span><span class=\"keyword\">false</span><span class=\"special\">),</span>\n        <span class=\"identifier\">has_next_called</span><span class=\"special\">(</span><span class=\"keyword\">false</span><span class=\"special\">),</span>\n        <span class=\"identifier\">next_called</span><span class=\"special\">(</span><span class=\"keyword\">false</span><span class=\"special\">),</span>\n        <span class=\"identifier\">next_call_count</span><span class=\"special\">(</span><span class=\"number\">0U</span><span class=\"special\">)</span>\n    <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"special\">~</span><span class=\"identifier\">fake_directory_scanner</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span> <span class=\"identifier\">begin</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"special\">&amp;</span><span class=\"identifier\">directory</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">begin_called</span> <span class=\"special\">=</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n        <span class=\"identifier\">begin_last_directory</span> <span class=\"special\">=</span> <span class=\"identifier\">directory</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">bool</span> <span class=\"identifier\">begin_called</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">begin_last_directory</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">has_next_called</span> <span class=\"special\">=</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n        <span class=\"keyword\">return</span> <span class=\"identifier\">next_call_count</span> <span class=\"special\">&lt;=</span> <span class=\"identifier\">next_fake_results</span><span class=\"special\">.</span><span class=\"identifier\">size</span><span class=\"special\">();</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">mutable</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next_called</span><span class=\"special\">;</span>\n    <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next_fake_result</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">next_called</span> <span class=\"special\">=</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n        <span class=\"special\">++</span><span class=\"identifier\">next_call_count</span><span class=\"special\">;</span>\n        <span class=\"keyword\">return</span> <span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"special\">?</span> <span class=\"identifier\">next_fake_results</span><span class=\"special\">[</span><span class=\"identifier\">next_call_count</span> <span class=\"special\">-</span> <span class=\"number\">1U</span><span class=\"special\">]</span> <span class=\"special\">:</span> <span class=\"string\">\"\"</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">mutable</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">next_called</span><span class=\"special\">;</span>\n    <span class=\"keyword\">mutable</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">size_t</span> <span class=\"identifier\">next_call_count</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">next_fake_results</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n      </p>\n<p>\n        The tests for <code class=\"literal\">text_files</code> use the <code class=\"literal\">fake_directory_scanner</code>\n        to specify the configuration of the file system for the different test cases:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">(</span><span class=\"string\">\"foo\"</span><span class=\"special\">);</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">ARBITRARY_NON_TEXT_FILE_NAME</span><span class=\"special\">(</span><span class=\"string\">\"foo.foo\"</span><span class=\"special\">);</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">ARBITRARY_TEXT_FILE_NAME</span><span class=\"special\">(</span><span class=\"string\">\"foo.txt\"</span><span class=\"special\">);</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">ARBITRARY_OTHER_TEXT_FILE_NAME</span><span class=\"special\">(</span><span class=\"string\">\"bar.txt\"</span><span class=\"special\">);</span>\n\n<span class=\"keyword\">struct</span> <span class=\"identifier\">text_files_fixture</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">void</span> <span class=\"identifier\">expect_enumerate_non_text_file</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">next_fake_results</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_NON_TEXT_FILE_NAME</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"keyword\">void</span> <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">file_name</span> <span class=\"special\">=</span> <span class=\"identifier\">ARBITRARY_TEXT_FILE_NAME</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">scanner</span><span class=\"special\">.</span><span class=\"identifier\">next_fake_results</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"identifier\">file_name</span><span class=\"special\">);</span>\n        <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"identifier\">file_name</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"identifier\">fake_directory_scanner</span> <span class=\"identifier\">scanner</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">empty</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">expected</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_FIXTURE_TEST_SUITE</span><span class=\"special\">(</span><span class=\"identifier\">test_text_files</span><span class=\"special\">,</span> <span class=\"identifier\">text_files_fixture</span><span class=\"special\">);</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_empty_for_empty_directory</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_empty_for_no_text_files</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">expect_enumerate_non_text_file</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">empty</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_file_for_text_file</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_only_text_file_for_mixed_files</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">();</span>\n    <span class=\"identifier\">expect_enumerate_non_text_file</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">returns_all_text_files</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">();</span>\n    <span class=\"identifier\">expect_enumerate_non_text_file</span><span class=\"special\">();</span>\n    <span class=\"identifier\">expect_enumerate_text_file</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_OTHER_TEXT_FILE_NAME</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">files</span> <span class=\"special\">=</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">ARBITRARY_DIRECTORY_NAME</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">files</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_SUITE_END</span><span class=\"special\">();</span>\n</pre>\n<p>\n      </p>\n<p>\n        In production code, we use an implementation of <code class=\"literal\">directory_scanner</code>\n        that interacts directly with the file system using Boost.FileSystem.\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">filesystem_directory_scanner</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">directory_scanner</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">filesystem_directory_scanner</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"special\">~</span><span class=\"identifier\">filesystem_directory_scanner</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span> <span class=\"identifier\">begin</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"special\">&amp;</span><span class=\"identifier\">directory</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">current</span> <span class=\"special\">=</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">filesystem</span><span class=\"special\">::</span><span class=\"identifier\">directory_iterator</span><span class=\"special\">(</span><span class=\"identifier\">directory</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>\n    <span class=\"special\">{</span>\n        <span class=\"keyword\">return</span> <span class=\"identifier\">current</span> <span class=\"special\">!=</span> <span class=\"identifier\">end</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">next</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>\n    <span class=\"special\">{</span>\n        <span class=\"keyword\">if</span> <span class=\"special\">(</span><span class=\"identifier\">has_next</span><span class=\"special\">())</span>\n        <span class=\"special\">{</span>\n            <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">result</span> <span class=\"special\">=</span> <span class=\"special\">(*</span><span class=\"identifier\">current</span><span class=\"special\">).</span><span class=\"identifier\">path</span><span class=\"special\">().</span><span class=\"identifier\">filename</span><span class=\"special\">().</span><span class=\"identifier\">string</span><span class=\"special\">();</span>\n            <span class=\"keyword\">do</span>\n            <span class=\"special\">{</span>\n                <span class=\"special\">++</span><span class=\"identifier\">current</span><span class=\"special\">;</span>\n            <span class=\"special\">}</span>\n            <span class=\"keyword\">while</span> <span class=\"special\">(</span><span class=\"identifier\">has_next</span><span class=\"special\">()</span> <span class=\"special\">&amp;&amp;</span> <span class=\"special\">!</span><span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">filesystem</span><span class=\"special\">::</span><span class=\"identifier\">is_regular_file</span><span class=\"special\">((*</span><span class=\"identifier\">current</span><span class=\"special\">).</span><span class=\"identifier\">path</span><span class=\"special\">()));</span>\n            <span class=\"keyword\">return</span> <span class=\"identifier\">result</span><span class=\"special\">;</span>\n        <span class=\"special\">}</span>\n        <span class=\"keyword\">throw</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">(</span><span class=\"string\">\"no next path\"</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n<span class=\"keyword\">private</span><span class=\"special\">:</span>\n    <span class=\"keyword\">mutable</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">filesystem</span><span class=\"special\">::</span><span class=\"identifier\">directory_iterator</span> <span class=\"identifier\">current</span><span class=\"special\">;</span>\n    <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">filesystem</span><span class=\"special\">::</span><span class=\"identifier\">directory_iterator</span> <span class=\"identifier\">end</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n      </p>\n<p>\n        We've wrapped just enough of Boost.FileSystem for our needs; Boost.FileSystem\n        has a very large surface area and we don't need to put an interface around\n        the entire thing, just enough to satisfy the needs of <code class=\"literal\">text_files</code>.\n      </p>\n<p>\n        If we don't want production code to have to worry about supplying an instance\n        of <code class=\"literal\">filesystem_directory_scanner</code> to <code class=\"literal\">text_files</code>,\n        we can use overloading on <code class=\"literal\">text_files</code> and use simple delegation\n        to supply the dependency:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">extern</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span>\n<span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">directory</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">filesystem_directory_scanner</span> <span class=\"identifier\">scanner</span><span class=\"special\">;</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">text_files</span><span class=\"special\">(</span><span class=\"identifier\">directory</span><span class=\"special\">,</span> <span class=\"identifier\">scanner</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        Seeing this, you might wonder if we need to unit test the overload we just\n        created? Because we are using simple delegation here, there isn't sufficient\n        complexity to warrant unit testing. However, we have no unit tests for <code class=\"literal\">filesystem_directory_scanner</code>,\n        which does have control structures. We will want some sort of automated tests\n        around this code to verify that it functions properly. We can use <a class=\"link\" href=\"acceptance_tests.html\" title=\"Acceptance Tests and Unit Tests\">acceptance\n        tests</a> to verify the system as a whole, exercising all the components\n        end-to-end and not just in isolation.\n      </p>\n<h5>\n<a name=\"test.guide.testing_file_io.h0\"></a>\n        <span class=\"phrase\"><a name=\"test.guide.testing_file_io.example_source_code\"></a></span><a class=\"link\" href=\"testing_file_io.html#test.guide.testing_file_io.example_source_code\">Example\n        Source Code</a>\n      </h5>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            System under test:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/scanner.hpp\" target=\"_top\">scanner.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/scanner.cpp\" target=\"_top\">scanner.cpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/directory_scanner.hpp\" target=\"_top\">directory_scanner.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/system_under_test/scanner/filesystem_directory_scanner.hpp\" target=\"_top\">filesystem_directory_scanner.hpp</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Tests:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/examples/file_system.cpp\" target=\"_top\">file_system.cpp</a>\n                </li></ul></div>\n          </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"acceptance_tests.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"mocking_collaborators.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide/testing_protected_or_private_members.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Testing Protected or Private Members</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../guide.html\" title=\"User's Guide\">\n<link rel=\"prev\" href=\"testing__main_.html\" title=\"Testing main\">\n<link rel=\"next\" href=\"manually_registering_test_cases_and_suites.html\" title=\"Manually Registering Test Cases and Suites\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing__main_.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"manually_registering_test_cases_and_suites.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.guide.testing_protected_or_private_members\"></a><a class=\"link\" href=\"testing_protected_or_private_members.html\" title=\"Testing Protected or Private Members\">Testing\n      Protected or Private Members</a>\n</h3></div></div></div>\n<p>\n        When testing a large class, you may find yourself wanting to test protected\n        or private members of the class. The best approach is to test those members\n        by testing the public members of the class. If using the public members of\n        a class requires considerable setup in order to force execution down a particular\n        path that exercises the protected or private member in question, then you\n        may wish to refactor the code to enhance testability.\n      </p>\n<p>\n        The most expedient technique for protected members is to raise their visibility\n        through derivation. Suppose we have a base class <code class=\"computeroutput\"><span class=\"identifier\">B</span></code>\n        with a protected member <code class=\"computeroutput\"><span class=\"identifier\">p</span></code>\n        that we wish to test:\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">B</span>\n<span class=\"special\">{</span>\n<span class=\"comment\">// ... other stuff in B</span>\n<span class=\"keyword\">protected</span><span class=\"special\">:</span>\n    <span class=\"keyword\">bool</span> <span class=\"identifier\">p</span><span class=\"special\">();</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n        We can derive a class <code class=\"computeroutput\"><span class=\"identifier\">D</span></code> in\n        the test code from the class <code class=\"computeroutput\"><span class=\"identifier\">B</span></code>\n        in the production code that raises the visibility of <code class=\"computeroutput\"><span class=\"identifier\">p</span></code>:\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">D</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">B</span>\n<span class=\"special\">{</span>\n<span class=\"comment\">// ... other stuff needed to build a D from a B</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">using</span> <span class=\"identifier\">B</span><span class=\"special\">::</span><span class=\"identifier\">p</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n</pre>\n<p>\n        Now we can write a test for <code class=\"computeroutput\"><span class=\"identifier\">D</span><span class=\"special\">::</span><span class=\"identifier\">p</span></code>.\n      </p>\n<p>\n        While this certainly seems expedient, it's annoying to write these derived\n        classes simply for the purposes of hoisting members into public visibility.\n        It also just feels dirty. We're taking implementation details that are supposed\n        to be hidden from consumers of the class and we're exposing them. If we are\n        not diligent and watchful, this class <code class=\"computeroutput\"><span class=\"identifier\">D</span></code>\n        in the test project that was only intended for testing may find itself showing\n        up in the production code.\n      </p>\n<p>\n        Maybe the problem isn't one of visibility but that we simply aren't listening\n        closely enough to the code in the first place. As Herb Sutter shows us in\n        <a href=\"http://www.gotw.ca/gotw/076.htm\" target=\"_top\">Uses and Abuses of Access Rights</a>,\n        the \"Liar\", the \"Pickpocket\", the \"Cheat\" and\n        the \"Language Lawyer\" can all find ways to subvert the access protections\n        afforded to a class.\n      </p>\n<p>\n        When we are tempted to test non-public methods of a class, it's because we\n        feel that there is sufficient complexity in these non-public methods to warrant\n        testing them. What if that complexity is trying to tell us something? If\n        our class is so complex, isn't it possible that it's violating the <a href=\"http://en.wikipedia.org/wiki/Single_responsibility_principle\" target=\"_top\">Single\n        Responsibility Principle</a>? Maybe the class is trying to encompass\n        several responsibilities and should be decomposed into two or more classes,\n        each with a single responsibility. We could perform the <a href=\"http://www.refactoring.com/catalog/extractClass.html\" target=\"_top\">Extract\n        Class</a> refactoring to create two classes with appropriate public interfaces\n        and then write tests against those new public interfaces.\n      </p>\n<p>\n        Another choice is to refactor the original class using the <a href=\"http://en.wikipedia.org/wiki/Opaque_pointer\" target=\"_top\">\"pimpl\n        idiom\"</a>, elevate the visibility to public of all the methods\n        on the implementation class and write tests against the implementation class.\n        This has the same downsides as the derive-and-elevate approach and we're\n        still ignoring the whispers of the code.\n      </p>\n<p>\n        When your code is hard to test, your code is telling you something. Listen\n        to the code!\n      </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing__main_.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"manually_registering_test_cases_and_suites.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/guide.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>User's Guide</title>\n<link rel=\"stylesheet\" href=\"../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"prev\" href=\"tutorials/running_selected_tests.html\" title=\"Running Selected Tests\">\n<link rel=\"next\" href=\"guide/compilation.html\" title=\"Compilation and Usage Variants\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"tutorials/running_selected_tests.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"guide/compilation.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h2 class=\"title\" style=\"clear: both\">\n<a name=\"test.guide\"></a><a class=\"link\" href=\"guide.html\" title=\"User's Guide\">User's Guide</a>\n</h2></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"guide/compilation.html\">Compilation and Usage Variants</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"guide/compilation/minimal_header.html\">Minimal Header</a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/compilation/_main_.html\"><code class=\"literal\">main</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/compilation/header_only.html\">Header Only</a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/compilation/static_library.html\">Static Library</a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/compilation/shared_library.html\">Shared Library</a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"guide/test_case_design.html\">Test Case Design and Maintenance</a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/acceptance_tests.html\">Acceptance Tests and Unit\n      Tests</a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/testing_file_io.html\">Testing File I/O</a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/mocking_collaborators.html\">Mocking Collaborators</a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/testing__main_.html\">Testing <code class=\"literal\">main</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/testing_protected_or_private_members.html\">Testing\n      Protected or Private Members</a></span></dt>\n<dt><span class=\"section\"><a href=\"guide/manually_registering_test_cases_and_suites.html\">Manually\n      Registering Test Cases and Suites</a></span></dt>\n</dl></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"tutorials/running_selected_tests.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"guide/compilation.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/how_to_read_this_documentation.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>How To Read This Documentation</title>\n<link rel=\"stylesheet\" href=\"../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"prev\" href=\"motivation.html\" title=\"Motivation\">\n<link rel=\"next\" href=\"tutorials.html\" title=\"Tutorials\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"motivation.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"tutorials.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h2 class=\"title\" style=\"clear: both\">\n<a name=\"test.how_to_read_this_documentation\"></a><a class=\"link\" href=\"how_to_read_this_documentation.html\" title=\"How To Read This Documentation\">How To Read This Documentation</a>\n</h2></div></div></div>\n<p>\n      This documentation provides material for both new users and advanced users.\n      If you are completely new to automated testing, you may wish to read Wikipedia's\n      article on <a href=\"http://en.wikipedia.org/wiki/Test-driven_development\" target=\"_top\">test-driven\n      development</a> and consult the online book <a href=\"http://xunitpatterns.com\" target=\"_top\">xUnit\n      Test Patterns</a>. The amount of information available on automated testing\n      has exploded in the past decade and these are only some suggested starting\n      points and not intended to be an exhaustive list.\n    </p>\n<p>\n      To get started quickly writing your first test, read the <a class=\"link\" href=\"tutorials.html\" title=\"Tutorials\">tutorial</a>\n      sections. For advice on designing and maintaining your tests, read the section\n      on <a class=\"link\" href=\"guide/test_case_design.html\" title=\"Test Case Design and Maintenance\">test case design</a>. For\n      advanced uses of the library, consult the <a class=\"link\" href=\"reference.html\" title=\"Reference\">reference</a>.\n    </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"motivation.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"tutorials.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/motivation.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Motivation</title>\n<link rel=\"stylesheet\" href=\"../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"prev\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"next\" href=\"how_to_read_this_documentation.html\" title=\"How To Read This Documentation\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"how_to_read_this_documentation.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h2 class=\"title\" style=\"clear: both\">\n<a name=\"test.motivation\"></a><a class=\"link\" href=\"motivation.html\" title=\"Motivation\">Motivation</a>\n</h2></div></div></div>\n<p>\n      Automated tests are an important part of verifying software. At the developer\n      level, automated tests provide confidence that changes made to the software\n      do not result in new defects. At the customer level, automated tests provide\n      confidence that new features meet expectations and existing features continue\n      to function unchanged.\n    </p>\n<p>\n      Boost.Test is a library that supports the automated testing of software, primarily\n      aimed at satisfying the needs of the developer.\n    </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"how_to_read_this_documentation.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___bitwise_equal_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_BITWISE_EQUAL</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"levels.html\" title=\"Assertion Levels\">\n<link rel=\"next\" href=\"_boost____level___close_.html\" title=\"BOOST_level_CLOSE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"levels.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___close_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___bitwise_equal_\"></a><a class=\"link\" href=\"_boost____level___bitwise_equal_.html\" title=\"BOOST_level_BITWISE_EQUAL\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_BITWISE_EQUAL</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BITWISE_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL(</code><em class=\"replaceable\"><code>lhs</code></em>,\n          <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> compares the two arguments\n          for bitwise equality and fails if they are not equal. This can be useful\n          when testing integral values that represent a logical or combination of\n          bit flags.\n        </p>\n<h6>\n<a name=\"test.reference.assertion._boost____level___bitwise_equal_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___bitwise_equal_.example\"></a></span><a class=\"link\" href=\"_boost____level___bitwise_equal_.html#test.reference.assertion._boost____level___bitwise_equal_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">enum</span> <span class=\"identifier\">bit_flags</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">source_file</span> <span class=\"special\">=</span> <span class=\"number\">1u</span><span class=\"special\">,</span>\n    <span class=\"identifier\">header_file</span> <span class=\"special\">=</span> <span class=\"number\">2u</span><span class=\"special\">,</span>\n    <span class=\"identifier\">build_file</span> <span class=\"special\">=</span> <span class=\"number\">4u</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_bitwise_equal</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_BITWISE_EQUAL</span><span class=\"special\">(</span>\n        <span class=\"identifier\">source_file</span> <span class=\"special\">|</span> <span class=\"identifier\">build_file</span><span class=\"special\">,</span>\n        <span class=\"identifier\">build_file</span> <span class=\"special\">|</span> <span class=\"identifier\">source_file</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"levels.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___close_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___close_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_CLOSE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___bitwise_equal_.html\" title=\"BOOST_level_BITWISE_EQUAL\">\n<link rel=\"next\" href=\"_boost____level___close_fraction_.html\" title=\"BOOST_level_CLOSE_FRACTION\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___bitwise_equal_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___close_fraction_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___close_\"></a><a class=\"link\" href=\"_boost____level___close_.html\" title=\"BOOST_level_CLOSE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE(</code><em class=\"replaceable\"><code>lhs</code></em>,\n          <em class=\"replaceable\"><code>rhs</code></em>, <em class=\"replaceable\"><code>tolerance</code></em><code class=\"literal\">)</code>\n          compares the two floating-point arguments and considers them equal if they\n          agree within the given <em class=\"replaceable\"><code>tolerance</code></em>. The <em class=\"replaceable\"><code>tolerance</code></em>\n          is given as a percentage.\n        </p>\n<h6>\n<a name=\"test.reference.assertion._boost____level___close_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___close_.example\"></a></span><a class=\"link\" href=\"_boost____level___close_.html#test.reference.assertion._boost____level___close_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_close</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_CLOSE</span><span class=\"special\">(</span><span class=\"number\">100.f</span><span class=\"special\">,</span> <span class=\"number\">100.9f</span><span class=\"special\">,</span> <span class=\"number\">1.f</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_CLOSE</span><span class=\"special\">(</span><span class=\"number\">100.f</span><span class=\"special\">,</span> <span class=\"number\">99.1f</span><span class=\"special\">,</span> <span class=\"number\">1.f</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___bitwise_equal_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___close_fraction_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___close_fraction_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_CLOSE_FRACTION</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___close_.html\" title=\"BOOST_level_CLOSE\">\n<link rel=\"next\" href=\"boost_level_equal.html\" title=\"BOOST_level_EQUAL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___close_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_equal.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___close_fraction_\"></a><a class=\"link\" href=\"_boost____level___close_fraction_.html\" title=\"BOOST_level_CLOSE_FRACTION\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE_FRACTION</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE_FRACTION(</code><em class=\"replaceable\"><code>lhs</code></em>,\n          <em class=\"replaceable\"><code>rhs</code></em>, <em class=\"replaceable\"><code>tolerance</code></em><code class=\"literal\">)</code>\n          compares the two floating-point arguments and considers them equal if they\n          agree within the given <em class=\"replaceable\"><code>tolerance</code></em>. The <em class=\"replaceable\"><code>tolerance</code></em>\n          is given as a percentage.\n        </p>\n<h6>\n<a name=\"test.reference.assertion._boost____level___close_fraction_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___close_fraction_.example\"></a></span><a class=\"link\" href=\"_boost____level___close_fraction_.html#test.reference.assertion._boost____level___close_fraction_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_close_fraction</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_CLOSE_FRACTION</span><span class=\"special\">(</span><span class=\"number\">100.f</span><span class=\"special\">,</span> <span class=\"number\">100.9f</span><span class=\"special\">,</span> <span class=\"number\">1.f</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_CLOSE_FRACTION</span><span class=\"special\">(</span><span class=\"number\">100.f</span><span class=\"special\">,</span> <span class=\"number\">99.1f</span><span class=\"special\">,</span> <span class=\"number\">1.f</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___close_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_equal.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___equal_collections_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_EQUAL_COLLECTIONS</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_level_equal.html\" title=\"BOOST_level_EQUAL\">\n<link rel=\"next\" href=\"boost_level_exception.html\" title=\"BOOST_level_EXCEPTION\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_equal.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_exception.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___equal_collections_\"></a><a class=\"link\" href=\"_boost____level___equal_collections_.html\" title=\"BOOST_level_EQUAL_COLLECTIONS\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL_COLLECTIONS</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL_COLLECTIONS(</code><em class=\"replaceable\"><code>lhs_begin</code></em>,\n          <em class=\"replaceable\"><code>lhs_end</code></em>, <em class=\"replaceable\"><code>rhs_begin</code></em>,\n          <em class=\"replaceable\"><code>rhs_end</code></em><code class=\"literal\">)</code> compares two collections\n          for equality. Two collections are considered equal if they have the same\n          number of elements and the elements compare equal by <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code>. The elements are obtained through the\n          supplied iterators on the collections. The diagnostic message is constructed\n          from applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n          to each of the elements in the collections.\n        </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            If you get a strange compile error when using <code class=\"literal\">BOOST_EQUAL_COLLECTIONS</code>,\n            check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the element type\n            in the collection. If you define these operators in your test code, keep\n            in mind argument-dependent lookup of types based on enclosing namespaces\n            and the namespaces opened by test suites. The need to define <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n            can be eliminated by using <a class=\"link\" href=\"boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>.\n          </p></td></tr>\n</table></div>\n<h6>\n<a name=\"test.reference.assertion._boost____level___equal_collections_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___equal_collections_.example\"></a></span><a class=\"link\" href=\"_boost____level___equal_collections_.html#test.reference.assertion._boost____level___equal_collections_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">list</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span><span class=\"special\">&gt;</span> <span class=\"identifier\">generate_list</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">list</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span><span class=\"special\">&gt;</span> <span class=\"identifier\">l</span><span class=\"special\">;</span>\n    <span class=\"identifier\">l</span><span class=\"special\">.</span><span class=\"identifier\">push_front</span><span class=\"special\">(</span><span class=\"number\">3</span><span class=\"special\">);</span>\n    <span class=\"identifier\">l</span><span class=\"special\">.</span><span class=\"identifier\">push_front</span><span class=\"special\">(</span><span class=\"number\">2</span><span class=\"special\">);</span>\n    <span class=\"identifier\">l</span><span class=\"special\">.</span><span class=\"identifier\">push_front</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">);</span>\n\n    <span class=\"keyword\">return</span> <span class=\"identifier\">l</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_equal_collections</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span><span class=\"special\">&gt;</span> <span class=\"identifier\">expected</span><span class=\"special\">;</span>\n    <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">);</span>\n    <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"number\">2</span><span class=\"special\">);</span>\n    <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"number\">3</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">list</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span><span class=\"special\">&gt;</span> <span class=\"identifier\">actual</span> <span class=\"special\">=</span> <span class=\"identifier\">generate_list</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span>\n        <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span>\n        <span class=\"identifier\">actual</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">actual</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_equal_collections_pod</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">expected</span><span class=\"special\">[]</span> <span class=\"special\">=</span> <span class=\"special\">{</span> <span class=\"number\">1</span><span class=\"special\">,</span> <span class=\"number\">2</span><span class=\"special\">,</span> <span class=\"number\">3</span> <span class=\"special\">};</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">list</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span><span class=\"special\">&gt;</span> <span class=\"identifier\">actual</span> <span class=\"special\">=</span> <span class=\"identifier\">generate_list</span><span class=\"special\">();</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span>\n        <span class=\"special\">&amp;</span><span class=\"identifier\">expected</span><span class=\"special\">[</span><span class=\"number\">0</span><span class=\"special\">],</span> <span class=\"special\">&amp;</span><span class=\"identifier\">expected</span><span class=\"special\">[</span><span class=\"keyword\">sizeof</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">)/</span><span class=\"keyword\">sizeof</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">[</span><span class=\"number\">0</span><span class=\"special\">])],</span>\n        <span class=\"identifier\">actual</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">actual</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_equal.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_exception.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___exception_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_EXCEPTION</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___equal_collections_.html\" title=\"BOOST_level_EQUAL_COLLECTIONS\">\n<link rel=\"next\" href=\"boost_fail.html\" title=\"BOOST_FAIL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___exception_\"></a><a class=\"link\" href=\"_boost____level___exception_.html\" title=\"BOOST_level_EXCEPTION\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION(</code><em class=\"replaceable\"><code>statement</code></em>,\n          <em class=\"replaceable\"><code>exception</code></em>, <em class=\"replaceable\"><code>predicate</code></em><code class=\"literal\">)</code>\n          asserts that when <em class=\"replaceable\"><code>statement</code></em> throws an exception\n          of type <em class=\"replaceable\"><code>exception</code></em>, the <em class=\"replaceable\"><code>predicate</code></em>\n          applied to the instance of the exception returns <code class=\"literal\">true</code>.\n          This is used to verify not only that an exception of the correct type was\n          thrown, but that the contents of the thrown exception meet the expectations\n          of the predicate.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">error_number_exception</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">error_number_exception</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">num</span><span class=\"special\">)</span>\n        <span class=\"special\">:</span> <span class=\"identifier\">num_</span><span class=\"special\">(</span><span class=\"identifier\">num</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span> <span class=\"special\">}</span>\n\n    <span class=\"keyword\">int</span> <span class=\"identifier\">error_number</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">num_</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n\n<span class=\"keyword\">private</span><span class=\"special\">:</span>\n    <span class=\"keyword\">int</span> <span class=\"identifier\">num_</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"keyword\">static</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_error_number_1</span><span class=\"special\">(</span><span class=\"identifier\">error_number_exception</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">ex</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">ex</span><span class=\"special\">.</span><span class=\"identifier\">error_number</span><span class=\"special\">()</span> <span class=\"special\">==</span> <span class=\"number\">1</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_exception</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EXCEPTION</span><span class=\"special\">(</span><span class=\"keyword\">throw</span> <span class=\"identifier\">error_number_exception</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">),</span> <span class=\"identifier\">error_number_exception</span><span class=\"special\">,</span> <span class=\"identifier\">has_error_number_1</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___ge_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_GE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_fail.html\" title=\"BOOST_FAIL\">\n<link rel=\"next\" href=\"_boost____level___gt_.html\" title=\"BOOST_level_GT\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___gt_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___ge_\"></a><a class=\"link\" href=\"_boost____level___ge_.html\" title=\"BOOST_level_GE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE(</code><em class=\"replaceable\"><code>lhs</code></em>,\n          <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n          is greater than or equal to <em class=\"replaceable\"><code>rhs</code></em>. The comparison\n          is made by applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&gt;=</span></code> to both arguments. The diagnostic\n          message is constructed from applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> to the two arguments.\n        </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE</code>,\n            check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&gt;=</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n            If you define these operators in your test code, keep in mind argument-dependent\n            lookup of types based on enclosing namespaces and the namespaces opened\n            by test suites. The need to define <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> can be eliminated by using <a class=\"link\" href=\"boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>.\n          </p></td></tr>\n</table></div>\n<h6>\n<a name=\"test.reference.assertion._boost____level___ge_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___ge_.example\"></a></span><a class=\"link\" href=\"_boost____level___ge_.html#test.reference.assertion._boost____level___ge_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_ge</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">1u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">10</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">A</span> <span class=\"special\">=</span> <span class=\"char\">'A'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator&gt;= and operator&lt;&lt;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"number\">2u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"number\">1u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(-</span><span class=\"number\">9</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(-</span><span class=\"number\">10</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"char\">'B'</span><span class=\"special\">,</span> <span class=\"identifier\">A</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"char\">'A'</span><span class=\"special\">,</span> <span class=\"identifier\">A</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"string\">\"scoobz\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"string\">\"scooby\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___gt_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___gt_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_GT</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___ge_.html\" title=\"BOOST_level_GE\">\n<link rel=\"next\" href=\"_boost____level___le_.html\" title=\"BOOST_level_LE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ge_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___le_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___gt_\"></a><a class=\"link\" href=\"_boost____level___gt_.html\" title=\"BOOST_level_GT\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT(</code><em class=\"replaceable\"><code>lhs</code></em>,\n          <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n          is greater than <em class=\"replaceable\"><code>rhs</code></em>. The comparison is made\n          by applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&gt;</span></code>\n          to both arguments. The diagnostic message is constructed from applying\n          <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n          to the two arguments.\n        </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT</code>,\n            check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&gt;</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n            If you define these operators in your test code, keep in mind argument-dependent\n            lookup of types based on enclosing namespaces and the namespaces opened\n            by test suites. The need to define <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> can be eliminated by using <a class=\"link\" href=\"boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>.\n          </p></td></tr>\n</table></div>\n<h6>\n<a name=\"test.reference.assertion._boost____level___gt_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___gt_.example\"></a></span><a class=\"link\" href=\"_boost____level___gt_.html#test.reference.assertion._boost____level___gt_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_gt</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">1u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">10</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">A</span> <span class=\"special\">=</span> <span class=\"char\">'A'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator&gt; and operator==</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_GT</span><span class=\"special\">(</span><span class=\"number\">2u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GT</span><span class=\"special\">(-</span><span class=\"number\">9</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GT</span><span class=\"special\">(</span><span class=\"char\">'B'</span><span class=\"special\">,</span> <span class=\"identifier\">A</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GT</span><span class=\"special\">(</span><span class=\"string\">\"scoobz\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ge_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___le_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___le_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_LE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___gt_.html\" title=\"BOOST_level_GT\">\n<link rel=\"next\" href=\"_boost____level___lt_.html\" title=\"BOOST_level_LT\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___gt_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___le_\"></a><a class=\"link\" href=\"_boost____level___le_.html\" title=\"BOOST_level_LE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE(</code><em class=\"replaceable\"><code>lhs</code></em>,\n          <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n          is less than or equal to <em class=\"replaceable\"><code>rhs</code></em>. The comparison\n          is made by applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;=</span></code> to both arguments. The diagnostic\n          message is constructed from applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> to the two arguments.\n        </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE</code>,\n            check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;=</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n            If you define these operators in your test code, keep in mind argument-dependent\n            lookup of types based on enclosing namespaces and the namespaces opened\n            by test suites. The need to define <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> can be eliminated by using <a class=\"link\" href=\"boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>.\n          </p></td></tr>\n</table></div>\n<h6>\n<a name=\"test.reference.assertion._boost____level___le_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___le_.example\"></a></span><a class=\"link\" href=\"_boost____level___le_.html#test.reference.assertion._boost____level___le_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_le</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">10u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">10</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">M</span> <span class=\"special\">=</span> <span class=\"char\">'M'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator&gt;= and operator&lt;&lt;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"number\">9u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"number\">10u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(-</span><span class=\"number\">11</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(-</span><span class=\"number\">10</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"char\">'L'</span><span class=\"special\">,</span> <span class=\"identifier\">M</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"char\">'M'</span><span class=\"special\">,</span> <span class=\"identifier\">M</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"string\">\"scoobx\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"string\">\"scooby\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___gt_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___lt_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_LT</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___le_.html\" title=\"BOOST_level_LE\">\n<link rel=\"next\" href=\"boost_level_message.html\" title=\"BOOST_level_MESSAGE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___le_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_message.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___lt_\"></a><a class=\"link\" href=\"_boost____level___lt_.html\" title=\"BOOST_level_LT\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT(</code><em class=\"replaceable\"><code>lhs</code></em>,\n          <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n          is less than <em class=\"replaceable\"><code>rhs</code></em>. The comparison is made by\n          applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;</span></code>\n          to both arguments. The diagnostic message is constructed from applying\n          <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n          to the two arguments.\n        </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT</code>,\n            check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n            If you define these operators in your test code, keep in mind argument-dependent\n            lookup of types based on enclosing namespaces and the namespaces opened\n            by test suites. The need to define <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> can be eliminated by using <a class=\"link\" href=\"boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>.\n          </p></td></tr>\n</table></div>\n<h6>\n<a name=\"test.reference.assertion._boost____level___lt_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___lt_.example\"></a></span><a class=\"link\" href=\"_boost____level___lt_.html#test.reference.assertion._boost____level___lt_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_lt</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">10u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">10</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">M</span> <span class=\"special\">=</span> <span class=\"char\">'M'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator&gt;= and operator&lt;&lt;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_LT</span><span class=\"special\">(</span><span class=\"number\">9u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LT</span><span class=\"special\">(-</span><span class=\"number\">11</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LT</span><span class=\"special\">(</span><span class=\"char\">'L'</span><span class=\"special\">,</span> <span class=\"identifier\">M</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LT</span><span class=\"special\">(</span><span class=\"string\">\"scoobx\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___le_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_message.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___message_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_MESSAGE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___lt_.html\" title=\"BOOST_level_LT\">\n<link rel=\"next\" href=\"_boost____level___ne_.html\" title=\"BOOST_level_NE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___message_\"></a><a class=\"link\" href=\"_boost____level___message_.html\" title=\"BOOST_level_MESSAGE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE(</code><em class=\"replaceable\"><code>predicate</code></em>,\n          <em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code> emits <em class=\"replaceable\"><code>message</code></em>\n          if the supplied <em class=\"replaceable\"><code>predicate</code></em> evaluates to false.\n          The <em class=\"replaceable\"><code>message</code></em> is applied to an output stream with\n          <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n          and the argument can contain additional applications of <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> for building up complex messages.\n          The predicate can return <code class=\"literal\">bool</code> or <a class=\"link\" href=\"../test_classes/predicate_result.html\" title=\"predicate_result\"><code class=\"literal\">predicate_result</code></a>.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"keyword\">int</span> <span class=\"identifier\">g_i</span><span class=\"special\">;</span>\n\n<span class=\"comment\">// simple predicate</span>\n<span class=\"keyword\">static</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">global_int_is_positive</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">g_i</span> <span class=\"special\">&gt;</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"comment\">// predicate that builds up detail message</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">test_tools</span><span class=\"special\">::</span><span class=\"identifier\">predicate_result</span> <span class=\"identifier\">global_int_equal</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">expected</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">if</span> <span class=\"special\">(</span><span class=\"identifier\">g_i</span> <span class=\"special\">==</span> <span class=\"identifier\">expected</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"keyword\">return</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">test_tools</span><span class=\"special\">::</span><span class=\"identifier\">predicate_result</span> <span class=\"identifier\">failed</span> <span class=\"special\">=</span> <span class=\"keyword\">false</span><span class=\"special\">;</span>\n    <span class=\"identifier\">failed</span><span class=\"special\">.</span><span class=\"identifier\">message</span><span class=\"special\">()</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"g_i != \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">expected</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"; actual: \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">g_i</span><span class=\"special\">;</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">failed</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_message</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">g_i</span> <span class=\"special\">=</span> <span class=\"number\">1</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_MESSAGE</span><span class=\"special\">(</span><span class=\"identifier\">global_int_is_positive</span><span class=\"special\">(),</span>\n        <span class=\"string\">\"g_i is not positive; actual: \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">g_i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_MESSAGE</span><span class=\"special\">(</span><span class=\"identifier\">global_int_equal</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">),</span> <span class=\"string\">\"\"</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___ne_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_NE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_level_message.html\" title=\"BOOST_level_MESSAGE\">\n<link rel=\"next\" href=\"boost_level_no_throw.html\" title=\"BOOST_level_NO_THROW\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_message.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_no_throw.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___ne_\"></a><a class=\"link\" href=\"_boost____level___ne_.html\" title=\"BOOST_level_NE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE(</code><em class=\"replaceable\"><code>lhs</code></em>,\n          <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n          is not equal to <em class=\"replaceable\"><code>rhs</code></em>. The comparison is made\n          by applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">!=</span></code>\n          to both arguments. The diagnostic message is constructed from applying\n          <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n          to the two arguments.\n        </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE</code>,\n            check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">!=</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n            If you define these operators in your test code, keep in mind argument-dependent\n            lookup of types based on enclosing namespaces and the namespaces opened\n            by test suites. The need to define <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> can be eliminated by using <a class=\"link\" href=\"boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>.\n          </p></td></tr>\n</table></div>\n<h6>\n<a name=\"test.reference.assertion._boost____level___ne_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___ne_.example\"></a></span><a class=\"link\" href=\"_boost____level___ne_.html#test.reference.assertion._boost____level___ne_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_ne</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">1u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">1</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">A</span> <span class=\"special\">=</span> <span class=\"char\">'A'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator!= and operator&lt;&lt;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_NE</span><span class=\"special\">(</span><span class=\"number\">2u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_NE</span><span class=\"special\">(-</span><span class=\"number\">2</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_NE</span><span class=\"special\">(</span><span class=\"char\">'B'</span><span class=\"special\">,</span> <span class=\"identifier\">A</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_NE</span><span class=\"special\">(</span><span class=\"string\">\"scoobz\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_message.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_no_throw.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___no_throw_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_NO_THROW</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___ne_.html\" title=\"BOOST_level_NE\">\n<link rel=\"next\" href=\"_boost____level___predicate_.html\" title=\"BOOST_level_PREDICATE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___no_throw_\"></a><a class=\"link\" href=\"_boost____level___no_throw_.html\" title=\"BOOST_level_NO_THROW\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW(</code><em class=\"replaceable\"><code>statement</code></em><code class=\"literal\">)</code>\n          asserts that <em class=\"replaceable\"><code>statement</code></em> does not throw an exception.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_no_throw</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_NO_THROW</span><span class=\"special\">(</span><span class=\"number\">1</span> <span class=\"special\">+</span> <span class=\"number\">1</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___predicate_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_PREDICATE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_level_no_throw.html\" title=\"BOOST_level_NO_THROW\">\n<link rel=\"next\" href=\"_boost____level___small_.html\" title=\"BOOST_level_SMALL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_no_throw.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___small_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___predicate_\"></a><a class=\"link\" href=\"_boost____level___predicate_.html\" title=\"BOOST_level_PREDICATE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_PREDICATE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_PREDICATE(</code><em class=\"replaceable\"><code>predicate</code></em>,\n          <em class=\"replaceable\"><code>args</code></em><code class=\"literal\">)</code> asserts that the supplied\n          <em class=\"replaceable\"><code>predicate</code></em> applied to <em class=\"replaceable\"><code>args</code></em>\n          evaluates to true. The supplied <em class=\"replaceable\"><code>predicate</code></em> must\n          have a return type of <code class=\"literal\">bool</code> and argument types that are\n          compatible with the argument list <em class=\"replaceable\"><code>args</code></em>. Because\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_PREDICATE</code>\n          is a macro, the <em class=\"replaceable\"><code>args</code></em> must be supplied as a sequence\n          of parenthesized values, with no comma separating the values.\n        </p>\n<h6>\n<a name=\"test.reference.assertion._boost____level___predicate_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___predicate_.example\"></a></span><a class=\"link\" href=\"_boost____level___predicate_.html#test.reference.assertion._boost____level___predicate_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">custom_string_compare</span><span class=\"special\">(</span><span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"keyword\">const</span> <span class=\"identifier\">expected</span><span class=\"special\">,</span> <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"keyword\">const</span> <span class=\"identifier\">actual</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">strcmp</span><span class=\"special\">(</span><span class=\"identifier\">expected</span><span class=\"special\">,</span> <span class=\"identifier\">actual</span><span class=\"special\">)</span> <span class=\"special\">==</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_predicate</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_PREDICATE</span><span class=\"special\">(</span><span class=\"identifier\">custom_string_compare</span><span class=\"special\">,</span> <span class=\"special\">(</span><span class=\"string\">\"scooby\"</span><span class=\"special\">)(</span><span class=\"identifier\">s</span><span class=\"special\">));</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_no_throw.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___small_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost____level___small_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_SMALL</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___predicate_.html\" title=\"BOOST_level_PREDICATE\">\n<link rel=\"next\" href=\"boost_level_throw.html\" title=\"BOOST_level_THROW\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost____level___small_\"></a><a class=\"link\" href=\"_boost____level___small_.html\" title=\"BOOST_level_SMALL\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_SMALL</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_SMALL(</code><em class=\"replaceable\"><code>value</code></em>,\n          <em class=\"replaceable\"><code>tolerance</code></em><code class=\"literal\">)</code> checks that the\n          <em class=\"replaceable\"><code>value</code></em> is within <em class=\"replaceable\"><code>tolerance</code></em>\n          of zero.\n        </p>\n<h6>\n<a name=\"test.reference.assertion._boost____level___small_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost____level___small_.example\"></a></span><a class=\"link\" href=\"_boost____level___small_.html#test.reference.assertion._boost____level___small_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_small</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">float</span> <span class=\"keyword\">const</span> <span class=\"identifier\">f</span> <span class=\"special\">=</span> <span class=\"number\">0.1f</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_SMALL</span><span class=\"special\">(</span><span class=\"identifier\">f</span><span class=\"special\">,</span> <span class=\"number\">0.25f</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost_test_dont_print_log_value_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_DONT_PRINT_LOG_VALUE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_level_throw.html\" title=\"BOOST_level_THROW\">\n<link rel=\"next\" href=\"../runner.html\" title=\"Test Runner\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost_test_dont_print_log_value_\"></a><a class=\"link\" href=\"_boost_test_dont_print_log_value_.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE(</code><em class=\"replaceable\"><code>type</code></em><code class=\"literal\">)</code>\n          instructs the test framework to ignore values of type <em class=\"replaceable\"><code>type</code></em>\n          when constructing diagnostic messages. It does this by defining an empty\n          implementation of a print function specialized for <em class=\"replaceable\"><code>type</code></em>.\n          Because the specialization is inside an implementation namespace for Boost.Test,\n          the macro must be invoked at the global namespace scope. Therefore, it\n          cannot be used inside a test suite or any other namespace.\n        </p>\n<h6>\n<a name=\"test.reference.assertion._boost_test_dont_print_log_value_.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion._boost_test_dont_print_log_value_.example\"></a></span><a class=\"link\" href=\"_boost_test_dont_print_log_value_.html#test.reference.assertion._boost_test_dont_print_log_value_.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">struct</span> <span class=\"identifier\">custom</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">int</span> <span class=\"identifier\">value</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_TEST_DONT_PRINT_LOG_VALUE</span><span class=\"special\">(</span><span class=\"identifier\">custom</span><span class=\"special\">);</span>\n\n<span class=\"keyword\">static</span> <span class=\"keyword\">bool</span> <span class=\"keyword\">operator</span><span class=\"special\">==(</span><span class=\"identifier\">custom</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">expected</span><span class=\"special\">,</span> <span class=\"identifier\">custom</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">actual</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">value</span> <span class=\"special\">==</span> <span class=\"identifier\">actual</span><span class=\"special\">.</span><span class=\"identifier\">value</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_test_dont_print_log_value</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">custom</span> <span class=\"keyword\">const</span> <span class=\"identifier\">v1</span> <span class=\"special\">=</span> <span class=\"special\">{</span> <span class=\"number\">1</span> <span class=\"special\">};</span>\n    <span class=\"identifier\">custom</span> <span class=\"keyword\">const</span> <span class=\"identifier\">v2</span> <span class=\"special\">=</span> <span class=\"special\">{</span> <span class=\"number\">1</span> <span class=\"special\">};</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"identifier\">v1</span><span class=\"special\">,</span> <span class=\"identifier\">v2</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost_test_error_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_ERROR</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_level_throw.html\" title=\"BOOST_level_THROW\">\n<link rel=\"next\" href=\"boost_fail.html\" title=\"BOOST_TEST_FAIL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost_test_error_\"></a><a class=\"link\" href=\"_boost_test_error_.html\" title=\"BOOST_TEST_ERROR\"><code class=\"literal\">BOOST_TEST_ERROR</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_TEST_ERROR(</code><em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code>\n          always fails and emits the given <em class=\"replaceable\"><code>message</code></em> at\n          the <code class=\"literal\">CHECK</code> assertion level.\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/_boost_test_is_defined_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_IS_DEFINED</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_fail.html\" title=\"BOOST_TEST_FAIL\">\n<link rel=\"next\" href=\"_boost_test_dont_print_log_value_.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_dont_print_log_value_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion._boost_test_is_defined_\"></a><a class=\"link\" href=\"_boost_test_is_defined_.html\" title=\"BOOST_TEST_IS_DEFINED\"><code class=\"literal\">BOOST_TEST_IS_DEFINED</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_TEST_IS_DEFINED(</code><em class=\"replaceable\"><code>symbol</code></em><code class=\"literal\">)</code>\n          asserts that <em class=\"replaceable\"><code>symbol</code></em> is a defined value.\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_dont_print_log_value_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/boost_fail.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_FAIL</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_level_exception.html\" title=\"BOOST_level_EXCEPTION\">\n<link rel=\"next\" href=\"_boost____level___ge_.html\" title=\"BOOST_level_GE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_exception.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ge_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion.boost_fail\"></a><a class=\"link\" href=\"boost_fail.html\" title=\"BOOST_FAIL\"><code class=\"literal\">BOOST_FAIL</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_FAIL(</code><em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code>\n          always fails and emits the given <em class=\"replaceable\"><code>message</code></em> at\n          the <code class=\"literal\">REQUIRE</code> assertion level. Other assertion macros\n          are generally preferred over <code class=\"literal\">BOOST_FAIL</code> because they\n          emit better diagnostics in the case of failure.\n        </p>\n<p>\n          There are two situations where you might be tempted to use <code class=\"literal\">BOOST_FAIL</code>:\n          testing the situations where the system under test will throw exceptions\n          or comparing against the values computed by the system under test. For\n          testing exception generation, use <a class=\"link\" href=\"boost_level_throw.html\" title=\"BOOST_level_THROW\"><code class=\"literal\">BOOST_REQUIRE_THROW</code></a>,\n          <a class=\"link\" href=\"boost_level_no_throw.html\" title=\"BOOST_level_NO_THROW\"><code class=\"literal\">BOOST_REQUIRE_NO_THROW</code></a>\n          or <a class=\"link\" href=\"boost_level_exception.html\" title=\"BOOST_level_EXCEPTION\"><code class=\"literal\">BOOST_REQUIRE_EXCEPTION</code></a>.\n          For testing against values computed by the system under test, use the comparing\n          assertions.\n        </p>\n<h6>\n<a name=\"test.reference.assertion.boost_fail.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion.boost_fail.example\"></a></span><a class=\"link\" href=\"boost_fail.html#test.reference.assertion.boost_fail.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_fail</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_FAIL</span><span class=\"special\">(</span><span class=\"string\">\"This should never happen.\"</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_exception.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ge_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/boost_level_equal.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_EQUAL</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___close_fraction_.html\" title=\"BOOST_level_CLOSE_FRACTION\">\n<link rel=\"next\" href=\"_boost____level___equal_collections_.html\" title=\"BOOST_level_EQUAL_COLLECTIONS\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___close_fraction_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion.boost_level_equal\"></a><a class=\"link\" href=\"boost_level_equal.html\" title=\"BOOST_level_EQUAL\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_EQUAL(</code><em class=\"replaceable\"><code>lhs</code></em>, <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code>\n          compares the two arguments with <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code>. The diagnostic message is constructed\n          with <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n          on the two arguments.\n        </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            If you get a strange compile error when using <code class=\"literal\">BOOST_EQUAL</code>,\n            check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n            If you define these operators in your test code, keep in mind argument-dependent\n            lookup of types based on enclosing namespaces and the namespaces opened\n            by test suites. The need to define <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> can be eliminated by using <a class=\"link\" href=\"boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>.\n          </p></td></tr>\n</table></div>\n<h6>\n<a name=\"test.reference.assertion.boost_level_equal.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion.boost_level_equal.examples\"></a></span><a class=\"link\" href=\"boost_level_equal.html#test.reference.assertion.boost_level_equal.examples\">Examples</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_equal</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">1u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">1</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">A</span> <span class=\"special\">=</span> <span class=\"char\">'A'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator== and operator&lt;&lt;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"number\">1u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(-</span><span class=\"number\">1</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"char\">'A'</span><span class=\"special\">,</span> <span class=\"identifier\">A</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"scooby\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// custom data structure</span>\n<span class=\"keyword\">struct</span> <span class=\"identifier\">symbol</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"keyword\">const</span> <span class=\"identifier\">name</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"identifier\">value</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"comment\">// custom comparison operator</span>\n<span class=\"keyword\">static</span> <span class=\"keyword\">bool</span> <span class=\"keyword\">operator</span><span class=\"special\">==(</span><span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">lhs</span><span class=\"special\">,</span> <span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">rhs</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">lhs</span><span class=\"special\">.</span><span class=\"identifier\">value</span> <span class=\"special\">==</span> <span class=\"identifier\">rhs</span><span class=\"special\">.</span><span class=\"identifier\">value</span>\n        <span class=\"special\">&amp;&amp;</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">(</span><span class=\"identifier\">lhs</span><span class=\"special\">.</span><span class=\"identifier\">name</span><span class=\"special\">)</span> <span class=\"special\">==</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">(</span><span class=\"identifier\">rhs</span><span class=\"special\">.</span><span class=\"identifier\">name</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n\n<span class=\"comment\">// custom stream insertion operator</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">stream</span><span class=\"special\">,</span> <span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">value</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">stream</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">value</span><span class=\"special\">.</span><span class=\"identifier\">name</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\": \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">value</span><span class=\"special\">.</span><span class=\"identifier\">value</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_equal_custom_compare</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s1</span> <span class=\"special\">=</span> <span class=\"special\">{</span> <span class=\"string\">\"var\"</span> <span class=\"special\">,</span> <span class=\"number\">1</span> <span class=\"special\">};</span>\n    <span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s2</span> <span class=\"special\">=</span> <span class=\"special\">{</span> <span class=\"string\">\"var\"</span><span class=\"special\">,</span> <span class=\"number\">1</span> <span class=\"special\">};</span>\n    <span class=\"comment\">// If the compiler doesn't collapse multiple constants, then:</span>\n    <span class=\"comment\">// s1.name != s2.name;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"identifier\">s1</span><span class=\"special\">,</span> <span class=\"identifier\">s2</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___close_fraction_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/boost_level_exception.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_EXCEPTION</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___equal_collections_.html\" title=\"BOOST_level_EQUAL_COLLECTIONS\">\n<link rel=\"next\" href=\"boost_fail.html\" title=\"BOOST_FAIL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion.boost_level_exception\"></a><a class=\"link\" href=\"boost_level_exception.html\" title=\"BOOST_level_EXCEPTION\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION(</code><em class=\"replaceable\"><code>expression</code></em>,\n          <em class=\"replaceable\"><code>exception</code></em>, <em class=\"replaceable\"><code>predicate</code></em><code class=\"literal\">)</code>\n          asserts that when <em class=\"replaceable\"><code>expression</code></em> throws an exception\n          of type <em class=\"replaceable\"><code>exception</code></em>, the <em class=\"replaceable\"><code>predicate</code></em>\n          applied to the instance of the exception returns <code class=\"literal\">true</code>.\n          This is used to verify not only that an exception of the correct type was\n          thrown, but that the contents of the thrown exception meet the expectations\n          of the predicate.\n        </p>\n<p>\n          The <em class=\"replaceable\"><code>predicate</code></em> can return <code class=\"literal\">bool</code>,\n          or <a class=\"link\" href=\"../test_classes/predicate_result.html\" title=\"predicate_result\"><code class=\"literal\">predicate_result</code></a>\n          which allows the predicate to build up a detailed failure message.\n        </p>\n<h6>\n<a name=\"test.reference.assertion.boost_level_exception.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion.boost_level_exception.example\"></a></span><a class=\"link\" href=\"boost_level_exception.html#test.reference.assertion.boost_level_exception.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">error_number_exception</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">error_number_exception</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">num</span><span class=\"special\">)</span>\n        <span class=\"special\">:</span> <span class=\"identifier\">num_</span><span class=\"special\">(</span><span class=\"identifier\">num</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span> <span class=\"special\">}</span>\n\n    <span class=\"keyword\">int</span> <span class=\"identifier\">error_number</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">num_</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n\n<span class=\"keyword\">private</span><span class=\"special\">:</span>\n    <span class=\"keyword\">int</span> <span class=\"identifier\">num_</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"keyword\">static</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">has_error_number_1</span><span class=\"special\">(</span><span class=\"identifier\">error_number_exception</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">ex</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">ex</span><span class=\"special\">.</span><span class=\"identifier\">error_number</span><span class=\"special\">()</span> <span class=\"special\">==</span> <span class=\"number\">1</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_exception</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EXCEPTION</span><span class=\"special\">(</span><span class=\"keyword\">throw</span> <span class=\"identifier\">error_number_exception</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">),</span>\n        <span class=\"identifier\">error_number_exception</span><span class=\"special\">,</span> <span class=\"identifier\">has_error_number_1</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fail.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/boost_level_message.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_MESSAGE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___lt_.html\" title=\"BOOST_level_LT\">\n<link rel=\"next\" href=\"_boost____level___ne_.html\" title=\"BOOST_level_NE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion.boost_level_message\"></a><a class=\"link\" href=\"boost_level_message.html\" title=\"BOOST_level_MESSAGE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE(</code><em class=\"replaceable\"><code>predicate</code></em>,\n          <em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code> emits <em class=\"replaceable\"><code>message</code></em>\n          if the supplied <em class=\"replaceable\"><code>predicate</code></em> evaluates to false.\n          The <em class=\"replaceable\"><code>message</code></em> is applied to an output stream with\n          <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n          and the argument can contain additional applications of <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> for building up complex messages.\n          The predicate can return <code class=\"literal\">bool</code> or <a class=\"link\" href=\"../test_classes/predicate_result.html\" title=\"predicate_result\"><code class=\"literal\">predicate_result</code></a>.\n        </p>\n<h6>\n<a name=\"test.reference.assertion.boost_level_message.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion.boost_level_message.example\"></a></span><a class=\"link\" href=\"boost_level_message.html#test.reference.assertion.boost_level_message.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"keyword\">int</span> <span class=\"identifier\">g_i</span><span class=\"special\">;</span>\n\n<span class=\"comment\">// simple predicate</span>\n<span class=\"keyword\">static</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">global_int_is_positive</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">g_i</span> <span class=\"special\">&gt;</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"comment\">// predicate that builds up detail message</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">test_tools</span><span class=\"special\">::</span><span class=\"identifier\">predicate_result</span> <span class=\"identifier\">global_int_equal</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">expected</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">if</span> <span class=\"special\">(</span><span class=\"identifier\">g_i</span> <span class=\"special\">==</span> <span class=\"identifier\">expected</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"keyword\">return</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">test_tools</span><span class=\"special\">::</span><span class=\"identifier\">predicate_result</span> <span class=\"identifier\">failed</span> <span class=\"special\">=</span> <span class=\"keyword\">false</span><span class=\"special\">;</span>\n    <span class=\"identifier\">failed</span><span class=\"special\">.</span><span class=\"identifier\">message</span><span class=\"special\">()</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"g_i != \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">expected</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"; actual: \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">g_i</span><span class=\"special\">;</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">failed</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_message</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">g_i</span> <span class=\"special\">=</span> <span class=\"number\">1</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_MESSAGE</span><span class=\"special\">(</span><span class=\"identifier\">global_int_is_positive</span><span class=\"special\">(),</span>\n        <span class=\"string\">\"g_i is not positive; actual: \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">g_i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_MESSAGE</span><span class=\"special\">(</span><span class=\"identifier\">global_int_equal</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">),</span> <span class=\"string\">\"g_i equals 1\"</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/boost_level_no_throw.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_NO_THROW</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___ne_.html\" title=\"BOOST_level_NE\">\n<link rel=\"next\" href=\"_boost____level___predicate_.html\" title=\"BOOST_level_PREDICATE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion.boost_level_no_throw\"></a><a class=\"link\" href=\"boost_level_no_throw.html\" title=\"BOOST_level_NO_THROW\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW(</code><em class=\"replaceable\"><code>expression</code></em><code class=\"literal\">)</code>\n          asserts that <em class=\"replaceable\"><code>expression</code></em> does not throw an exception.\n        </p>\n<h6>\n<a name=\"test.reference.assertion.boost_level_no_throw.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion.boost_level_no_throw.example\"></a></span><a class=\"link\" href=\"boost_level_no_throw.html#test.reference.assertion.boost_level_no_throw.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_no_throw</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_NO_THROW</span><span class=\"special\">(</span><span class=\"number\">1</span> <span class=\"special\">+</span> <span class=\"number\">1</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/boost_level_throw.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_THROW</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___small_.html\" title=\"BOOST_level_SMALL\">\n<link rel=\"next\" href=\"boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___small_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_dont_print_log_value.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion.boost_level_throw\"></a><a class=\"link\" href=\"boost_level_throw.html\" title=\"BOOST_level_THROW\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_THROW</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_THROW(</code><em class=\"replaceable\"><code>expression</code></em>,\n          <em class=\"replaceable\"><code>exception</code></em><code class=\"literal\">)</code> asserts that\n          <em class=\"replaceable\"><code>expression</code></em> throws an exception of type <em class=\"replaceable\"><code>exception</code></em>\n          or a type derived from <em class=\"replaceable\"><code>exception</code></em>.\n        </p>\n<h6>\n<a name=\"test.reference.assertion.boost_level_throw.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion.boost_level_throw.example\"></a></span><a class=\"link\" href=\"boost_level_throw.html#test.reference.assertion.boost_level_throw.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"keyword\">void</span> <span class=\"identifier\">always_throws</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">throw</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">(</span><span class=\"string\">\"whoops\"</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_throw</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_THROW</span><span class=\"special\">(</span><span class=\"identifier\">always_throws</span><span class=\"special\">(),</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___small_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_dont_print_log_value.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/boost_test_dont_print_log_value.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_DONT_PRINT_LOG_VALUE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_level_throw.html\" title=\"BOOST_level_THROW\">\n<link rel=\"next\" href=\"../runner.html\" title=\"Test Runner\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion.boost_test_dont_print_log_value\"></a><a class=\"link\" href=\"boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE(</code><em class=\"replaceable\"><code>type</code></em><code class=\"literal\">)</code>\n          instructs the test framework to ignore values of type <em class=\"replaceable\"><code>type</code></em>\n          when constructing diagnostic messages. It does this by defining an empty\n          implementation of a print function specialized for <em class=\"replaceable\"><code>type</code></em>.\n          Because the specialization is inside an implementation namespace for Boost.Test,\n          the macro must be invoked at the global namespace scope. Therefore, it\n          cannot be used inside a test suite or any other namespace.\n        </p>\n<h6>\n<a name=\"test.reference.assertion.boost_test_dont_print_log_value.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.assertion.boost_test_dont_print_log_value.example\"></a></span><a class=\"link\" href=\"boost_test_dont_print_log_value.html#test.reference.assertion.boost_test_dont_print_log_value.example\">Example</a>\n        </h6>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">struct</span> <span class=\"identifier\">custom</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">int</span> <span class=\"identifier\">value</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_TEST_DONT_PRINT_LOG_VALUE</span><span class=\"special\">(</span><span class=\"identifier\">custom</span><span class=\"special\">);</span>\n\n<span class=\"keyword\">static</span> <span class=\"keyword\">bool</span> <span class=\"keyword\">operator</span><span class=\"special\">==(</span><span class=\"identifier\">custom</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">expected</span><span class=\"special\">,</span> <span class=\"identifier\">custom</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">actual</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">expected</span><span class=\"special\">.</span><span class=\"identifier\">value</span> <span class=\"special\">==</span> <span class=\"identifier\">actual</span><span class=\"special\">.</span><span class=\"identifier\">value</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_test_dont_print_log_value</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">custom</span> <span class=\"keyword\">const</span> <span class=\"identifier\">v1</span> <span class=\"special\">=</span> <span class=\"special\">{</span> <span class=\"number\">1</span> <span class=\"special\">};</span>\n    <span class=\"identifier\">custom</span> <span class=\"keyword\">const</span> <span class=\"identifier\">v2</span> <span class=\"special\">=</span> <span class=\"special\">{</span> <span class=\"number\">1</span> <span class=\"special\">};</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"identifier\">v1</span><span class=\"special\">,</span> <span class=\"identifier\">v2</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion/levels.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Assertion Levels</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"next\" href=\"_boost____level___bitwise_equal_.html\" title=\"BOOST_level_BITWISE_EQUAL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___bitwise_equal_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.assertion.levels\"></a><a class=\"link\" href=\"levels.html\" title=\"Assertion Levels\">Assertion Levels</a>\n</h4></div></div></div>\n<p>\n          When using the library or header-only version of Boost.Test, many assertion\n          macros are provided in three levels that determine the behavior when the\n          assertion fails and how a failed assertion interacts with the test runner.\n        </p>\n<div class=\"table\">\n<a name=\"test.reference.assertion.levels.assertion_levels\"></a><p class=\"title\"><b>Table&#160;1.2.&#160;Assertion Levels</b></p>\n<div class=\"table-contents\"><table class=\"table\" summary=\"Assertion Levels\">\n<colgroup>\n<col>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                  <p>\n                    Level\n                  </p>\n                </th>\n<th>\n                  <p>\n                    Test Case Fails?\n                  </p>\n                </th>\n<th>\n                  <p>\n                    Aborts Execution?\n                  </p>\n                </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">WARN</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    No\n                  </p>\n                </td>\n<td>\n                  <p>\n                    No\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">CHECK</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Yes\n                  </p>\n                </td>\n<td>\n                  <p>\n                    no\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">REQUIRE</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Yes\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Yes\n                  </p>\n                </td>\n</tr>\n</tbody>\n</table></div>\n</div>\n<br class=\"table-break\"><p>\n          The <code class=\"literal\">WARN</code> level issues a diagnostic message, but the\n          test case is not considered to have failed and continues executing. The\n          <code class=\"literal\">CHECK</code> level issues a message to the test log on failure,\n          marks the test case as failed and continues executing. The <code class=\"literal\">REQUIRE</code>\n          level issues a message to the test log on failure, marks the test case\n          as failed and halts execution of the test case.\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___bitwise_equal_.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/assertion.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Assertions</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../reference.html\" title=\"Reference\">\n<link rel=\"prev\" href=\"test_classes/unit_test_main.html\" title=\"unit_test_main\">\n<link rel=\"next\" href=\"assertion/levels.html\" title=\"Assertion Levels\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_classes/unit_test_main.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"assertion/levels.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.reference.assertion\"></a><a class=\"link\" href=\"assertion.html\" title=\"Test Assertions\">Test Assertions</a>\n</h3></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"assertion/levels.html\">Assertion Levels</a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___bitwise_equal_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_BITWISE_EQUAL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___close_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___close_fraction_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE_FRACTION</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_level_equal.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___equal_collections_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL_COLLECTIONS</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_level_exception.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_fail.html\"><code class=\"literal\">BOOST_FAIL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___ge_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___gt_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___le_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___lt_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_level_message.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___ne_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_level_no_throw.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___predicate_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_PREDICATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___small_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_SMALL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_level_throw.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_THROW</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_test_dont_print_log_value.html\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a></span></dt>\n</dl></div>\n<p>\n        Assertions are used to validate the result of exercising the system under\n        test. When an assertion fails, a diagnostic message is created and the failed\n        assertion is recorded. Different assertion levels allow you to control how\n        a failed assertion is interpreted by the test runner.\n      </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n          When an assertion involves a user-defined datatype, a stream insertion\n          operator (<code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>)\n          must be defined for the user-defined datatype, or the assertion will fail\n          to compile. Asserting a comparison operation on a value of a user-defined\n          type will require the appropriate comparison operator (<code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;</span></code>, <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code>, etc.) be defiend for the type or the\n          assertion will fail to compile. The need to define <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> can be eliminated by using <a class=\"link\" href=\"assertion/boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>.\n        </p></td></tr>\n</table></div>\n<p>\n        The <a class=\"link\" href=\"../guide/compilation/minimal_header.html\" title=\"Minimal Header\">minimal header</a>\n        test framework does not provide the facilities described here.\n      </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_classes/unit_test_main.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"assertion/levels.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/configuration_macros.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Configuration Macros</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../reference.html\" title=\"Reference\">\n<link rel=\"prev\" href=\"../reference.html\" title=\"Reference\">\n<link rel=\"next\" href=\"test_case.html\" title=\"Test Cases\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_case.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.reference.configuration_macros\"></a><a class=\"link\" href=\"configuration_macros.html\" title=\"Configuration Macros\">Configuration Macros</a>\n</h3></div></div></div>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                <p>\n                  Macro\n                </p>\n              </th>\n<th>\n                <p>\n                  Meaning\n                </p>\n              </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                <p>\n                  <a name=\"test.reference.compilation.boost_test_alternative_init_api\"></a><code class=\"literal\">BOOST_TEST_ALTERNATIVE_INIT_API</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  When defined, the alternative <a class=\"link\" href=\"test_classes/init_unit_test_func.html\" title=\"init_unit_test_func\"><code class=\"literal\">init_unit_test_func</code></a>\n                  test module initialization API is used.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <a name=\"test.reference.compilation.boost_test_dyn_link\"></a><code class=\"literal\">BOOST_TEST_DYN_LINK</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  When defined, the implementation is compiled as a shared library.\n                  Defining <code class=\"literal\">BOOST_TEST_DYN_LINK</code> also defines <code class=\"literal\">BOOST_TEST_ALTERNATIVE_INIT_API</code>.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <a name=\"test.reference.compilation.boost_test_main\"></a><code class=\"literal\">BOOST_TEST_MAIN</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  When defined, an implementation of main is included in the source\n                  file.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <a name=\"test.reference.compilation.boost_test_module\"></a><code class=\"literal\">BOOST_TEST_MODULE</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  When defined, it provides the name of the master test suite, otherwise\n                  a default name is used.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <a name=\"test.reference.compilation.boost_test_no_lib\"></a><code class=\"literal\">BOOST_TEST_NO_LIB</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  When defined, no automatic linking is performed.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <a name=\"test.reference.compilation.boost_test_no_main\"></a><code class=\"literal\">BOOST_TEST_NO_MAIN</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  When defined, no implementation of main is provided in any configuration.\n                  Static and shared libraries must have been built with this symbol\n                  defined for it to take effect when using the library. The test\n                  executable must provide its own implementation of <code class=\"literal\">main</code>;\n                  <a class=\"link\" href=\"test_classes/unit_test_main.html\" title=\"unit_test_main\"><code class=\"literal\">unit_test_main</code></a>\n                  may be used for this purpose.\n                </p>\n              </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n        When using any of these macros, they must be defined before including any\n        header from Boost.Test.\n      </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_case.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/headers.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Header Files</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../reference.html\" title=\"Reference\">\n<link rel=\"prev\" href=\"runner/output/_boost_test_passpoint_.html\" title=\"BOOST_TEST_PASSPOINT\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"runner/output/_boost_test_passpoint_.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.reference.headers\"></a><a class=\"link\" href=\"headers.html\" title=\"Header Files\">Header Files</a>\n</h3></div></div></div>\n<p>\n        <code class=\"computeroutput\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">debug</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span></code>\n      </p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">bool</span> <span class=\"identifier\">under_debugger</span><span class=\"special\">();</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">debugger_break</span><span class=\"special\">();</span>\n\n<span class=\"keyword\">struct</span> <span class=\"identifier\">dbg_startup_info</span> <span class=\"special\">{</span>\n    <span class=\"keyword\">long</span>                    <span class=\"identifier\">pid</span><span class=\"special\">;</span>\n    <span class=\"keyword\">bool</span>                    <span class=\"identifier\">break_or_continue</span><span class=\"special\">;</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">binary_path</span><span class=\"special\">;</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">display</span><span class=\"special\">;</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">init_done_lock</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"keyword\">typedef</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">function</span><span class=\"special\">&lt;</span><span class=\"keyword\">void</span> <span class=\"special\">(</span><span class=\"identifier\">dbg_startup_info</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;)&gt;</span> <span class=\"identifier\">dbg_starter</span><span class=\"special\">;</span>\n\n<span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">set_debugger</span><span class=\"special\">(</span> <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">dbg_id</span><span class=\"special\">,</span> <span class=\"identifier\">dbg_starter</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"identifier\">dbg_starter</span><span class=\"special\">()</span> <span class=\"special\">);</span>\n\n<span class=\"keyword\">bool</span> <span class=\"identifier\">attach_debugger</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">break_or_continue</span> <span class=\"special\">=</span> <span class=\"keyword\">true</span> <span class=\"special\">);</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">detect_memory_leaks</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">on_off</span><span class=\"special\">,</span> <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">report_file</span> <span class=\"special\">=</span> <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span><span class=\"special\">()</span> <span class=\"special\">);</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">break_memory_alloc</span><span class=\"special\">(</span> <span class=\"keyword\">long</span> <span class=\"identifier\">mem_alloc_order_num</span> <span class=\"special\">);</span>\n\n<span class=\"special\">}}</span> <span class=\"comment\">// boost::test</span>\n</pre>\n<p>\n        <code class=\"computeroutput\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">debug_config</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span></code>\n      </p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_TEST_DBG_LIST</span>\n\n<span class=\"identifier\">BOOST_TEST_STAT_LINE_MAX</span>\n</pre>\n<p>\n        <code class=\"computeroutput\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">execution_monitor</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span></code>\n      </p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">execution_exception</span> <span class=\"special\">{</span>\n    <span class=\"keyword\">typedef</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">const_string</span><span class=\"special\">;</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"identifier\">error_code</span> <span class=\"special\">{</span>\n        <span class=\"identifier\">no_error</span>               <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span>\n        <span class=\"identifier\">user_error</span>             <span class=\"special\">=</span> <span class=\"number\">200</span><span class=\"special\">,</span>\n        <span class=\"identifier\">cpp_exception_error</span>    <span class=\"special\">=</span> <span class=\"number\">205</span><span class=\"special\">,</span>\n        <span class=\"identifier\">system_error</span>           <span class=\"special\">=</span> <span class=\"number\">210</span><span class=\"special\">,</span>\n        <span class=\"identifier\">timeout_error</span>          <span class=\"special\">=</span> <span class=\"number\">215</span><span class=\"special\">,</span>\n        <span class=\"identifier\">user_fatal_error</span>       <span class=\"special\">=</span> <span class=\"number\">220</span><span class=\"special\">,</span>\n        <span class=\"identifier\">system_fatal_error</span>     <span class=\"special\">=</span> <span class=\"number\">225</span>\n    <span class=\"special\">};</span>\n\n    <span class=\"keyword\">struct</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">location</span> <span class=\"special\">{</span>\n        <span class=\"keyword\">explicit</span>    <span class=\"identifier\">location</span><span class=\"special\">(</span> <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"identifier\">file_name</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span> <span class=\"identifier\">size_t</span> <span class=\"identifier\">line_num</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span> <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"identifier\">func</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">);</span>\n\n        <span class=\"identifier\">const_string</span>    <span class=\"identifier\">m_file_name</span><span class=\"special\">;</span>\n        <span class=\"identifier\">size_t</span>          <span class=\"identifier\">m_line_num</span><span class=\"special\">;</span>\n        <span class=\"identifier\">const_string</span>    <span class=\"identifier\">m_function</span><span class=\"special\">;</span>\n    <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"identifier\">execution_exception</span><span class=\"special\">(</span> <span class=\"identifier\">error_code</span> <span class=\"identifier\">ec_</span><span class=\"special\">,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">what_msg_</span><span class=\"special\">,</span> <span class=\"identifier\">location</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">location_</span> <span class=\"special\">);</span> <span class=\"comment\">// max length 256 inc '\\0'</span>\n\n    <span class=\"comment\">// Access methods</span>\n    <span class=\"identifier\">error_code</span>      <span class=\"identifier\">code</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>    <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_error_code</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n    <span class=\"identifier\">const_string</span>    <span class=\"identifier\">what</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>    <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_what</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n    <span class=\"identifier\">location</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">where</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>   <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_location</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n<span class=\"special\">};</span> <span class=\"comment\">// execution_exception</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">execution_monitor</span> <span class=\"special\">{</span>\n    <span class=\"keyword\">typedef</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">const_string</span><span class=\"special\">;</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">execution_monitor</span><span class=\"special\">();</span>\n\n    <span class=\"comment\">// Public properties</span>\n\n    <span class=\"comment\">//  The p_catch_system_errors parameter specifies whether the monitor should </span>\n    <span class=\"comment\">//  try to catch system errors/exceptions that would cause program to crash </span>\n    <span class=\"comment\">//  in regular case</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">bool</span><span class=\"special\">&gt;</span> <span class=\"identifier\">p_catch_system_errors</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">//  The p_auto_start_dbg parameter specifies whether the monitor should </span>\n    <span class=\"comment\">//  try to attach debugger in case of caught system error</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">bool</span><span class=\"special\">&gt;</span> <span class=\"identifier\">p_auto_start_dbg</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">//  The p_timeout parameter specifies the seconds that elapse before</span>\n    <span class=\"comment\">//  a timer_error occurs.  May be ignored on some platforms.</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span><span class=\"special\">&gt;</span>  <span class=\"identifier\">p_timeout</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">//  The p_use_alt_stack parameter specifies whether the monitor should</span>\n    <span class=\"comment\">//  use alternative stack for the signal catching</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">bool</span><span class=\"special\">&gt;</span> <span class=\"identifier\">p_use_alt_stack</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">//  The p_detect_fp_exceptions parameter specifies whether the monitor should</span>\n    <span class=\"comment\">//  try to detect hardware floating point exceptions (!= 0), and which specific exception to catch</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">unsigned</span><span class=\"special\">&gt;</span> <span class=\"identifier\">p_detect_fp_exceptions</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">int</span>         <span class=\"identifier\">execute</span><span class=\"special\">(</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">function</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span> <span class=\"special\">()&gt;</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">F</span> <span class=\"special\">);</span>\n    <span class=\"comment\">//  Returns:  Value returned by function call F().</span>\n    <span class=\"comment\">//</span>\n    <span class=\"comment\">//  Effects:  Calls executes supplied function F inside a try/catch block which also may</span>\n    <span class=\"comment\">//  include other unspecified platform dependent error detection code.</span>\n    <span class=\"comment\">//</span>\n    <span class=\"comment\">//  Throws: execution_exception on an uncaught C++ exception,</span>\n    <span class=\"comment\">//  a hardware or software signal, trap, or other exception.</span>\n    <span class=\"comment\">//</span>\n    <span class=\"comment\">//  Note: execute() doesn't consider it an error for F to return a non-zero value.</span>\n\n    <span class=\"keyword\">void</span>         <span class=\"identifier\">vexecute</span><span class=\"special\">(</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">function</span><span class=\"special\">&lt;</span><span class=\"keyword\">void</span> <span class=\"special\">()&gt;</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">F</span> <span class=\"special\">);</span>\n    <span class=\"comment\">//  Effects:  Same as above, but returns nothing</span>\n\n    <span class=\"comment\">// register custom (user supplied) exception translator</span>\n    <span class=\"keyword\">template</span><span class=\"special\">&lt;</span><span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionType</span><span class=\"special\">,</span> <span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionTranslator</span><span class=\"special\">&gt;</span>\n    <span class=\"keyword\">void</span>        <span class=\"identifier\">register_exception_translator</span><span class=\"special\">(</span> <span class=\"identifier\">ExceptionTranslator</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">tr</span><span class=\"special\">,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tag</span> <span class=\"special\">=</span> <span class=\"identifier\">const_string</span><span class=\"special\">(),</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">type</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;*</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// erase custom exception translator</span>\n    <span class=\"keyword\">void</span>        <span class=\"identifier\">erase_exception_translator</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tag</span> <span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">m_custom_translators</span> <span class=\"special\">=</span> <span class=\"identifier\">m_custom_translators</span><span class=\"special\">-&gt;</span><span class=\"identifier\">erase</span><span class=\"special\">(</span> <span class=\"identifier\">m_custom_translators</span><span class=\"special\">,</span> <span class=\"identifier\">tag</span> <span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">template</span><span class=\"special\">&lt;</span><span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;</span>\n    <span class=\"keyword\">void</span>        <span class=\"identifier\">erase_exception_translator</span><span class=\"special\">(</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">type</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;*</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">m_custom_translators</span> <span class=\"special\">=</span> <span class=\"identifier\">m_custom_translators</span><span class=\"special\">-&gt;</span><span class=\"identifier\">erase</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;(</span> <span class=\"identifier\">m_custom_translators</span> <span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n<span class=\"special\">};</span> <span class=\"comment\">// execution_monitor</span>\n\n<span class=\"keyword\">template</span><span class=\"special\">&lt;</span><span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionType</span><span class=\"special\">,</span> <span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionTranslator</span><span class=\"special\">&gt;</span>\n<span class=\"keyword\">void</span>\n<span class=\"identifier\">execution_monitor</span><span class=\"special\">::</span><span class=\"identifier\">register_exception_translator</span><span class=\"special\">(</span> <span class=\"identifier\">ExceptionTranslator</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">tr</span><span class=\"special\">,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tag</span><span class=\"special\">,</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">type</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;*</span> <span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">m_custom_translators</span><span class=\"special\">.</span><span class=\"identifier\">reset</span><span class=\"special\">(</span>\n        <span class=\"keyword\">new</span> <span class=\"identifier\">detail</span><span class=\"special\">::</span><span class=\"identifier\">translator_holder</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">,</span><span class=\"identifier\">ExceptionTranslator</span><span class=\"special\">&gt;(</span> <span class=\"identifier\">tr</span><span class=\"special\">,</span> <span class=\"identifier\">m_custom_translators</span><span class=\"special\">,</span> <span class=\"identifier\">tag</span> <span class=\"special\">)</span> <span class=\"special\">);</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">struct</span> <span class=\"identifier\">execution_aborted</span> <span class=\"special\">{};</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">system_error</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"keyword\">explicit</span>    <span class=\"identifier\">system_error</span><span class=\"special\">(</span> <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"identifier\">exp</span> <span class=\"special\">);</span>\n\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readonly_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">long</span><span class=\"special\">&gt;</span>          <span class=\"identifier\">p_errno</span><span class=\"special\">;</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readonly_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*&gt;</span>   <span class=\"identifier\">p_failed_exp</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_SYS_ASSERT</span><span class=\"special\">(</span> <span class=\"identifier\">exp</span> <span class=\"special\">)</span> <span class=\"keyword\">if</span><span class=\"special\">(</span> <span class=\"special\">(</span><span class=\"identifier\">exp</span><span class=\"special\">)</span> <span class=\"special\">)</span> <span class=\"special\">;</span> <span class=\"keyword\">else</span> <span class=\"keyword\">throw</span> <span class=\"special\">::</span><span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">system_error</span><span class=\"special\">(</span> <span class=\"identifier\">BOOST_STRINGIZE</span><span class=\"special\">(</span> <span class=\"identifier\">exp</span> <span class=\"special\">)</span> <span class=\"special\">)</span>\n\n<span class=\"keyword\">namespace</span> <span class=\"identifier\">fpe</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">enum</span> <span class=\"identifier\">masks</span> <span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_FPE_OFF</span>       <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span>\n\n<span class=\"preprocessor\">#ifdef</span> <span class=\"identifier\">BOOST_SEH_BASED_SIGNAL_HANDLING</span>\n    <span class=\"identifier\">BOOST_FPE_DIVBYZERO</span> <span class=\"special\">=</span> <span class=\"identifier\">EM_ZERODIVIDE</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_INEXACT</span>   <span class=\"special\">=</span> <span class=\"identifier\">EM_INEXACT</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_INVALID</span>   <span class=\"special\">=</span> <span class=\"identifier\">EM_INVALID</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_OVERFLOW</span>  <span class=\"special\">=</span> <span class=\"identifier\">EM_OVERFLOW</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_UNDERFLOW</span> <span class=\"special\">=</span> <span class=\"identifier\">EM_UNDERFLOW</span><span class=\"special\">|</span><span class=\"identifier\">EM_DENORMAL</span><span class=\"special\">,</span>\n\n    <span class=\"identifier\">BOOST_FPE_ALL</span>       <span class=\"special\">=</span> <span class=\"identifier\">MCW_EM</span><span class=\"special\">,</span>\n<span class=\"preprocessor\">#elif</span> <span class=\"identifier\">defined</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_NO_FENV_H</span><span class=\"special\">)</span> <span class=\"special\">||</span> <span class=\"identifier\">defined</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_CLANG</span><span class=\"special\">)</span>\n    <span class=\"identifier\">BOOST_FPE_ALL</span>       <span class=\"special\">=</span> <span class=\"number\">1</span><span class=\"special\">,</span>\n<span class=\"preprocessor\">#else</span>\n    <span class=\"identifier\">BOOST_FPE_DIVBYZERO</span> <span class=\"special\">=</span> <span class=\"identifier\">FE_DIVBYZERO</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_INEXACT</span>   <span class=\"special\">=</span> <span class=\"identifier\">FE_INEXACT</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_INVALID</span>   <span class=\"special\">=</span> <span class=\"identifier\">FE_INVALID</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_OVERFLOW</span>  <span class=\"special\">=</span> <span class=\"identifier\">FE_OVERFLOW</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_UNDERFLOW</span> <span class=\"special\">=</span> <span class=\"identifier\">FE_UNDERFLOW</span><span class=\"special\">,</span>\n\n    <span class=\"identifier\">BOOST_FPE_ALL</span>       <span class=\"special\">=</span> <span class=\"identifier\">FE_ALL_EXCEPT</span><span class=\"special\">,</span>\n<span class=\"preprocessor\">#endif</span>\n    <span class=\"identifier\">BOOST_FPE_INV</span>       <span class=\"special\">=</span> <span class=\"identifier\">BOOST_FPE_ALL</span><span class=\"special\">+</span><span class=\"number\">1</span>\n<span class=\"special\">};</span>\n\n<span class=\"comment\">// return the previous set of enabled exceptions when successful, and BOOST_FPE_INV otherwise</span>\n<span class=\"keyword\">unsigned</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">enable</span><span class=\"special\">(</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">mask</span> <span class=\"special\">);</span>\n<span class=\"keyword\">unsigned</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">disable</span><span class=\"special\">(</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">mask</span> <span class=\"special\">);</span>\n\n<span class=\"special\">}</span> <span class=\"comment\">// namespace fpe</span>\n<span class=\"special\">}</span> <span class=\"comment\">// namespace boost</span>\n</pre>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"runner/output/_boost_test_passpoint_.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___break_exec_path_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--break_exec_path</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"auto_start_dbg.html\" title=\"--auto_start_dbg\">\n<link rel=\"next\" href=\"___build_info_.html\" title=\"--build_info\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"auto_start_dbg.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___build_info_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___break_exec_path_\"></a><a class=\"link\" href=\"___break_exec_path_.html\" title=\"--break_exec_path\"><code class=\"literal\">--break_exec_path</code></a>\n</h5></div></div></div>\n<p>\n            When performing an <a class=\"link\" href=\"../../../guide/exception_safety_test.html\" title=\"Exception Safety Tests\">exception\n            safety test</a>, this argument forces a break into the debugger at\n            the named exection <em class=\"replaceable\"><code>path</code></em> point within the test\n            <em class=\"replaceable\"><code>name</code></em>. The test must be named exactly, no wildcards\n            are supported.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody><tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>name</code></em><code class=\"literal\">:</code><em class=\"replaceable\"><code>path</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      For test case <em class=\"replaceable\"><code>name</code></em>, break on execution\n                      path number <em class=\"replaceable\"><code>path</code></em>.\n                    </p>\n                  </td>\n</tr></tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_BREAK_EXEC_PATH</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"auto_start_dbg.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___build_info_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___build_info_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--build_info</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"auto_start_dbg.html\" title=\"--auto_start_dbg\">\n<link rel=\"next\" href=\"___catch_system_errors_.html\" title=\"--catch_system_errors\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"auto_start_dbg.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___catch_system_errors_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___build_info_\"></a><a class=\"link\" href=\"___build_info_.html\" title=\"--build_info\"><code class=\"literal\">--build_info</code></a>\n</h5></div></div></div>\n<p>\n            This argument causes the test runner to report information about the\n            build environment before running the tests. If the argument is specified\n            but no value is given, then a value of <code class=\"literal\">yes</code> is assumed.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not report build information.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">yes</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report build information.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_BUILD_INFO</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"auto_start_dbg.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___catch_system_errors_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___catch_system_errors_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--catch_system_errors</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___build_info_.html\" title=\"--build_info\">\n<link rel=\"next\" href=\"___detect_fp_exceptions_.html\" title=\"--detect_fp_exceptions\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___build_info_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___detect_fp_exceptions_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___catch_system_errors_\"></a><a class=\"link\" href=\"___catch_system_errors_.html\" title=\"--catch_system_errors\"><code class=\"literal\">--catch_system_errors</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls whether or not the test runner catches fatal system\n            errors.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">no</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not handle fatal system errors.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">yes</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Handle fatal system errors.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_CATCH_SYSTEM_ERRORS</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___build_info_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___detect_fp_exceptions_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___color_output_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--color_output</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___catch_system_errors_.html\" title=\"--catch_system_errors\">\n<link rel=\"next\" href=\"___detect_fp_exceptions_.html\" title=\"--detect_fp_exceptions\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___catch_system_errors_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___detect_fp_exceptions_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___color_output_\"></a><a class=\"link\" href=\"___color_output_.html\" title=\"--color_output\"><code class=\"literal\">--color_output</code></a>\n</h5></div></div></div>\n<p>\n            On systems that support colored text output, this argument controls whether\n            or not the test runner will color the output. This argument does nothing\n            on systems that do not support colored text output.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not color test runner output.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">yes</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Color test runner output, if supported.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_COLOR_OUTPUT</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___catch_system_errors_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___detect_fp_exceptions_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___detect_fp_exceptions_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--detect_fp_exceptions</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___catch_system_errors_.html\" title=\"--catch_system_errors\">\n<link rel=\"next\" href=\"___detect_memory_leaks_.html\" title=\"--detect_memory_leaks\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___catch_system_errors_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___detect_memory_leaks_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___detect_fp_exceptions_\"></a><a class=\"link\" href=\"___detect_fp_exceptions_.html\" title=\"--detect_fp_exceptions\"><code class=\"literal\">--detect_fp_exceptions</code></a>\n</h5></div></div></div>\n<p>\n            If the execution environment supoprts floating-point exceptions, this\n            argument controls whether or not the test runner will detect floating-point\n            exceptions.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not detect floating-point exceptions.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">yes</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Detect floating-point exceptions, if supported.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_DETECT_FP_EXCEPTIONS</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___catch_system_errors_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___detect_memory_leaks_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___detect_memory_leaks_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--detect_memory_leaks</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___detect_fp_exceptions_.html\" title=\"--detect_fp_exceptions\">\n<link rel=\"next\" href=\"log_format.html\" title=\"--log_format\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___detect_fp_exceptions_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"log_format.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___detect_memory_leaks_\"></a><a class=\"link\" href=\"___detect_memory_leaks_.html\" title=\"--detect_memory_leaks\"><code class=\"literal\">--detect_memory_leaks</code></a>\n</h5></div></div></div>\n<p>\n            If the execution environment supports the detection of memory leaks,\n            this argument controls whether or not the test runner reports memory\n            leaks. After running the tests, a memory leak report is issued showing\n            the allocation number and the amount of memory leaked.\n          </p>\n<p>\n            Values greater than <code class=\"literal\">1</code> for this argument cause a trap\n            to the debugger for a particular memory allocation number. Currently,\n            this option is only implemented for Microsoft compilers.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">0</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not detect memory leaks.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">1</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Detect memory leaks and issue a memory leak report.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>number</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Break on allocation <em class=\"replaceable\"><code>number</code></em>.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_DETECT_MEMORY_LEAKS</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___detect_fp_exceptions_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"log_format.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___log_level_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--log_level</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"log_format.html\" title=\"--log_format\">\n<link rel=\"next\" href=\"___log_sink_.html\" title=\"--log_sink\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___log_sink_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___log_level_\"></a><a class=\"link\" href=\"___log_level_.html\" title=\"--log_level\"><code class=\"literal\">--log_level</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the level of test runner output. The values are\n            cumulative, with each increase in log level including all messages at\n            lower levels. By default, only errors are reported. See <a class=\"link\" href=\"../output/log.html\" title=\"Test Log\">test\n            runner log</a> for more information on the log.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">nothing</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not report any information.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">fatal_error</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report all user or system fatal errors, such as memory access\n                      violation.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">system_error</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report system non-fatal errors, such as timeout or floating-point\n                      exception.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">cpp_exception</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report uncaught C++ exceptions.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">error</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report test failures.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">warning</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report test warnings.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">message</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report test messages; see <a class=\"link\" href=\"../output/boost_test_message.html\" title=\"BOOST_TEST_MESSAGE\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a>.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">test_suite</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report entering and leaving every test case and test suite.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">success</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report all successful assertions.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">all</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report everything.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_LOG_LEVEL</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___log_sink_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___log_sink_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--log_sink</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___log_level_.html\" title=\"--log_level\">\n<link rel=\"next\" href=\"___output_format_.html\" title=\"--output_format\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___log_level_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___output_format_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___log_sink_\"></a><a class=\"link\" href=\"___log_sink_.html\" title=\"--log_sink\"><code class=\"literal\">--log_sink</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the destination, or sink, of the test runner log.\n            See <a class=\"link\" href=\"../output/log.html\" title=\"Test Log\">test runner log</a>\n            for more information on the log.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">stdout</code></strong></span>\n                      (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test runner log is sent to the standard output stream.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">stderr</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test runner log is sent to the standard error stream.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>file</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test runner log is sent to the file <em class=\"replaceable\"><code>file</code></em>.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_LOG_SINK</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___log_level_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___output_format_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___output_format_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--output_format</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___log_sink_.html\" title=\"--log_sink\">\n<link rel=\"next\" href=\"___random_.html\" title=\"--random\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___log_sink_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___random_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___output_format_\"></a><a class=\"link\" href=\"___output_format_.html\" title=\"--output_format\"><code class=\"literal\">--output_format</code></a>\n</h5></div></div></div>\n<p>\n            This argument combines <a class=\"link\" href=\"log_format.html\" title=\"--log_format\"><code class=\"literal\">--log_format</code></a>\n            and <a class=\"link\" href=\"report_format.html\" title=\"--report_format\"><code class=\"literal\">--report_format</code></a>.\n            See <a class=\"link\" href=\"../output/log.html\" title=\"Test Log\">test runner log</a>\n            for more information on the log. See <a class=\"link\" href=\"../output/log.html\" title=\"Test Log\">test\n            runner report</a> for more information on the report.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">HRF</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Human readable format output.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">XML</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      XML format output.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_OUTPUT_FORMAT</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___log_sink_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___random_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___random_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--random</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"output_format.html\" title=\"--output_format\">\n<link rel=\"next\" href=\"report_format.html\" title=\"--report_format\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"output_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"report_format.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___random_\"></a><a class=\"link\" href=\"___random_.html\" title=\"--random\"><code class=\"literal\">--random</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls whether or not the test runner will execute tests\n            in a random order. This argument can also provide a seed for the random\n            number generator used to run tests in a random order.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">0</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Run tests in registration order.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">1</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Run tests in a random order, using the current time as the\n                      seed.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>n</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Run tests in a random order, using <em class=\"replaceable\"><code>n</code></em>\n                      as the seed.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_RANDOM</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"output_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"report_format.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___report_level_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--report_level</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"report_format.html\" title=\"--report_format\">\n<link rel=\"next\" href=\"___report_sink_.html\" title=\"--report_sink\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___report_sink_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___report_level_\"></a><a class=\"link\" href=\"___report_level_.html\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the level of the test report. The levels are cumulative,\n            with each successive level incorporating the output of all the previous\n            levels.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">no</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      No test report.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">confirm</code></strong></span>\n                      (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Confirmation test report.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">short</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Short test report.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">detailed</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Detailed test report.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_REPORT_LEVEL</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___report_sink_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___report_sink_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--report_sink</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"report_level.html\" title=\"--report_level\">\n<link rel=\"next\" href=\"___result_code_.html\" title=\"--result_code\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_level.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___result_code_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___report_sink_\"></a><a class=\"link\" href=\"___report_sink_.html\" title=\"--report_sink\"><code class=\"literal\">--report_sink</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the destination, or sink, of the test runner report.\n            See <a class=\"link\" href=\"../output/log.html\" title=\"Test Log\">test runner report</a>\n            for more information on the report.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">stdout</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test report is sent to the standard output stream.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">stderr</code></strong></span>\n                      (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test report is sent to the standard error stream.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>file</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test report is sent to the file <em class=\"replaceable\"><code>file</code></em>.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_REPORT_SINK</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_level.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___result_code_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___result_code_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--result_code</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"report_sink.html\" title=\"--report_sink\">\n<link rel=\"next\" href=\"run_test.html\" title=\"--run_test\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_sink.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"run_test.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___result_code_\"></a><a class=\"link\" href=\"___result_code_.html\" title=\"--result_code\"><code class=\"literal\">--result_code</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls whether or not the test runner returns an exit\n            code corresponding to a summary of the test execution or zero. The summary\n            result code is determined as follows:\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Result Code\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Description\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      0 (<code class=\"literal\">boost::exit_success</code>)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      All executed tests passed.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      200 (<code class=\"literal\">boost::exit_exception_failure</code>)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Failure due to uncaught exception.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      201 (<code class=\"literal\">boost::exit_test_failure</code>)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      One or more executed tests failed.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">no</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Always return zero.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">yes</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Return a status code indicating the summary of the tests executed.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_RESULT_CODE</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_sink.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"run_test.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___save_pattern_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--save_pattern</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"run_test.html\" title=\"--run_test\">\n<link rel=\"next\" href=\"___show_progress_.html\" title=\"--show_progress\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"run_test.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___show_progress_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___save_pattern_\"></a><a class=\"link\" href=\"___save_pattern_.html\" title=\"--save_pattern\"><code class=\"literal\">--save_pattern</code></a>\n</h5></div></div></div>\n<p>\n            This argument informs the test runner of a boolean value used to create\n            or save a test pattern for file-based testing. The test case uses the\n            boolean value to determine whether or not it writes the test pattern\n            by exercising the system under test or reads the test pattern for comparison\n            against the values produced by the system under test. The <code class=\"literal\">output_test_stream</code>\n            class provides a facility for recording and matching against save patterns.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Match against a saved pattern.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">yes</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Save a pattern for matching.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_SAVE_PATTERN</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"run_test.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___show_progress_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___show_progress_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--show_progress</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"run_test.html\" title=\"--run_test\">\n<link rel=\"next\" href=\"___use_alt_stack_.html\" title=\"--use_alt_stack\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"run_test.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___use_alt_stack_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___show_progress_\"></a><a class=\"link\" href=\"___show_progress_.html\" title=\"--show_progress\"><code class=\"literal\">--show_progress</code></a>\n</h5></div></div></div>\n<p>\n            This parameter instructs the test runner to print progress through the\n            test cases. The test runner has no way of determining the length of time\n            each test case will consume; the progress percentage is determined by\n            counting test cases.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not show test execution progress.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">yes</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Show test execution progress.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_SHOW_PROGRESS</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"run_test.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___use_alt_stack_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/___use_alt_stack_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--use_alt_stack</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___show_progress_.html\" title=\"--show_progress\">\n<link rel=\"next\" href=\"../output.html\" title=\"Test Output\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___show_progress_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.___use_alt_stack_\"></a><a class=\"link\" href=\"___use_alt_stack_.html\" title=\"--use_alt_stack\"><code class=\"literal\">--use_alt_stack</code></a>\n</h5></div></div></div>\n<p>\n            This parameter instructs the test runner to use an alternate stack for\n            signals processing on platforms where this is supported.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not use an alternate stack.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">yes</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Use an alternate stack, where supported.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_USE_ALT_STACK</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___show_progress_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/auto_start_dbg.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--auto_start_dbg</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"next\" href=\"___build_info_.html\" title=\"--build_info\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___build_info_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.auto_start_dbg\"></a><a class=\"link\" href=\"auto_start_dbg.html\" title=\"--auto_start_dbg\"><code class=\"literal\">--auto_start_dbg</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls whether or not a debugger is attached to the test\n            runner when a fatal system error occurs. A fatal system error includes\n            Unix/POSIX signals, C++ exceptions and Win32 structured exceptions.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not attach a debugger to when a fatal system error occurs.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">yes</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Attach the default debugger when a fatal system error occurs.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_AUTO_START_DBG</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___build_info_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/list_content.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--list_content</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___detect_memory_leaks_.html\" title=\"--detect_memory_leaks\">\n<link rel=\"next\" href=\"log_format.html\" title=\"--log_format\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___detect_memory_leaks_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"log_format.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.list_content\"></a><a class=\"link\" href=\"list_content.html\" title=\"--list_content\"><code class=\"literal\">--list_content</code></a>\n</h5></div></div></div>\n<p>\n            This argument instructs the test runner to print out an indented listing\n            of all test suites and test cases registered with the test runner without\n            running the tests.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not list test suites and cases.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">yes</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      List test suites and cases and exit without running tests.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_LIST_CONTENT</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___detect_memory_leaks_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"log_format.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/log_format.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--log_format</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___detect_memory_leaks_.html\" title=\"--detect_memory_leaks\">\n<link rel=\"next\" href=\"log_level.html\" title=\"--log_level\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___detect_memory_leaks_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"log_level.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.log_format\"></a><a class=\"link\" href=\"log_format.html\" title=\"--log_format\"><code class=\"literal\">--log_format</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the format of the test runner output. The value\n            is case insensitive. See <a class=\"link\" href=\"../output/log.html\" title=\"Test Log\">test\n            runner log</a> for more information on the log.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">HRF</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Human readable format output.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">XML</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      XML format output.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_LOG_FORMAT</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___detect_memory_leaks_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"log_level.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/log_level.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--log_level</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"log_format.html\" title=\"--log_format\">\n<link rel=\"next\" href=\"log_sink.html\" title=\"--log_sink\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"log_sink.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.log_level\"></a><a class=\"link\" href=\"log_level.html\" title=\"--log_level\"><code class=\"literal\">--log_level</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the level of test runner output. The values are\n            cumulative, with each increase in log level including all messages at\n            lower levels. By default, only errors are reported. See <a class=\"link\" href=\"../output/log.html\" title=\"Test Log\">test\n            runner log</a> for more information on the log.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">nothing</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Do not report any information.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">fatal_error</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report all user or system fatal errors, such as memory access\n                      violation.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">system_error</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report system non-fatal errors, such as timeout or floating-point\n                      exception.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">cpp_exception</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report uncaught C++ exceptions.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">error</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report test failures.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">warning</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report test warnings.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">message</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report test messages; see <a class=\"link\" href=\"../output/boost_test_message.html\" title=\"BOOST_TEST_MESSAGE\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a>.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">test_suite</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report entering and leaving every test case and test suite.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">success</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report all successful assertions.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">all</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Report everything.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_LOG_LEVEL</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"log_sink.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/log_sink.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--log_sink</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"log_level.html\" title=\"--log_level\">\n<link rel=\"next\" href=\"output_format.html\" title=\"--output_format\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log_level.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"output_format.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.log_sink\"></a><a class=\"link\" href=\"log_sink.html\" title=\"--log_sink\"><code class=\"literal\">--log_sink</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the destination, or sink, of the test runner log.\n            See <a class=\"link\" href=\"../output/log.html\" title=\"Test Log\">test runner log</a>\n            for more information on the log.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">stdout</code></strong></span>\n                      (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test runner log is sent to the standard output stream.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">stderr</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test runner log is sent to the standard error stream.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>file</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test runner log is sent to the file <em class=\"replaceable\"><code>file</code></em>.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_LOG_SINK</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log_level.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"output_format.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/output_format.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--output_format</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"log_sink.html\" title=\"--log_sink\">\n<link rel=\"next\" href=\"___random_.html\" title=\"--random\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log_sink.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___random_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.output_format\"></a><a class=\"link\" href=\"output_format.html\" title=\"--output_format\"><code class=\"literal\">--output_format</code></a>\n</h5></div></div></div>\n<p>\n            This argument combines <a class=\"link\" href=\"log_format.html\" title=\"--log_format\"><code class=\"literal\">--log_format</code></a>\n            and <a class=\"link\" href=\"report_format.html\" title=\"--report_format\"><code class=\"literal\">--report_format</code></a>.\n            See <a class=\"link\" href=\"../output/log.html\" title=\"Test Log\">test runner log</a>\n            for more information on the log. See <a class=\"link\" href=\"../output/report.html\" title=\"Test Report\">test\n            runner report</a> for more information on the report.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">HRF</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Human readable format output.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">XML</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      XML format output.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_OUTPUT_FORMAT</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log_sink.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___random_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/report_format.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--report_format</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___random_.html\" title=\"--random\">\n<link rel=\"next\" href=\"report_level.html\" title=\"--report_level\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___random_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"report_level.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.report_format\"></a><a class=\"link\" href=\"report_format.html\" title=\"--report_format\"><code class=\"literal\">--report_format</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the format of the test report. See <a class=\"link\" href=\"../output/report.html\" title=\"Test Report\">test\n            runner report</a> for more information on the report.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">HRF</code></strong></span> (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Human readable format output.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">XML</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      XML format output.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_REPORT_FORMAT</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___random_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"report_level.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/report_level.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--report_level</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"report_format.html\" title=\"--report_format\">\n<link rel=\"next\" href=\"report_sink.html\" title=\"--report_sink\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"report_sink.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.report_level\"></a><a class=\"link\" href=\"report_level.html\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the level of the test report. The levels are cumulative,\n            with each successive level incorporating the output of all the previous\n            levels. See <a class=\"link\" href=\"../output/report.html\" title=\"Test Report\">test\n            runner report</a> for more information on the report.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">no</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      No test report.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">confirm</code></strong></span>\n                      (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Confirmation test report.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">short</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Short test report.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">detailed</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Detailed test report.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_REPORT_LEVEL</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_format.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"report_sink.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/report_sink.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--report_sink</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"report_level.html\" title=\"--report_level\">\n<link rel=\"next\" href=\"___result_code_.html\" title=\"--result_code\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_level.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___result_code_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.report_sink\"></a><a class=\"link\" href=\"report_sink.html\" title=\"--report_sink\"><code class=\"literal\">--report_sink</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls the destination, or sink, of the test runner report.\n            See <a class=\"link\" href=\"../output/report.html\" title=\"Test Report\">test runner report</a>\n            for more information on the report.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Value\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Meaning\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">stdout</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test report is sent to the standard output stream.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <span class=\"bold\"><strong><code class=\"literal\">stderr</code></strong></span>\n                      (default)\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test report is sent to the standard error stream.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>file</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test report is sent to the file <em class=\"replaceable\"><code>file</code></em>.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_REPORT_SINK</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report_level.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___result_code_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument/run_test.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>--run_test</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../argument.html\" title=\"Command Line Arguments\">\n<link rel=\"prev\" href=\"___result_code_.html\" title=\"--result_code\">\n<link rel=\"next\" href=\"___show_progress_.html\" title=\"--show_progress\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___result_code_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___show_progress_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.argument.run_test\"></a><a class=\"link\" href=\"run_test.html\" title=\"--run_test\"><code class=\"literal\">--run_test</code></a>\n</h5></div></div></div>\n<p>\n            This argument controls which test cases will be executed. The value is\n            a comma separated list of test specifiers. Test cases are arranged as\n            leaves on a tree structure, with every test case belonging to a test\n            suite. The test runner always creates a master test suite. Named test\n            suites are children of the master test suite or another named test suite.\n            Any test case that is not the child of a named test suite is a child\n            of the unnamed master test suite.\n          </p>\n<p>\n            Test specifiers select test cases or suites by naming the path from the\n            unnamed master test suite to the case or suite, similar to a full path\n            to a file in a hierarchical directory structure. A test specifier is\n            one or more path specifiers, separated by a slash (<code class=\"literal\">/</code>).\n            A test specifier begins at the master test suite and proceeds down the\n            test tree, naming suites or test cases.\n          </p>\n<p>\n            The argument <a class=\"link\" href=\"report_level.html\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>\n            set to <code class=\"literal\">detailed</code> can be used to output the names of\n            all the test suites and test cases within those test suites.\n          </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Path Specifier\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Tests Selected\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>name</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test case or suite named <em class=\"replaceable\"><code>name</code></em>.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">*</code><em class=\"replaceable\"><code>name</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      All test cases or suites whose name ends in <em class=\"replaceable\"><code>name</code></em>.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>name</code></em><code class=\"literal\">*</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      All test cases or suites whose name begins with <em class=\"replaceable\"><code>name</code></em>.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">*</code><em class=\"replaceable\"><code>name</code></em><code class=\"literal\">*</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      All test cases or suites whose name contains <em class=\"replaceable\"><code>name</code></em>.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">*</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      All test cases or suites.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>spec1</code></em><code class=\"literal\">,</code><em class=\"replaceable\"><code>spec2</code></em><code class=\"literal\">,</code><em class=\"replaceable\"><code>...</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test cases or suites with the given specifier.\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <em class=\"replaceable\"><code>spec1</code></em><code class=\"literal\">/</code><em class=\"replaceable\"><code>spec2</code></em>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test cases or suites matched by <em class=\"replaceable\"><code>spec2</code></em>\n                      in the test suite matched by <em class=\"replaceable\"><code>spec1</code></em>.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n            <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TESTS_TO_RUN</code>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"___result_code_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../argument.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"___show_progress_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/argument.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Command Line Arguments</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../runner.html\" title=\"Test Runner\">\n<link rel=\"prev\" href=\"../runner.html\" title=\"Test Runner\">\n<link rel=\"next\" href=\"argument/auto_start_dbg.html\" title=\"--auto_start_dbg\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"argument/auto_start_dbg.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.runner.argument\"></a><a class=\"link\" href=\"argument.html\" title=\"Command Line Arguments\">Command Line Arguments</a>\n</h4></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"argument/auto_start_dbg.html\"><code class=\"literal\">--auto_start_dbg</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/___build_info_.html\"><code class=\"literal\">--build_info</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/___catch_system_errors_.html\"><code class=\"literal\">--catch_system_errors</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/___detect_fp_exceptions_.html\"><code class=\"literal\">--detect_fp_exceptions</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/___detect_memory_leaks_.html\"><code class=\"literal\">--detect_memory_leaks</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/log_format.html\"><code class=\"literal\">--log_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/log_level.html\"><code class=\"literal\">--log_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/log_sink.html\"><code class=\"literal\">--log_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/output_format.html\"><code class=\"literal\">--output_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/___random_.html\"><code class=\"literal\">--random</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/report_format.html\"><code class=\"literal\">--report_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/report_level.html\"><code class=\"literal\">--report_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/report_sink.html\"><code class=\"literal\">--report_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/___result_code_.html\"><code class=\"literal\">--result_code</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/run_test.html\"><code class=\"literal\">--run_test</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/___show_progress_.html\"><code class=\"literal\">--show_progress</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument/___use_alt_stack_.html\"><code class=\"literal\">--use_alt_stack</code></a></span></dt>\n</dl></div>\n<div class=\"table\">\n<a name=\"test.reference.runner.argument.command_line_argument_summary\"></a><p class=\"title\"><b>Table&#160;1.3.&#160;Command Line Argument Summary</b></p>\n<div class=\"table-contents\"><table class=\"table\" summary=\"Command Line Argument Summary\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                  <p>\n                    Argument\n                  </p>\n                </th>\n<th>\n                  <p>\n                    Description\n                  </p>\n                </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--auto_start_dbg</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Automatically attach debugger in case of system failure\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--build_info</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Print build information\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--catch_system_errors</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Catch system errors\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--detect_fp_exceptions</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Detect floating-point exceptions\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--detect_memory_leaks</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Detect memory leaks\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--help</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Print out a summary of test runner options\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--log_format</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    The format of the test log\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--log_level</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    The level of logging reported\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--log_sink</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    The log sink name\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--output_format</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    The output format\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--random</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Random number seed\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--report_format</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    The test results report format\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--report_level</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    The test results report level\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--report_sink</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    The report sink name\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--result_code</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Return result code\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--run_test</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Tests to run\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--show_progress</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Show execution progress\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--use_alt_stack</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Use alternative stack\n                  </p>\n                </td>\n</tr>\n<tr>\n<td>\n                  <p>\n                    <code class=\"literal\">--wait_for_debugger</code>\n                  </p>\n                </td>\n<td>\n                  <p>\n                    Wait for the debugger to attach to the test runner.\n                  </p>\n                </td>\n</tr>\n</tbody>\n</table></div>\n</div>\n<br class=\"table-break\"><p>\n          The functionality of each command-line option can also be invoked with\n          an environment variable. The description for each option gives the environment\n          variable associated with that option.\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"argument/auto_start_dbg.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/output/_boost_test_checkpoint_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_CHECKPOINT</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"prev\" href=\"report.html\" title=\"Test Report\">\n<link rel=\"next\" href=\"boost_test_message.html\" title=\"BOOST_TEST_MESSAGE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_message.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.output._boost_test_checkpoint_\"></a><a class=\"link\" href=\"_boost_test_checkpoint_.html\" title=\"BOOST_TEST_CHECKPOINT\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_TEST_CHECKPOINT(</code><em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code>\n            registers a test case checkpoint and associated <em class=\"replaceable\"><code>message</code></em>\n            with the test runner. A checkpoint includes the source file and line\n            number where the macro was invoked. If the test case is aborted unexpectedly,\n            the source location and message associated with the last registered checkpoint\n            is emitted into the log. Checkpoints can be used to identify the location\n            of an unexpected failure within a block of test case code. The <em class=\"replaceable\"><code>message</code></em>\n            is applied to an output stream with <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> and can include other invocations\n            of <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_checkpoint</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"identifier\">BOOST_TEST_CHECKPOINT</span><span class=\"special\">(</span><span class=\"string\">\"i = \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE</span><span class=\"special\">(</span><span class=\"identifier\">i</span> <span class=\"special\">==</span> <span class=\"number\">0</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_message.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/output/_boost_test_passpoint_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_PASSPOINT</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"prev\" href=\"boost_test_message.html\" title=\"BOOST_TEST_MESSAGE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_message.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.output._boost_test_passpoint_\"></a><a class=\"link\" href=\"_boost_test_passpoint_.html\" title=\"BOOST_TEST_PASSPOINT\"><code class=\"literal\">BOOST_TEST_PASSPOINT</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_TEST_PASSPOINT()</code> is similar to <a class=\"link\" href=\"boost_test_checkpoint.html\" title=\"BOOST_TEST_CHECKPOINT\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a>,\n            but only registers a source file location with the test runner.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_passpoint</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_TEST_PASSPOINT</span><span class=\"special\">();</span>\n\n    <span class=\"keyword\">throw</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">(</span><span class=\"string\">\"Oops\"</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_message.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/output/boost_test_checkpoint.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_CHECKPOINT</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"prev\" href=\"report.html\" title=\"Test Report\">\n<link rel=\"next\" href=\"boost_test_message.html\" title=\"BOOST_TEST_MESSAGE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_message.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.output.boost_test_checkpoint\"></a><a class=\"link\" href=\"boost_test_checkpoint.html\" title=\"BOOST_TEST_CHECKPOINT\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_TEST_CHECKPOINT(</code><em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code>\n            registers a test case checkpoint and associated <em class=\"replaceable\"><code>message</code></em>\n            with the test runner. A checkpoint includes the source file and line\n            number where the macro was invoked. If the test case is aborted unexpectedly,\n            the source location and message associated with the last registered checkpoint\n            is emitted into the log. Checkpoints can be used to identify the location\n            of an unexpected failure within a block of test case code. The <em class=\"replaceable\"><code>message</code></em>\n            is applied to an output stream with <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> and can include other invocations\n            of <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_checkpoint</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"identifier\">BOOST_TEST_CHECKPOINT</span><span class=\"special\">(</span><span class=\"string\">\"i = \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE</span><span class=\"special\">(</span><span class=\"identifier\">i</span> <span class=\"special\">==</span> <span class=\"number\">0</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"report.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_message.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/output/boost_test_message.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_MESSAGE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"prev\" href=\"boost_test_checkpoint.html\" title=\"BOOST_TEST_CHECKPOINT\">\n<link rel=\"next\" href=\"_boost_test_passpoint_.html\" title=\"BOOST_TEST_PASSPOINT\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_checkpoint.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_passpoint_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.output.boost_test_message\"></a><a class=\"link\" href=\"boost_test_message.html\" title=\"BOOST_TEST_MESSAGE\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_TEST_MESSAGE(</code><em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code>\n            unconditionally writes the <em class=\"replaceable\"><code>message</code></em> into the\n            test runner log file. Unlike <a class=\"link\" href=\"boost_test_checkpoint.html\" title=\"BOOST_TEST_CHECKPOINT\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a>\n            no file and line number information is written into the log file. The\n            <em class=\"replaceable\"><code>message</code></em> is applied to an output stream with\n            <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n            and can include other invocations of <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_test_message</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"identifier\">BOOST_TEST_MESSAGE</span><span class=\"special\">(</span><span class=\"string\">\"i = \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE</span><span class=\"special\">(</span><span class=\"identifier\">i</span> <span class=\"special\">==</span> <span class=\"number\">0</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_checkpoint.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_passpoint_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/output/log.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Log</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"prev\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"next\" href=\"report.html\" title=\"Test Report\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"report.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.output.log\"></a><a class=\"link\" href=\"log.html\" title=\"Test Log\">Test Log</a>\n</h5></div></div></div>\n<p>\n            The test log contains detailed information on every assertion in every\n            test case. The log can be formatted as plain human readable text or as\n            XML and can be sent to the standard output stream, the standard error\n            stream or a file.\n          </p>\n<p>\n            The amount of detail in the log is set with the <a class=\"link\" href=\"../argument/log_level.html\" title=\"--log_level\"><code class=\"literal\">--log_level</code></a>\n            option. The format of the log is set with the <a class=\"link\" href=\"../argument/log_format.html\" title=\"--log_format\"><code class=\"literal\">--log_format</code></a>\n            option. The destination of the log is set with the <a class=\"link\" href=\"../argument/log_sink.html\" title=\"--log_sink\"><code class=\"literal\">--log_sink</code></a>\n            option. The <a class=\"link\" href=\"../argument/output_format.html\" title=\"--output_format\"><code class=\"literal\">--output_format</code></a>\n            option sets both the log format and the report format.\n          </p>\n<p>\n            The XML format for the test log conforms to the schema <a href=\"../../../../../../../../libs/test/doc/src/UTF.log.xsd\" target=\"_top\">UTF.log.xsd</a>.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"report.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/output/report.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Report</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"prev\" href=\"log.html\" title=\"Test Log\">\n<link rel=\"next\" href=\"boost_test_checkpoint.html\" title=\"BOOST_TEST_CHECKPOINT\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_checkpoint.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.output.report\"></a><a class=\"link\" href=\"report.html\" title=\"Test Report\">Test Report</a>\n</h5></div></div></div>\n<p>\n            The report contains summary information about the test cases executed\n            and the count of failures. The report can be formatted as plain human\n            readable text or as XML and can be sent to the standard output stream,\n            standard error stream or a file.\n          </p>\n<p>\n            The amount of detail in the report is controlled by the <a class=\"link\" href=\"../argument/report_level.html\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>\n            option. The format of the report can be changed with the <a class=\"link\" href=\"../argument/report_format.html\" title=\"--report_format\"><code class=\"literal\">--report_format</code></a>\n            option. The destination of the report can be set with the <a class=\"link\" href=\"../argument/report_sink.html\" title=\"--report_sink\"><code class=\"literal\">--report_sink</code></a>\n            option. The <a class=\"link\" href=\"../argument/output_format.html\" title=\"--output_format\"><code class=\"literal\">--output_format</code></a>\n            option sets both the report format and the log format.\n          </p>\n<p>\n            The XML format for the test report conforms to the schema <a href=\"../../../../../../../../libs/test/doc/src/UTF.report.xsd\" target=\"_top\">UTF.report.xsd</a>.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"log.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_checkpoint.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/output/test_log.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Log</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"prev\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"next\" href=\"test_report.html\" title=\"Test Report\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_report.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\"><div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.output.test_log\"></a><a class=\"link\" href=\"test_log.html\" title=\"Test Log\">Test Log</a>\n</h5></div></div></div></div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_report.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/output/test_report.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Report</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../output.html\" title=\"Test Output\">\n<link rel=\"prev\" href=\"test_log.html\" title=\"Test Log\">\n<link rel=\"next\" href=\"_boost_test_checkpoint_.html\" title=\"BOOST_TEST_CHECKPOINT\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_log.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_checkpoint_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\"><div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.runner.output.test_report\"></a><a class=\"link\" href=\"test_report.html\" title=\"Test Report\">Test Report</a>\n</h5></div></div></div></div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_log.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../output.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_checkpoint_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner/output.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Output</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../runner.html\" title=\"Test Runner\">\n<link rel=\"prev\" href=\"argument/___use_alt_stack_.html\" title=\"--use_alt_stack\">\n<link rel=\"next\" href=\"output/log.html\" title=\"Test Log\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"argument/___use_alt_stack_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"output/log.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.runner.output\"></a><a class=\"link\" href=\"output.html\" title=\"Test Output\">Test Output</a>\n</h4></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"output/log.html\">Test Log</a></span></dt>\n<dt><span class=\"section\"><a href=\"output/report.html\">Test Report</a></span></dt>\n<dt><span class=\"section\"><a href=\"output/boost_test_checkpoint.html\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"output/boost_test_message.html\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"output/_boost_test_passpoint_.html\"><code class=\"literal\">BOOST_TEST_PASSPOINT</code></a></span></dt>\n</dl></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"argument/___use_alt_stack_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../runner.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"output/log.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/runner.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Runner</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../reference.html\" title=\"Reference\">\n<link rel=\"prev\" href=\"assertion/boost_test_dont_print_log_value.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\">\n<link rel=\"next\" href=\"runner/argument.html\" title=\"Command Line Arguments\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"assertion/boost_test_dont_print_log_value.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"runner/argument.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.reference.runner\"></a><a class=\"link\" href=\"runner.html\" title=\"Test Runner\">Test Runner</a>\n</h3></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"runner/argument.html\">Command Line Arguments</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"runner/argument/auto_start_dbg.html\"><code class=\"literal\">--auto_start_dbg</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/___build_info_.html\"><code class=\"literal\">--build_info</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/___catch_system_errors_.html\"><code class=\"literal\">--catch_system_errors</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/___detect_fp_exceptions_.html\"><code class=\"literal\">--detect_fp_exceptions</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/___detect_memory_leaks_.html\"><code class=\"literal\">--detect_memory_leaks</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/log_format.html\"><code class=\"literal\">--log_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/log_level.html\"><code class=\"literal\">--log_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/log_sink.html\"><code class=\"literal\">--log_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/output_format.html\"><code class=\"literal\">--output_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/___random_.html\"><code class=\"literal\">--random</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/report_format.html\"><code class=\"literal\">--report_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/report_level.html\"><code class=\"literal\">--report_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/report_sink.html\"><code class=\"literal\">--report_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/___result_code_.html\"><code class=\"literal\">--result_code</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/run_test.html\"><code class=\"literal\">--run_test</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/___show_progress_.html\"><code class=\"literal\">--show_progress</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/argument/___use_alt_stack_.html\"><code class=\"literal\">--use_alt_stack</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"runner/output.html\">Test Output</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"runner/output/log.html\">Test Log</a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/output/report.html\">Test Report</a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/output/boost_test_checkpoint.html\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/output/boost_test_message.html\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/output/_boost_test_passpoint_.html\"><code class=\"literal\">BOOST_TEST_PASSPOINT</code></a></span></dt>\n</dl></dd>\n</dl></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"assertion/boost_test_dont_print_log_value.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"runner/argument.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_auto_test_case.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_AUTO_TEST_CASE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"next\" href=\"boost_auto_test_case_expected_failures.html\" title=\"BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_auto_test_case_expected_failures.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_auto_test_case\"></a><a class=\"link\" href=\"boost_auto_test_case.html\" title=\"BOOST_AUTO_TEST_CASE\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_AUTO_TEST_CASE(</code><em class=\"replaceable\"><code>name</code></em><code class=\"literal\">)</code>\n          creates a test case class, a test case invocation function, a test case\n          unique identifier, registers the invocation function as a test case and\n          begins the definition of the test method on the test class. The test case\n          class <em class=\"replaceable\"><code>name</code></em> is derived from <code class=\"literal\">BOOST_AUTO_TEST_CASE_FIXTURE</code>\n          and contains a single method named <code class=\"literal\">test_method</code>. The\n          test invocation function instantiates the test case class and invokes the\n          test case method. Test log checkpoints are made before the test case class\n          is instantiated and bracketing the test method invocation. This provides\n          diagnostic checkpoints should a runtime error cause a test case to be aborted\n          before any assertions are made.\n        </p>\n<h6>\n<a name=\"test.reference.test_case.boost_auto_test_case.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_auto_test_case.example_source_code\"></a></span><a class=\"link\" href=\"boost_auto_test_case.html#test.reference.test_case.boost_auto_test_case.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              Tutorials:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a class=\"link\" href=\"../../tutorials/hello_test.html\" title=\"Hello, Test!\">Hello, Test!</a>\n                  </li></ul></div>\n            </li>\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/hello_test/sut/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/hello_test/sut/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/hello_test/test/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_auto_test_case_expected_failures.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_auto_test_case_expected_failures.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"boost_auto_test_case.html\" title=\"BOOST_AUTO_TEST_CASE\">\n<link rel=\"next\" href=\"boost_auto_test_case_template.html\" title=\"BOOST_AUTO_TEST_CASE_TEMPLATE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_auto_test_case_template.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_auto_test_case_expected_failures\"></a><a class=\"link\" href=\"boost_auto_test_case_expected_failures.html\" title=\"BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES\"><code class=\"literal\">BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(</code><em class=\"replaceable\"><code>name</code></em>,\n          <em class=\"replaceable\"><code>n</code></em><code class=\"literal\">)</code> is used to decorate a\n          test case with an expected failure count of <em class=\"replaceable\"><code>n</code></em>.\n          It should appear immediately preceding the macro that defines the test\n          case, such as <a class=\"link\" href=\"boost_auto_test_case.html\" title=\"BOOST_AUTO_TEST_CASE\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a>\n          or <a class=\"link\" href=\"boost_fixture_test_case.html\" title=\"BOOST_FIXTURE_TEST_CASE\"><code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code></a>.\n          It can be used for test cases declared at file scope or within a test suite.\n          This macro should only be used in the most exceptional of circumstances.\n          Unit tests are designed to provide a safety net of regression tests against\n          our code. If we allow tests to stay failing, we are less motivated to correct\n          them.\n        </p>\n<p>\n          As a temporary measure, we may wish to annotate certain tests as known\n          failures. The count <em class=\"replaceable\"><code>n</code></em> is the number of expected\n          failed assertions during the execution of the test case. When using the\n          <a class=\"link\" href=\"../assertion/levels.html\" title=\"Assertion Levels\"><code class=\"literal\">CHECK</code></a>\n          level assertions, the total failure count can be larger than one since\n          the test case continues executing past a failed assertion. When using\n          <code class=\"literal\">REQUIRE</code> level assertions, the total failure count will\n          only be one as execution of the test case terminates on the first failed\n          assertion.\n        </p>\n<p>\n          If <code class=\"literal\">CHECK</code> level assertions are used and the number of\n          failures is less than or equal to <em class=\"replaceable\"><code>n</code></em>, the test\n          runner will return a status code of <code class=\"literal\">0</code>. If the number\n          of failures is greather than <em class=\"replaceable\"><code>n</code></em>, the test runner\n          will return a status code of <code class=\"literal\">201</code>. If <code class=\"literal\">REQUIRE</code>\n          level assertions are used, the number of expected failures can be at most\n          one and the test runner will return a status code of <code class=\"literal\">200</code>\n          when one failed assertion is found.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES</span><span class=\"special\">(</span><span class=\"identifier\">inserts_text_require_expected</span><span class=\"special\">,</span> <span class=\"number\">1</span><span class=\"special\">)</span>\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">inserts_text_require_expected</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"scooby-doo\"</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<div class=\"note\"><table border=\"0\" summary=\"Note\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Note]\" src=\"../../../../../../../doc/src/images/note.png\"></td>\n<th align=\"left\">Note</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            When using the compiler formatted test output, Visual Studio interprets\n            the failed assertion output as a detected error, it will fail the Post-Build\n            event mechanism recommended in <a class=\"link\" href=\"../../guide/test_case_design.html\" title=\"Test Case Design and Maintenance\">Test\n            Case Design and Maintenance</a>.\n          </p></td></tr>\n</table></div>\n<h6>\n<a name=\"test.reference.test_case.boost_auto_test_case_expected_failures.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_auto_test_case_expected_failures.example_source_code\"></a></span><a class=\"link\" href=\"boost_auto_test_case_expected_failures.html#test.reference.test_case.boost_auto_test_case_expected_failures.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/auto_test_case_expected_failures.cpp\" target=\"_top\">auto_test_case_expected_failures.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_auto_test_case_template.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_auto_test_case_template.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_AUTO_TEST_CASE_TEMPLATE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"boost_auto_test_case_expected_failures.html\" title=\"BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES\">\n<link rel=\"next\" href=\"boost_fixture_test_case.html\" title=\"BOOST_FIXTURE_TEST_CASE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_case_expected_failures.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fixture_test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_auto_test_case_template\"></a><a class=\"link\" href=\"boost_auto_test_case_template.html\" title=\"BOOST_AUTO_TEST_CASE_TEMPLATE\"><code class=\"literal\">BOOST_AUTO_TEST_CASE_TEMPLATE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_AUTO_TEST_CASE_TEMPLATE(</code><em class=\"replaceable\"><code>name</code></em>,\n          <em class=\"replaceable\"><code>var</code></em>, <em class=\"replaceable\"><code>types</code></em><code class=\"literal\">)</code>\n          declares a test case <em class=\"replaceable\"><code>name</code></em> parameterized by a\n          single template argument <em class=\"replaceable\"><code>var</code></em> that is evaluated\n          for each type in <em class=\"replaceable\"><code>types</code></em>. This allows you to write\n          a test case that exercises an invariant across a collection of types. The\n          macro expands into one test case for each type in <em class=\"replaceable\"><code>types</code></em>,\n          with the template argument <em class=\"replaceable\"><code>var</code></em> assigned to each\n          type. The <em class=\"replaceable\"><code>types</code></em> argument must be a Boost.MPL\n          type list and must be defined as a <code class=\"literal\">typedef</code>.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">mpl</span><span class=\"special\">/</span><span class=\"identifier\">list</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">limits</span><span class=\"special\">&gt;</span>\n\n<span class=\"keyword\">typedef</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">mpl</span><span class=\"special\">::</span><span class=\"identifier\">list</span><span class=\"special\">&lt;</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">char</span><span class=\"special\">,</span> <span class=\"keyword\">unsigned</span> <span class=\"keyword\">short</span><span class=\"special\">,</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">int</span><span class=\"special\">,</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">long</span><span class=\"special\">,</span> <span class=\"keyword\">unsigned</span> <span class=\"keyword\">long</span> <span class=\"keyword\">long</span><span class=\"special\">&gt;</span> <span class=\"identifier\">unsigned_types</span><span class=\"special\">;</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE_TEMPLATE</span><span class=\"special\">(</span><span class=\"identifier\">not_is_signed_for_unsigned_types</span><span class=\"special\">,</span> <span class=\"identifier\">T</span><span class=\"special\">,</span> <span class=\"identifier\">unsigned_types</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE</span><span class=\"special\">(!</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">numeric_limits</span><span class=\"special\">&lt;</span><span class=\"identifier\">T</span><span class=\"special\">&gt;::</span><span class=\"identifier\">is_signed</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.reference.test_case.boost_auto_test_case_template.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_auto_test_case_template.example_source_code\"></a></span><a class=\"link\" href=\"boost_auto_test_case_template.html#test.reference.test_case.boost_auto_test_case_template.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \"><li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/auto_test_case_template.cpp\" target=\"_top\">auto_test_case_template.cpp</a>\n                  </li></ul></div>\n            </li></ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_case_expected_failures.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fixture_test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_fixture_test_case.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_FIXTURE_TEST_CASE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"boost_auto_test_case_template.html\" title=\"BOOST_AUTO_TEST_CASE_TEMPLATE\">\n<link rel=\"next\" href=\"boost_global_fixture.html\" title=\"BOOST_GLOBAL_FIXTURE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_case_template.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_global_fixture.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_fixture_test_case\"></a><a class=\"link\" href=\"boost_fixture_test_case.html\" title=\"BOOST_FIXTURE_TEST_CASE\"><code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_FIXTURE_TEST_CASE(</code><em class=\"replaceable\"><code>name</code></em>,\n          <em class=\"replaceable\"><code>fixture</code></em><code class=\"literal\">)</code> defines a test case\n          class <em class=\"replaceable\"><code>name</code></em> that derives from <em class=\"replaceable\"><code>fixture</code></em>.\n          If the test case is declared within a test suite that also has a test fixture,\n          then to get the cumulative effect of both fixtures the test case fixture\n          should derive from the test suite's fixture. Otherwise, the test case fixture\n          will replace the test suite fixture for a test case defined with <code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code>.\n        </p>\n<h6>\n<a name=\"test.reference.test_case.boost_fixture_test_case.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_fixture_test_case.example_source_code\"></a></span><a class=\"link\" href=\"boost_fixture_test_case.html#test.reference.test_case.boost_fixture_test_case.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              Tutorials:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a class=\"link\" href=\"../../tutorials/testing_with_fixtures.html\" title=\"Testing with Fixtures\">Testing\n                    With Fixtures</a>\n                  </li></ul></div>\n            </li>\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/testing_with_fixtures/test/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_case_template.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_global_fixture.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_global_fixture.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_GLOBAL_FIXTURE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"boost_fixture_test_case.html\" title=\"BOOST_FIXTURE_TEST_CASE\">\n<link rel=\"next\" href=\"boost_param_test_case.html\" title=\"BOOST_PARAM_TEST_CASE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fixture_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_param_test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_global_fixture\"></a><a class=\"link\" href=\"boost_global_fixture.html\" title=\"BOOST_GLOBAL_FIXTURE\"><code class=\"literal\">BOOST_GLOBAL_FIXTURE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_GLOBAL_FIXTURE(</code><em class=\"replaceable\"><code>name</code></em><code class=\"literal\">)</code>\n          declares a global fixture that is constructed before executing any test\n          cases and is destroyed after executing all test cases. If more than one\n          global fixture is defined in a single source file, the fixtures are constructed\n          in the order they appear in the source file and destroyed in the reverse\n          order. If global fixtures are defined in multiple source files, the order\n          in which global fixtures are initialized between source files is implementation\n          dependent.\n        </p>\n<p>\n          Because global fixtures are not created and destroyed for each test case,\n          they represent shared state that prevents test cases from executing independently\n          from each other. For this reason, test case fixtures created with <a class=\"link\" href=\"boost_fixture_test_case.html\" title=\"BOOST_FIXTURE_TEST_CASE\"><code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code></a>\n          and test suite fixtures created with <a class=\"link\" href=\"../test_suite/boost_fixture_test_suite.html\" title=\"BOOST_FIXTURE_TEST_SUITE\"><code class=\"literal\">BOOST_FIXTURE_TEST_SUITE</code></a>\n          are preferred over global fixtures.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">struct</span> <span class=\"identifier\">global_fixture</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">global_fixture</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">cout</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"global setup\\n\"</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n    <span class=\"special\">~</span><span class=\"identifier\">global_fixture</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">cout</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"global teardown\\n\"</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_GLOBAL_FIXTURE</span><span class=\"special\">(</span><span class=\"identifier\">global_fixture</span><span class=\"special\">);</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.reference.test_case.boost_global_fixture.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_global_fixture.example_source_code\"></a></span><a class=\"link\" href=\"boost_global_fixture.html#test.reference.test_case.boost_global_fixture.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \"><li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/another_global_fixture.cpp\" target=\"_top\">another_global_fixture.cpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/global_fixture.cpp\" target=\"_top\">global_fixture.cpp</a>\n                  </li>\n</ul></div>\n            </li></ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fixture_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_param_test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_param_class_test_case.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_PARAM_CLASS_TEST_CASE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"boost_param_test_case.html\" title=\"BOOST_PARAM_TEST_CASE\">\n<link rel=\"next\" href=\"boost_test_case.html\" title=\"BOOST_TEST_CASE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_param_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_param_class_test_case\"></a><a class=\"link\" href=\"boost_param_class_test_case.html\" title=\"BOOST_PARAM_CLASS_TEST_CASE\"><code class=\"literal\">BOOST_PARAM_CLASS_TEST_CASE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_PARAM_CLASS_TEST_CASE(</code><em class=\"replaceable\"><code>memfn</code></em>,\n          <em class=\"replaceable\"><code>instance</code></em>, <em class=\"replaceable\"><code>begin</code></em>,\n          <em class=\"replaceable\"><code>end</code></em><code class=\"literal\">)</code> works similarly to\n          <a class=\"link\" href=\"boost_param_test_case.html\" title=\"BOOST_PARAM_TEST_CASE\"><code class=\"literal\">BOOST_PARAM_TEST_CASE</code></a>.\n          It creates a collection of test cases that invoke the member function\n          <em class=\"replaceable\"><code>memfn</code></em> on the instance pointer <em class=\"replaceable\"><code>instance</code></em>.\n          The member function is passed an item obtained by iterating the collection\n          defined by the <em class=\"replaceable\"><code>begin</code></em> and <em class=\"replaceable\"><code>end</code></em>\n          iterators. The <em class=\"replaceable\"><code>instance</code></em> pointer must be passed\n          as a <code class=\"literal\">boost::shared_ptr</code> to ensure the lifetime of the\n          instance exceeds that of any test case using the instance. The test case\n          returned by <code class=\"literal\">BOOST_PARAM_CLASS_TEST_CASE</code> must be added\n          to a test suite in an initialization function for the tests to be executed.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">make_shared</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">shared_ptr</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n\n<span class=\"keyword\">using</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">;</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">hello_world_tester</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">hello_world_tester</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">eq_items</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">);</span>\n        <span class=\"identifier\">eq_items</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">);</span>\n        <span class=\"identifier\">ne_items</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"shaggy\"</span><span class=\"special\">);</span>\n        <span class=\"identifier\">ne_items</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"scooby\"</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"keyword\">void</span> <span class=\"identifier\">inserts_text</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">text</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n\n        <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n        <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"identifier\">text</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n    <span class=\"special\">};</span>\n\n    <span class=\"keyword\">void</span> <span class=\"identifier\">does_not_insert_text</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">text</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n\n        <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n        <span class=\"identifier\">BOOST_REQUIRE_NE</span><span class=\"special\">(</span><span class=\"identifier\">text</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">eq_items</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">ne_items</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">shared_ptr</span><span class=\"special\">&lt;</span><span class=\"identifier\">hello_world_tester</span><span class=\"special\">&gt;</span> <span class=\"identifier\">tester</span><span class=\"special\">(</span><span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">make_shared</span><span class=\"special\">&lt;</span><span class=\"identifier\">hello_world_tester</span><span class=\"special\">&gt;());</span>\n\n<span class=\"keyword\">static</span> <span class=\"identifier\">test_suite</span><span class=\"special\">*</span>\n<span class=\"identifier\">init</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">test_suite</span><span class=\"special\">&amp;</span> <span class=\"identifier\">suite</span> <span class=\"special\">=</span> <span class=\"identifier\">framework</span><span class=\"special\">::</span><span class=\"identifier\">master_test_suite</span><span class=\"special\">();</span>\n    <span class=\"identifier\">suite</span><span class=\"special\">.</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_PARAM_CLASS_TEST_CASE</span><span class=\"special\">(</span>\n        <span class=\"special\">&amp;</span><span class=\"identifier\">hello_world_tester</span><span class=\"special\">::</span><span class=\"identifier\">inserts_text</span><span class=\"special\">,</span> <span class=\"identifier\">tester</span><span class=\"special\">,</span>\n        <span class=\"identifier\">tester</span><span class=\"special\">-&gt;</span><span class=\"identifier\">eq_items</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">tester</span><span class=\"special\">-&gt;</span><span class=\"identifier\">eq_items</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">()));</span>\n    <span class=\"identifier\">suite</span><span class=\"special\">.</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_PARAM_CLASS_TEST_CASE</span><span class=\"special\">(</span>\n        <span class=\"special\">&amp;</span><span class=\"identifier\">hello_world_tester</span><span class=\"special\">::</span><span class=\"identifier\">does_not_insert_text</span><span class=\"special\">,</span> <span class=\"identifier\">tester</span><span class=\"special\">,</span>\n        <span class=\"identifier\">tester</span><span class=\"special\">-&gt;</span><span class=\"identifier\">ne_items</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">tester</span><span class=\"special\">-&gt;</span><span class=\"identifier\">ne_items</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">()));</span>\n    <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">unit_test_main</span><span class=\"special\">(</span><span class=\"identifier\">init</span><span class=\"special\">,</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<div class=\"note\"><table border=\"0\" summary=\"Note\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Note]\" src=\"../../../../../../../doc/src/images/note.png\"></td>\n<th align=\"left\">Note</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            The single <em class=\"replaceable\"><code>instance</code></em> is shared among all test\n            cases and therefore should not keep any shared state that may couple\n            independent test cases. In this example, the output string stream is\n            created fresh inside each test method and not shared between calls to\n            the method.\n          </p></td></tr>\n</table></div>\n<h6>\n<a name=\"test.reference.test_case.boost_param_class_test_case.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_param_class_test_case.example_source_code\"></a></span><a class=\"link\" href=\"boost_param_class_test_case.html#test.reference.test_case.boost_param_class_test_case.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/param_class_test_case.cpp\" target=\"_top\">param_class_test_case.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_param_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_param_test_case.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_PARAM_TEST_CASE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"boost_global_fixture.html\" title=\"BOOST_GLOBAL_FIXTURE\">\n<link rel=\"next\" href=\"boost_param_class_test_case.html\" title=\"BOOST_PARAM_CLASS_TEST_CASE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_global_fixture.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_param_class_test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_param_test_case\"></a><a class=\"link\" href=\"boost_param_test_case.html\" title=\"BOOST_PARAM_TEST_CASE\"><code class=\"literal\">BOOST_PARAM_TEST_CASE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_PARAM_TEST_CASE(</code><em class=\"replaceable\"><code>fn</code></em>,\n          <em class=\"replaceable\"><code>begin</code></em>, <em class=\"replaceable\"><code>end</code></em><code class=\"literal\">)</code>\n          creates a series of test cases that invoking the callable object <em class=\"replaceable\"><code>fn</code></em>\n          on the items in the collection defined by <em class=\"replaceable\"><code>begin</code></em>\n          and <em class=\"replaceable\"><code>end</code></em>. The test case returned by <code class=\"literal\">BOOST_PARAM_TEST_CASE</code>\n          must be added to a test suite in an initialization function for the tests\n          to be executed. The iterators <em class=\"replaceable\"><code>begin</code></em> and <em class=\"replaceable\"><code>end</code></em>\n          must be valid at the time the test case executes and not just at the time\n          the test case is created.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">using</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">;</span>\n\n<span class=\"keyword\">static</span> <span class=\"keyword\">void</span> <span class=\"identifier\">does_not_insert_text</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">text</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_NE</span><span class=\"special\">(</span><span class=\"identifier\">text</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">static</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span> <span class=\"identifier\">text</span><span class=\"special\">;</span>\n\n<span class=\"keyword\">static</span> <span class=\"identifier\">test_suite</span><span class=\"special\">*</span>\n<span class=\"identifier\">init</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">text</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"scooby\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">text</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"shaggy\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">text</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"foo\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">text</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"string\">\"arg\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">framework</span><span class=\"special\">::</span><span class=\"identifier\">master_test_suite</span><span class=\"special\">()</span>\n        <span class=\"special\">.</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_PARAM_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">does_not_insert_text</span><span class=\"special\">,</span> <span class=\"identifier\">text</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">text</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">()));</span>\n    <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">unit_test_main</span><span class=\"special\">(</span><span class=\"identifier\">init</span><span class=\"special\">,</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.reference.test_case.boost_param_test_case.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_param_test_case.example_source_code\"></a></span><a class=\"link\" href=\"boost_param_test_case.html#test.reference.test_case.boost_param_test_case.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/param_test_case.cpp\" target=\"_top\">param_test_case.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_global_fixture.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_param_class_test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_test_case.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_CASE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"boost_param_class_test_case.html\" title=\"BOOST_PARAM_CLASS_TEST_CASE\">\n<link rel=\"next\" href=\"boost_test_case_template.html\" title=\"BOOST_TEST_CASE_TEMPLATE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_param_class_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_case_template.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_test_case\"></a><a class=\"link\" href=\"boost_test_case.html\" title=\"BOOST_TEST_CASE\"><code class=\"literal\">BOOST_TEST_CASE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_TEST_CASE(</code><em class=\"replaceable\"><code>fn</code></em><code class=\"literal\">)</code>\n          creates a new test case named \"fn\" that executes the callable\n          function <em class=\"replaceable\"><code>fn</code></em>. The test case returned by <code class=\"literal\">BOOST_TEST_CASE</code>\n          must be added to a test suite in an initialization function for the tests\n          to be executed.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_NO_MAIN</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">included</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n<span class=\"preprocessor\">#include</span> <span class=\"string\">\"hello.hpp\"</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">sstream</span><span class=\"special\">&gt;</span>\n\n<span class=\"keyword\">using</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">;</span>\n\n<span class=\"keyword\">static</span> <span class=\"keyword\">void</span> <span class=\"identifier\">inserts_text</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">static</span> <span class=\"identifier\">test_suite</span><span class=\"special\">*</span>\n<span class=\"identifier\">init</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">framework</span><span class=\"special\">::</span><span class=\"identifier\">master_test_suite</span><span class=\"special\">().</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">inserts_text</span><span class=\"special\">));</span>\n    <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">unit_test_main</span><span class=\"special\">(</span><span class=\"identifier\">init</span><span class=\"special\">,</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.reference.test_case.boost_test_case.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_test_case.example_source_code\"></a></span><a class=\"link\" href=\"boost_test_case.html#test.reference.test_case.boost_test_case.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/test_case.cpp\" target=\"_top\">test_case.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_param_class_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_case_template.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_test_case_template.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_CASE_TEMPLATE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"boost_test_case.html\" title=\"BOOST_TEST_CASE\">\n<link rel=\"next\" href=\"boost_test_case_template_function.html\" title=\"BOOST_TEST_CASE_TEMPLATE_FUNCTION\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_case_template_function.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_test_case_template\"></a><a class=\"link\" href=\"boost_test_case_template.html\" title=\"BOOST_TEST_CASE_TEMPLATE\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_TEST_CASE_TEMPLATE(</code><em class=\"replaceable\"><code>name</code></em>,\n          <em class=\"replaceable\"><code>types</code></em><code class=\"literal\">)</code> manually creates a\n          set of test cases from the template test case <em class=\"replaceable\"><code>name</code></em>\n          for each type in <em class=\"replaceable\"><code>types</code></em>. The test case returned\n          by <code class=\"literal\">BOOST_TEST_CASE_TEMPLATE</code> must be added to a test\n          suite in an initialization function for the tests to be executed. The test\n          case function is defined with the <a class=\"link\" href=\"boost_test_case_template_function.html\" title=\"BOOST_TEST_CASE_TEMPLATE_FUNCTION\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE_FUNCTION</code></a>\n          macro.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"identifier\">test_suite</span><span class=\"special\">*</span>\n<span class=\"identifier\">init</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">test_suite</span><span class=\"special\">&amp;</span> <span class=\"identifier\">suite</span><span class=\"special\">(</span><span class=\"identifier\">framework</span><span class=\"special\">::</span><span class=\"identifier\">master_test_suite</span><span class=\"special\">());</span>\n    <span class=\"identifier\">suite</span><span class=\"special\">.</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_TEST_CASE_TEMPLATE</span><span class=\"special\">(</span><span class=\"identifier\">not_is_signed_for_unsigned_types</span><span class=\"special\">,</span> <span class=\"identifier\">unsigned_types</span><span class=\"special\">));</span>\n    <span class=\"identifier\">suite</span><span class=\"special\">.</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_TEST_CASE_TEMPLATE</span><span class=\"special\">(</span><span class=\"identifier\">is_signed_for_signed_types</span><span class=\"special\">,</span> <span class=\"identifier\">signed_types</span><span class=\"special\">));</span>\n    <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">main</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">unit_test_main</span><span class=\"special\">(</span><span class=\"identifier\">init</span><span class=\"special\">,</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.reference.test_case.boost_test_case_template.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_test_case_template.example_source_code\"></a></span><a class=\"link\" href=\"boost_test_case_template.html#test.reference.test_case.boost_test_case_template.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \"><li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/test_case_template.cpp\" target=\"_top\">test_case_template.cpp</a>\n                  </li></ul></div>\n            </li></ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_case_template_function.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case/boost_test_case_template_function.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_CASE_TEMPLATE_FUNCTION</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_case.html\" title=\"Test Cases\">\n<link rel=\"prev\" href=\"boost_test_case_template.html\" title=\"BOOST_TEST_CASE_TEMPLATE\">\n<link rel=\"next\" href=\"../test_suite.html\" title=\"Test Suites\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_case_template.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_case.boost_test_case_template_function\"></a><a class=\"link\" href=\"boost_test_case_template_function.html\" title=\"BOOST_TEST_CASE_TEMPLATE_FUNCTION\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE_FUNCTION</code></a>\n</h4></div></div></div>\n<p>\n          <code class=\"literal\">BOOST_TEST_CASE_TEMPLATE_FUNCTION(</code><em class=\"replaceable\"><code>name</code></em>,\n          <em class=\"replaceable\"><code>T</code></em><code class=\"literal\">)</code> defines a test case function\n          named <em class=\"replaceable\"><code>name</code></em> that is parameterized by a type parameter\n          <em class=\"replaceable\"><code>T</code></em>. The defined functions are then available\n          for registration as parameterized test cases with <a class=\"link\" href=\"boost_test_case_template.html\" title=\"BOOST_TEST_CASE_TEMPLATE\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE</code></a>.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">typedef</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">mpl</span><span class=\"special\">::</span><span class=\"identifier\">list</span><span class=\"special\">&lt;</span>\n    <span class=\"keyword\">char</span><span class=\"special\">,</span> <span class=\"keyword\">short</span><span class=\"special\">,</span>\n    <span class=\"keyword\">int</span><span class=\"special\">,</span>\n    <span class=\"keyword\">long</span><span class=\"special\">,</span> <span class=\"keyword\">long</span> <span class=\"keyword\">long</span><span class=\"special\">&gt;</span> <span class=\"identifier\">signed_types</span><span class=\"special\">;</span>\n\n<span class=\"identifier\">BOOST_TEST_CASE_TEMPLATE_FUNCTION</span><span class=\"special\">(</span><span class=\"identifier\">is_signed_for_signed_types</span><span class=\"special\">,</span> <span class=\"identifier\">T</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">numeric_limits</span><span class=\"special\">&lt;</span><span class=\"identifier\">T</span><span class=\"special\">&gt;::</span><span class=\"identifier\">is_signed</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.reference.test_case.boost_test_case_template_function.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_case.boost_test_case_template_function.example_source_code\"></a></span><a class=\"link\" href=\"boost_test_case_template_function.html#test.reference.test_case.boost_test_case_template_function.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \"><li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/test_case_template.cpp\" target=\"_top\">test_case_template.cpp</a>\n                  </li></ul></div>\n            </li></ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_case_template.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_case.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_case.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Cases</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../reference.html\" title=\"Reference\">\n<link rel=\"prev\" href=\"configuration_macros.html\" title=\"Configuration Macros\">\n<link rel=\"next\" href=\"test_case/boost_auto_test_case.html\" title=\"BOOST_AUTO_TEST_CASE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"configuration_macros.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_case/boost_auto_test_case.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.reference.test_case\"></a><a class=\"link\" href=\"test_case.html\" title=\"Test Cases\">Test Cases</a>\n</h3></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"test_case/boost_auto_test_case.html\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_case/boost_auto_test_case_expected_failures.html\"><code class=\"literal\">BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_case/boost_auto_test_case_template.html\"><code class=\"literal\">BOOST_AUTO_TEST_CASE_TEMPLATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_case/boost_fixture_test_case.html\"><code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_case/boost_global_fixture.html\"><code class=\"literal\">BOOST_GLOBAL_FIXTURE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_case/boost_param_test_case.html\"><code class=\"literal\">BOOST_PARAM_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_case/boost_param_class_test_case.html\"><code class=\"literal\">BOOST_PARAM_CLASS_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_case/boost_test_case.html\"><code class=\"literal\">BOOST_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_case/boost_test_case_template.html\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_case/boost_test_case_template_function.html\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE_FUNCTION</code></a></span></dt>\n</dl></div>\n<p>\n        A test case is a named body of code providing the three phases of a test:\n        setup, exercise and verify. A test case is most conveniently created using\n        one of the provided test case macros listed in the following table.\n      </p>\n<div class=\"table\">\n<a name=\"test.reference.test_case.test_case_macros\"></a><p class=\"title\"><b>Table&#160;1.1.&#160;Test Case Macros</b></p>\n<div class=\"table-contents\"><table class=\"table\" summary=\"Test Case Macros\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                <p>\n                  Macro\n                </p>\n              </th>\n<th>\n                <p>\n                  Description\n                </p>\n              </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                <p>\n                  <code class=\"literal\">BOOST_AUTO_TEST_CASE(</code><em class=\"replaceable\"><code>name</code></em><code class=\"literal\">)</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  Creates test case <em class=\"replaceable\"><code>name</code></em> and automatically\n                  registers it with the test runner.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <code class=\"literal\">BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(</code><em class=\"replaceable\"><code>name</code></em>,\n                  <em class=\"replaceable\"><code>count</code></em><code class=\"literal\">)</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  Informs the test runner that test case <em class=\"replaceable\"><code>name</code></em>\n                  should result in <em class=\"replaceable\"><code>count</code></em> failures.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <code class=\"literal\">BOOST_AUTO_TEST_CASE_TEMPLATE(</code><em class=\"replaceable\"><code>name</code></em>,\n                  <em class=\"replaceable\"><code>T</code></em>, <em class=\"replaceable\"><code>types</code></em><code class=\"literal\">)</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  Automatically registers a test case <em class=\"replaceable\"><code>name</code></em>\n                  parameterized by the template argument <em class=\"replaceable\"><code>T</code></em>\n                  over the collection of <em class=\"replaceable\"><code>types</code></em>.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <code class=\"literal\">BOOST_FIXTURE_TEST_CASE(</code><em class=\"replaceable\"><code>name</code></em>,\n                  <em class=\"replaceable\"><code>fixture</code></em><code class=\"literal\">)</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  Creates test case <em class=\"replaceable\"><code>name</code></em> derived from\n                  the fixture <em class=\"replaceable\"><code>fixture</code></em> and automatically\n                  registers it with the test runner.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <code class=\"literal\">BOOST_PARAM_TEST_CASE(</code><em class=\"replaceable\"><code>fn</code></em>,\n                  <em class=\"replaceable\"><code>begin</code></em>, <em class=\"replaceable\"><code>end</code></em><code class=\"literal\">)</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  Manually creates a parameterized test case using the supplied callable\n                  object <em class=\"replaceable\"><code>fn</code></em> and parameter iterators <em class=\"replaceable\"><code>begin</code></em>\n                  and <em class=\"replaceable\"><code>end</code></em>.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <code class=\"literal\">BOOST_PARAM_CLASS_TEST_CASE(</code><em class=\"replaceable\"><code>fn</code></em>,\n                  <em class=\"replaceable\"><code>instance</code></em>, <em class=\"replaceable\"><code>begin</code></em>,\n                  <em class=\"replaceable\"><code>end</code></em><code class=\"literal\">)</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  Manually creates a parameterized test case using the supplied callable\n                  object <em class=\"replaceable\"><code>fn</code></em>, class instance <em class=\"replaceable\"><code>instance</code></em>\n                  and parameter iterators <em class=\"replaceable\"><code>begin</code></em> and <em class=\"replaceable\"><code>end</code></em>.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <code class=\"literal\">BOOST_TEST_CASE(</code><em class=\"replaceable\"><code>fn</code></em><code class=\"literal\">)</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  Manually creates a test case using the supplied callable object\n                  <em class=\"replaceable\"><code>fn</code></em>.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <code class=\"literal\">BOOST_TEST_CASE_TEMPLATE(</code><em class=\"replaceable\"><code>name</code></em>,\n                  <em class=\"replaceable\"><code>types</code></em><code class=\"literal\">)</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  Manually creates a set of test cases from the template test case\n                  <em class=\"replaceable\"><code>name</code></em> for each type in <em class=\"replaceable\"><code>types</code></em>.\n                </p>\n              </td>\n</tr>\n<tr>\n<td>\n                <p>\n                  <code class=\"literal\">BOOST_TEST_CASE_TEMPLATE_FUNCTION(</code><em class=\"replaceable\"><code>name</code></em>,\n                  <em class=\"replaceable\"><code>T</code></em><code class=\"literal\">)</code>\n                </p>\n              </td>\n<td>\n                <p>\n                  Manually creates a template test case <em class=\"replaceable\"><code>name</code></em>\n                  parameterized by the template argument <em class=\"replaceable\"><code>T</code></em>.\n                </p>\n              </td>\n</tr>\n</tbody>\n</table></div>\n</div>\n<br class=\"table-break\">\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"configuration_macros.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_case/boost_auto_test_case.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___bitwise_equal_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_BITWISE_EQUAL</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"levels.html\" title=\"Assertion Levels\">\n<link rel=\"next\" href=\"_boost____level___close_.html\" title=\"BOOST_level_CLOSE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"levels.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___close_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___bitwise_equal_\"></a><a class=\"link\" href=\"_boost____level___bitwise_equal_.html\" title=\"BOOST_level_BITWISE_EQUAL\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_BITWISE_EQUAL</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BITWISE_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL(</code><em class=\"replaceable\"><code>lhs</code></em>,\n            <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> compares the two arguments\n            for bitwise equality and fails if they are not equal. This can be useful\n            when testing integral values that represent a logical or combination\n            of bit flags.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">enum</span> <span class=\"identifier\">bit_flags</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">source_file</span> <span class=\"special\">=</span> <span class=\"number\">1u</span><span class=\"special\">,</span>\n    <span class=\"identifier\">header_file</span> <span class=\"special\">=</span> <span class=\"number\">2u</span><span class=\"special\">,</span>\n    <span class=\"identifier\">build_file</span> <span class=\"special\">=</span> <span class=\"number\">4u</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_bitwise_equal</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_BITWISE_EQUAL</span><span class=\"special\">(</span>\n        <span class=\"identifier\">source_file</span> <span class=\"special\">|</span> <span class=\"identifier\">build_file</span><span class=\"special\">,</span>\n        <span class=\"identifier\">build_file</span> <span class=\"special\">|</span> <span class=\"identifier\">source_file</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"levels.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___close_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___close_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_CLOSE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___bitwise_equal_.html\" title=\"BOOST_level_BITWISE_EQUAL\">\n<link rel=\"next\" href=\"_boost____level___close_fraction_.html\" title=\"BOOST_level_CLOSE_FRACTION\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___bitwise_equal_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___close_fraction_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___close_\"></a><a class=\"link\" href=\"_boost____level___close_.html\" title=\"BOOST_level_CLOSE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE(</code><em class=\"replaceable\"><code>lhs</code></em>,\n            <em class=\"replaceable\"><code>rhs</code></em>, <em class=\"replaceable\"><code>tolerance</code></em><code class=\"literal\">)</code>\n            compares the two floating-point arguments and considers them equal if\n            they agree within the given <em class=\"replaceable\"><code>tolerance</code></em>. The\n            <em class=\"replaceable\"><code>tolerance</code></em> is given as a percentage.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_close</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_CLOSE</span><span class=\"special\">(</span><span class=\"number\">100.f</span><span class=\"special\">,</span> <span class=\"number\">100.9f</span><span class=\"special\">,</span> <span class=\"number\">1.f</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_CLOSE</span><span class=\"special\">(</span><span class=\"number\">100.f</span><span class=\"special\">,</span> <span class=\"number\">99.1f</span><span class=\"special\">,</span> <span class=\"number\">1.f</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n<p>\n            TODO: link to floating-point algorithm explanation\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___bitwise_equal_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___close_fraction_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___close_fraction_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_CLOSE_FRACTION</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___close_.html\" title=\"BOOST_level_CLOSE\">\n<link rel=\"next\" href=\"boost_level_equal.html\" title=\"BOOST_level_EQUAL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___close_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_equal.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___close_fraction_\"></a><a class=\"link\" href=\"_boost____level___close_fraction_.html\" title=\"BOOST_level_CLOSE_FRACTION\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE_FRACTION</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE_FRACTION(</code><em class=\"replaceable\"><code>lhs</code></em>,\n            <em class=\"replaceable\"><code>rhs</code></em>, <em class=\"replaceable\"><code>tolerance</code></em><code class=\"literal\">)</code>\n            compares the two floating-point arguments and considers them equal if\n            they agree within the given <em class=\"replaceable\"><code>tolerance</code></em>. The\n            <em class=\"replaceable\"><code>tolerance</code></em> is given as a percentage.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_close_fraction</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_CLOSE_FRACTION</span><span class=\"special\">(</span><span class=\"number\">100.f</span><span class=\"special\">,</span> <span class=\"number\">100.9f</span><span class=\"special\">,</span> <span class=\"number\">1.f</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_CLOSE_FRACTION</span><span class=\"special\">(</span><span class=\"number\">100.f</span><span class=\"special\">,</span> <span class=\"number\">99.1f</span><span class=\"special\">,</span> <span class=\"number\">1.f</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n<p>\n            TODO: link to floating-point algorithm explanation\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___close_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_equal.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___equal_collections_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_EQUAL_COLLECTIONS</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_level_equal.html\" title=\"BOOST_level_EQUAL\">\n<link rel=\"next\" href=\"_boost____level___exception_.html\" title=\"BOOST_level_EXCEPTION\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_equal.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___exception_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___equal_collections_\"></a><a class=\"link\" href=\"_boost____level___equal_collections_.html\" title=\"BOOST_level_EQUAL_COLLECTIONS\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL_COLLECTIONS</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em>=_EQUAL_COLLECTIONS(<em class=\"replaceable\"><code>lhs_begin</code></em>,\n            <em class=\"replaceable\"><code>lhs_end</code></em>, <em class=\"replaceable\"><code>rhs_begin</code></em>,\n            <em class=\"replaceable\"><code>rhs_end</code></em><code class=\"literal\">)</code> compares two collections\n            for equality. Two collections are considered equal if they have the same\n            number of elements and the elements compare equal by <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code>. The elements are obtained through\n            the supplied iterators on the collections. The diagnostic message is\n            constructed from applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> to each of the elements in the\n            collections.\n          </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n              If you get a strange compile error when using <code class=\"literal\">BOOST_EQUAL_COLLECTIONS</code>,\n              check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the element\n              type in the collection. If you define these operators in your test\n              code, keep in mind argument-dependent lookup of types based on enclosing\n              namespaces and the namespaces opened by test suites.\n            </p></td></tr>\n</table></div>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_equal_collections</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">vector</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span><span class=\"special\">&gt;</span> <span class=\"identifier\">v</span><span class=\"special\">;</span>\n    <span class=\"identifier\">v</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">);</span>\n    <span class=\"identifier\">v</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"number\">2</span><span class=\"special\">);</span>\n    <span class=\"identifier\">v</span><span class=\"special\">.</span><span class=\"identifier\">push_back</span><span class=\"special\">(</span><span class=\"number\">3</span><span class=\"special\">);</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">list</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span><span class=\"special\">&gt;</span> <span class=\"identifier\">l</span><span class=\"special\">;</span>\n    <span class=\"identifier\">l</span><span class=\"special\">.</span><span class=\"identifier\">push_front</span><span class=\"special\">(</span><span class=\"number\">3</span><span class=\"special\">);</span>\n    <span class=\"identifier\">l</span><span class=\"special\">.</span><span class=\"identifier\">push_front</span><span class=\"special\">(</span><span class=\"number\">2</span><span class=\"special\">);</span>\n    <span class=\"identifier\">l</span><span class=\"special\">.</span><span class=\"identifier\">push_front</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL_COLLECTIONS</span><span class=\"special\">(</span><span class=\"identifier\">v</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">v</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">(),</span> <span class=\"identifier\">l</span><span class=\"special\">.</span><span class=\"identifier\">begin</span><span class=\"special\">(),</span> <span class=\"identifier\">l</span><span class=\"special\">.</span><span class=\"identifier\">end</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_equal.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___exception_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___exception_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_EXCEPTION</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___equal_collections_.html\" title=\"BOOST_level_EQUAL_COLLECTIONS\">\n<link rel=\"next\" href=\"_boost____level___ge_.html\" title=\"BOOST_level_GE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ge_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___exception_\"></a><a class=\"link\" href=\"_boost____level___exception_.html\" title=\"BOOST_level_EXCEPTION\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION(</code><em class=\"replaceable\"><code>statement</code></em>,\n            <em class=\"replaceable\"><code>exception</code></em>, <em class=\"replaceable\"><code>predicate</code></em><code class=\"literal\">)</code>\n            asserts that when <em class=\"replaceable\"><code>statement</code></em> throws an exception\n            of type <em class=\"replaceable\"><code>exception</code></em>, the <em class=\"replaceable\"><code>predicate</code></em>\n            applied to the instance of the exception returns <code class=\"literal\">true</code>.\n            This is used to verify not only that an exception of the correct type\n            was thrown, but that the contents of the thrown exception meet the expectations\n            of the predicate.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">class</span> <span class=\"identifier\">error_number_exception</span>\n<span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">error_number_exception</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">num</span><span class=\"special\">)</span>\n        <span class=\"special\">:</span> <span class=\"identifier\">num_</span><span class=\"special\">(</span><span class=\"identifier\">num</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span> <span class=\"special\">}</span>\n\n    <span class=\"keyword\">int</span> <span class=\"identifier\">error_number</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">num_</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n\n<span class=\"keyword\">private</span><span class=\"special\">:</span>\n    <span class=\"keyword\">int</span> <span class=\"identifier\">num_</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"keyword\">bool</span> <span class=\"identifier\">has_error_number_1</span><span class=\"special\">(</span><span class=\"identifier\">error_number_exception</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">ex</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">ex</span><span class=\"special\">.</span><span class=\"identifier\">error_number</span><span class=\"special\">()</span> <span class=\"special\">==</span> <span class=\"number\">1</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_exception</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EXCEPTION</span><span class=\"special\">(</span><span class=\"keyword\">throw</span> <span class=\"identifier\">error_number_exception</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">),</span> <span class=\"identifier\">error_number_exception</span><span class=\"special\">,</span> <span class=\"identifier\">has_error_number_1</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ge_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___ge_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_GE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___exception_.html\" title=\"BOOST_level_EXCEPTION\">\n<link rel=\"next\" href=\"_boost____level___gt_.html\" title=\"BOOST_level_GT\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___exception_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___gt_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___ge_\"></a><a class=\"link\" href=\"_boost____level___ge_.html\" title=\"BOOST_level_GE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE(</code><em class=\"replaceable\"><code>lhs</code></em>,\n            <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n            is greater than or equal to <em class=\"replaceable\"><code>rhs</code></em>. The comparison\n            is made by applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&gt;=</span></code> to both arguments. The diagnostic\n            message is constructed from applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> to the two arguments.\n          </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n              If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE</code>,\n              check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&gt;=</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n              If you define these operators in your test code, keep in mind argument-dependent\n              lookup of types based on enclosing namespaces and the namespaces opened\n              by test suites.\n            </p></td></tr>\n</table></div>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_ge</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">1u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">10</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">A</span> <span class=\"special\">=</span> <span class=\"char\">'A'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator&gt;= and operator&lt;&lt;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"number\">2u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"number\">1u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(-</span><span class=\"number\">9</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(-</span><span class=\"number\">10</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"char\">'B'</span><span class=\"special\">,</span> <span class=\"identifier\">A</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"char\">'A'</span><span class=\"special\">,</span> <span class=\"identifier\">A</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"string\">\"scoobz\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GE</span><span class=\"special\">(</span><span class=\"string\">\"scooby\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___exception_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___gt_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___gt_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_GT</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___ge_.html\" title=\"BOOST_level_GE\">\n<link rel=\"next\" href=\"_boost____level___le_.html\" title=\"BOOST_level_LE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ge_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___le_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___gt_\"></a><a class=\"link\" href=\"_boost____level___gt_.html\" title=\"BOOST_level_GT\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT(</code><em class=\"replaceable\"><code>lhs</code></em>,\n            <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n            is greater than <em class=\"replaceable\"><code>rhs</code></em>. The comparison is made\n            by applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&gt;</span></code>\n            to both arguments. The diagnostic message is constructed from applying\n            <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n            to the two arguments.\n          </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n              If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT</code>,\n              check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&gt;</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n              If you define these operators in your test code, keep in mind argument-dependent\n              lookup of types based on enclosing namespaces and the namespaces opened\n              by test suites.\n            </p></td></tr>\n</table></div>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_gt</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">1u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">10</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">A</span> <span class=\"special\">=</span> <span class=\"char\">'A'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator&gt; and operator==</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_GT</span><span class=\"special\">(</span><span class=\"number\">2u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GT</span><span class=\"special\">(-</span><span class=\"number\">9</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GT</span><span class=\"special\">(</span><span class=\"char\">'B'</span><span class=\"special\">,</span> <span class=\"identifier\">A</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_GT</span><span class=\"special\">(</span><span class=\"string\">\"scoobz\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ge_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___le_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___le_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_LE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___gt_.html\" title=\"BOOST_level_GT\">\n<link rel=\"next\" href=\"_boost____level___lt_.html\" title=\"BOOST_level_LT\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___gt_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___le_\"></a><a class=\"link\" href=\"_boost____level___le_.html\" title=\"BOOST_level_LE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE(</code><em class=\"replaceable\"><code>lhs</code></em>,\n            <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n            is less than or equal to <em class=\"replaceable\"><code>rhs</code></em>. The comparison\n            is made by applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;=</span></code> to both arguments. The diagnostic\n            message is constructed from applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> to the two arguments.\n          </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n              If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE</code>,\n              check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;=</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n              If you define these operators in your test code, keep in mind argument-dependent\n              lookup of types based on enclosing namespaces and the namespaces opened\n              by test suites.\n            </p></td></tr>\n</table></div>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_le</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">10u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">10</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">M</span> <span class=\"special\">=</span> <span class=\"char\">'M'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator&gt;= and operator&lt;&lt;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"number\">9u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"number\">10u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(-</span><span class=\"number\">11</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(-</span><span class=\"number\">10</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"char\">'L'</span><span class=\"special\">,</span> <span class=\"identifier\">M</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"char\">'M'</span><span class=\"special\">,</span> <span class=\"identifier\">M</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"string\">\"scoobx\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LE</span><span class=\"special\">(</span><span class=\"string\">\"scooby\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___gt_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___lt_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_LT</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___le_.html\" title=\"BOOST_level_LE\">\n<link rel=\"next\" href=\"_boost____level___message_.html\" title=\"BOOST_level_MESSAGE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___le_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___message_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___lt_\"></a><a class=\"link\" href=\"_boost____level___lt_.html\" title=\"BOOST_level_LT\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT(</code><em class=\"replaceable\"><code>lhs</code></em>,\n            <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n            is less than <em class=\"replaceable\"><code>rhs</code></em>. The comparison is made by\n            applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;</span></code>\n            to both arguments. The diagnostic message is constructed from applying\n            <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n            to the two arguments.\n          </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n              If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT</code>,\n              check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n              If you define these operators in your test code, keep in mind argument-dependent\n              lookup of types based on enclosing namespaces and the namespaces opened\n              by test suites.\n            </p></td></tr>\n</table></div>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_lt</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">10u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">10</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">M</span> <span class=\"special\">=</span> <span class=\"char\">'M'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator&gt;= and operator&lt;&lt;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_LT</span><span class=\"special\">(</span><span class=\"number\">9u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LT</span><span class=\"special\">(-</span><span class=\"number\">11</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LT</span><span class=\"special\">(</span><span class=\"char\">'L'</span><span class=\"special\">,</span> <span class=\"identifier\">M</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_LT</span><span class=\"special\">(</span><span class=\"string\">\"scoobx\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___le_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___message_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___message_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_MESSAGE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___lt_.html\" title=\"BOOST_level_LT\">\n<link rel=\"next\" href=\"_boost____level___ne_.html\" title=\"BOOST_level_NE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___message_\"></a><a class=\"link\" href=\"_boost____level___message_.html\" title=\"BOOST_level_MESSAGE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE(</code><em class=\"replaceable\"><code>predicate</code></em>,\n            <em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code> emits <em class=\"replaceable\"><code>message</code></em>\n            if the supplied <em class=\"replaceable\"><code>predicate</code></em> evaluates to false.\n            The <em class=\"replaceable\"><code>message</code></em> is applied to an output stream\n            with <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n            and the argument can contain additional applications of <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n            for building up complex messages. The predicate can return <code class=\"literal\">bool</code>\n            or __predicate_result__.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"keyword\">int</span> <span class=\"identifier\">g_i</span><span class=\"special\">;</span>\n\n<span class=\"comment\">// simple predicate</span>\n<span class=\"keyword\">static</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">global_int_is_positive</span><span class=\"special\">()</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">g_i</span> <span class=\"special\">&gt;</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"comment\">// predicate that builds up detail message</span>\n<span class=\"keyword\">static</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">test_tools</span><span class=\"special\">::</span><span class=\"identifier\">predicate_result</span> <span class=\"identifier\">global_int_equal</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">expected</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">if</span> <span class=\"special\">(</span><span class=\"identifier\">g_i</span> <span class=\"special\">==</span> <span class=\"identifier\">expected</span><span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"keyword\">return</span> <span class=\"keyword\">true</span><span class=\"special\">;</span>\n    <span class=\"special\">}</span>\n\n    <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">test_tools</span><span class=\"special\">::</span><span class=\"identifier\">predicate_result</span> <span class=\"identifier\">failed</span> <span class=\"special\">=</span> <span class=\"keyword\">false</span><span class=\"special\">;</span>\n    <span class=\"identifier\">failed</span><span class=\"special\">.</span><span class=\"identifier\">message</span><span class=\"special\">()</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"g_i != \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">expected</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"; actual: \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">g_i</span><span class=\"special\">;</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">failed</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_message</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">g_i</span> <span class=\"special\">=</span> <span class=\"number\">1</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_MESSAGE</span><span class=\"special\">(</span><span class=\"identifier\">global_int_is_positive</span><span class=\"special\">(),</span>\n        <span class=\"string\">\"g_i is not positive; actual: \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">g_i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_MESSAGE</span><span class=\"special\">(</span><span class=\"identifier\">global_int_equal</span><span class=\"special\">(</span><span class=\"number\">1</span><span class=\"special\">),</span> <span class=\"string\">\"\"</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___lt_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___ne_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_NE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___message_.html\" title=\"BOOST_level_MESSAGE\">\n<link rel=\"next\" href=\"_boost____level___no_throw_.html\" title=\"BOOST_level_NO_THROW\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___message_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___no_throw_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___ne_\"></a><a class=\"link\" href=\"_boost____level___ne_.html\" title=\"BOOST_level_NE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE(</code><em class=\"replaceable\"><code>lhs</code></em>,\n            <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code> asserts that <em class=\"replaceable\"><code>lhs</code></em>\n            is not equal to <em class=\"replaceable\"><code>rhs</code></em>. The comparison is made\n            by applying <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">!=</span></code>\n            to both arguments. The diagnostic message is constructed from applying\n            <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n            to the two arguments.\n          </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n              If you get a strange compile error when using <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE</code>,\n              check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">!=</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n              If you define these operators in your test code, keep in mind argument-dependent\n              lookup of types based on enclosing namespaces and the namespaces opened\n              by test suites.\n            </p></td></tr>\n</table></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___message_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___no_throw_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___no_throw_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_NO_THROW</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___ne_.html\" title=\"BOOST_level_NE\">\n<link rel=\"next\" href=\"_boost____level___predicate_.html\" title=\"BOOST_level_PREDICATE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___no_throw_\"></a><a class=\"link\" href=\"_boost____level___no_throw_.html\" title=\"BOOST_level_NO_THROW\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW(</code><em class=\"replaceable\"><code>statement</code></em><code class=\"literal\">)</code>\n            asserts that <em class=\"replaceable\"><code>statement</code></em> does not throw an exception.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___ne_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___predicate_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_PREDICATE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___no_throw_.html\" title=\"BOOST_level_NO_THROW\">\n<link rel=\"next\" href=\"_boost____level___small_.html\" title=\"BOOST_level_SMALL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___no_throw_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___small_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___predicate_\"></a><a class=\"link\" href=\"_boost____level___predicate_.html\" title=\"BOOST_level_PREDICATE\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_PREDICATE</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_PREDICATE(</code><em class=\"replaceable\"><code>predicate</code></em>,\n            <em class=\"replaceable\"><code>args</code></em><code class=\"literal\">)</code> asserts that the\n            supplied <em class=\"replaceable\"><code>predicate</code></em> applied to <em class=\"replaceable\"><code>args</code></em>\n            evaluates to true.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___no_throw_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___small_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost____level___small_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_SMALL</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___predicate_.html\" title=\"BOOST_level_PREDICATE\">\n<link rel=\"next\" href=\"boost_level_throw.html\" title=\"BOOST_level_THROW\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\"><div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost____level___small_\"></a><a class=\"link\" href=\"_boost____level___small_.html\" title=\"BOOST_level_SMALL\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_SMALL</code></a>\n</h5></div></div></div></div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___predicate_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost_test_dont_print_log_value_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_DONT_PRINT_LOG_VALUE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost_test_is_defined_.html\" title=\"BOOST_TEST_IS_DEFINED\">\n<link rel=\"next\" href=\"../runner.html\" title=\"Test Runner\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost_test_is_defined_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../runner.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost_test_dont_print_log_value_\"></a><a class=\"link\" href=\"_boost_test_dont_print_log_value_.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE(</code><em class=\"replaceable\"><code>type</code></em><code class=\"literal\">)</code>\n            instructs the test framework to ignore values of type <em class=\"replaceable\"><code>type</code></em>\n            when constructing diagnostic messages. It does this by defining an empty\n            implementation of a print function specialized for <em class=\"replaceable\"><code>type</code></em>.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost_test_is_defined_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../runner.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost_test_error_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_ERROR</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_level_throw.html\" title=\"BOOST_level_THROW\">\n<link rel=\"next\" href=\"boost_fail.html\" title=\"BOOST_TEST_FAIL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fail.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost_test_error_\"></a><a class=\"link\" href=\"_boost_test_error_.html\" title=\"BOOST_TEST_ERROR\"><code class=\"literal\">BOOST_TEST_ERROR</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_TEST_ERROR(</code><em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code>\n            always fails and emits the given <em class=\"replaceable\"><code>message</code></em> at\n            the <code class=\"literal\">CHECK</code> assertion level.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_level_throw.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fail.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/_boost_test_is_defined_.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_IS_DEFINED</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"boost_fail.html\" title=\"BOOST_TEST_FAIL\">\n<link rel=\"next\" href=\"_boost_test_dont_print_log_value_.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fail.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_dont_print_log_value_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion._boost_test_is_defined_\"></a><a class=\"link\" href=\"_boost_test_is_defined_.html\" title=\"BOOST_TEST_IS_DEFINED\"><code class=\"literal\">BOOST_TEST_IS_DEFINED</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_TEST_IS_DEFINED(</code><em class=\"replaceable\"><code>symbol</code></em><code class=\"literal\">)</code>\n            asserts that <em class=\"replaceable\"><code>symbol</code></em> is a defined value.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fail.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_dont_print_log_value_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/boost_fail.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_FAIL</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost_test_error_.html\" title=\"BOOST_TEST_ERROR\">\n<link rel=\"next\" href=\"_boost_test_is_defined_.html\" title=\"BOOST_TEST_IS_DEFINED\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost_test_error_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_is_defined_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion.boost_fail\"></a><a class=\"link\" href=\"boost_fail.html\" title=\"BOOST_TEST_FAIL\"><code class=\"literal\">BOOST_TEST_FAIL</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_TEST_FAIL(</code><em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code>\n            always fails and emits the given <em class=\"replaceable\"><code>message</code></em> at\n            the <code class=\"literal\">REQUIRE</code> assertion level.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost_test_error_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_is_defined_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/boost_level_equal.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_EQUAL</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___close_fraction_.html\" title=\"BOOST_level_CLOSE_FRACTION\">\n<link rel=\"next\" href=\"_boost____level___equal_collections_.html\" title=\"BOOST_level_EQUAL_COLLECTIONS\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___close_fraction_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion.boost_level_equal\"></a><a class=\"link\" href=\"boost_level_equal.html\" title=\"BOOST_level_EQUAL\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_EQUAL(</code><em class=\"replaceable\"><code>lhs</code></em>, <em class=\"replaceable\"><code>rhs</code></em><code class=\"literal\">)</code>\n            compares the two arguments with <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code>. The diagnostic message is constructed\n            with <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n            on the two arguments.\n          </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n              If you get a strange compile error when using <code class=\"literal\">BOOST_EQUAL</code>\n              check that the appropriate <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code> and <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code> are defined for the arguments.\n              If you define these operators in your test code, keep in mind argument-dependent\n              lookup of types based on enclosing namespaces and the namespaces opened\n              by test suites.\n            </p></td></tr>\n</table></div>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_equal</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"comment\">// integral types</span>\n    <span class=\"keyword\">unsigned</span> <span class=\"keyword\">const</span> <span class=\"identifier\">u</span> <span class=\"special\">=</span> <span class=\"number\">1u</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"keyword\">const</span> <span class=\"identifier\">i</span> <span class=\"special\">=</span> <span class=\"special\">-</span><span class=\"number\">1</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span> <span class=\"identifier\">A</span> <span class=\"special\">=</span> <span class=\"char\">'A'</span><span class=\"special\">;</span>\n    <span class=\"comment\">// standard library types providing operator== and operator&lt;&lt;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"string\">\"scooby\"</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"number\">1u</span><span class=\"special\">,</span> <span class=\"identifier\">u</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(-</span><span class=\"number\">1</span><span class=\"special\">,</span> <span class=\"identifier\">i</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"char\">'A'</span><span class=\"special\">,</span> <span class=\"identifier\">A</span><span class=\"special\">);</span>\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"scooby\"</span><span class=\"special\">,</span> <span class=\"identifier\">s</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"comment\">// custom data structure</span>\n<span class=\"keyword\">struct</span> <span class=\"identifier\">symbol</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"keyword\">const</span> <span class=\"identifier\">name</span><span class=\"special\">;</span>\n    <span class=\"keyword\">int</span> <span class=\"identifier\">value</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"comment\">// custom comparison operator</span>\n<span class=\"keyword\">bool</span> <span class=\"keyword\">operator</span><span class=\"special\">==(</span><span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">lhs</span><span class=\"special\">,</span> <span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">rhs</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">lhs</span><span class=\"special\">.</span><span class=\"identifier\">value</span> <span class=\"special\">==</span> <span class=\"identifier\">rhs</span><span class=\"special\">.</span><span class=\"identifier\">value</span>\n        <span class=\"special\">&amp;&amp;</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">(</span><span class=\"identifier\">lhs</span><span class=\"special\">.</span><span class=\"identifier\">name</span><span class=\"special\">)</span> <span class=\"special\">==</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">(</span><span class=\"identifier\">rhs</span><span class=\"special\">.</span><span class=\"identifier\">name</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n\n<span class=\"comment\">// custom stream insertion operator</span>\n<span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">stream</span><span class=\"special\">,</span> <span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">value</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">return</span> <span class=\"identifier\">stream</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">value</span><span class=\"special\">.</span><span class=\"identifier\">name</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\": \"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">value</span><span class=\"special\">.</span><span class=\"identifier\">value</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">example_equal_custom_compare</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s1</span> <span class=\"special\">=</span> <span class=\"special\">{</span> <span class=\"string\">\"var\"</span> <span class=\"special\">,</span> <span class=\"number\">1</span> <span class=\"special\">};</span>\n    <span class=\"identifier\">symbol</span> <span class=\"keyword\">const</span> <span class=\"identifier\">s2</span> <span class=\"special\">=</span> <span class=\"special\">{</span> <span class=\"string\">\"var\"</span><span class=\"special\">,</span> <span class=\"number\">1</span> <span class=\"special\">};</span>\n    <span class=\"comment\">// If the compiler doesn't collapse multiple constants, then:</span>\n    <span class=\"comment\">// s1.name != s2.name;</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"identifier\">s1</span><span class=\"special\">,</span> <span class=\"identifier\">s2</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___close_fraction_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___equal_collections_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/boost_level_throw.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_level_THROW</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"_boost____level___small_.html\" title=\"BOOST_level_SMALL\">\n<link rel=\"next\" href=\"_boost_test_error_.html\" title=\"BOOST_TEST_ERROR\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___small_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_error_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion.boost_level_throw\"></a><a class=\"link\" href=\"boost_level_throw.html\" title=\"BOOST_level_THROW\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_THROW</code></a>\n</h5></div></div></div>\n<p>\n            <code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_THROW(</code><em class=\"replaceable\"><code>statement</code></em>,\n            <em class=\"replaceable\"><code>exception</code></em><code class=\"literal\">)</code> asserts that\n            <em class=\"replaceable\"><code>statement</code></em> throws an exception of type <em class=\"replaceable\"><code>exception</code></em>.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"_boost____level___small_.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost_test_error_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion/levels.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Assertion Levels</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"prev\" href=\"../assertion.html\" title=\"Test Assertions\">\n<link rel=\"next\" href=\"_boost____level___bitwise_equal_.html\" title=\"BOOST_level_BITWISE_EQUAL\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___bitwise_equal_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.assertion.levels\"></a><a class=\"link\" href=\"levels.html\" title=\"Assertion Levels\">Assertion\n          Levels</a>\n</h5></div></div></div>\n<p>\n            When using the library or header-only version of Boost.Test, many assertion\n            macros are provided in three levels that determine the behavior when\n            the assertion fails and how a failed assertion interacts with the test\n            runner.\n          </p>\n<div class=\"table\">\n<a name=\"test.reference.test_classes.assertion.levels.assertion_levels\"></a><p class=\"title\"><b>Table&#160;1.2.&#160;Assertion Levels</b></p>\n<div class=\"table-contents\"><table class=\"table\" summary=\"Assertion Levels\">\n<colgroup>\n<col>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Level\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Test Case Fails?\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Aborts Execution?\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">WARN</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      No\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      No\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">CHECK</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Yes\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      no\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">REQUIRE</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Yes\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Yes\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n</div>\n<br class=\"table-break\"><p>\n            The <code class=\"literal\">WARN</code> level issues a diagnostic message, but the\n            test case is not considered to have failed and continues executing. The\n            <code class=\"literal\">CHECK</code> level issues a message to the test log on failure,\n            marks the test case as failed and continues executing. The <code class=\"literal\">REQUIRE</code>\n            level issues a message to the test log on failure, marks the test case\n            as failed and halts execution of the test case.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"_boost____level___bitwise_equal_.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/assertion.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Assertions</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"predicate_result/unit_test_main.html\" title=\"unit_test_main\">\n<link rel=\"next\" href=\"assertion/levels.html\" title=\"Assertion Levels\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"predicate_result/unit_test_main.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"assertion/levels.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.assertion\"></a><a class=\"link\" href=\"assertion.html\" title=\"Test Assertions\">Test Assertions</a>\n</h4></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"assertion/levels.html\">Assertion\n          Levels</a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___bitwise_equal_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_BITWISE_EQUAL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___close_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___close_fraction_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE_FRACTION</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_level_equal.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___equal_collections_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL_COLLECTIONS</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___exception_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___ge_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___gt_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___le_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___lt_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___message_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___ne_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___no_throw_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___predicate_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_PREDICATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost____level___small_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_SMALL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_level_throw.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_THROW</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost_test_error_.html\"><code class=\"literal\">BOOST_TEST_ERROR</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/boost_fail.html\"><code class=\"literal\">BOOST_TEST_FAIL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost_test_is_defined_.html\"><code class=\"literal\">BOOST_TEST_IS_DEFINED</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"assertion/_boost_test_dont_print_log_value_.html\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a></span></dt>\n</dl></div>\n<p>\n          Assertions are used to validate the result of exercising the system under\n          test. When an assertion fails, a diagnostic message is created and the\n          failed assertion is recorded. Different assertion levels allow you to control\n          how a failed assertion is interpreted by the test runner.\n        </p>\n<div class=\"important\"><table border=\"0\" summary=\"Important\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Important]\" src=\"../../../../../../../doc/src/images/important.png\"></td>\n<th align=\"left\">Important</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n            When an assertion involves a user-defined datatype, a stream insertion\n            operator (<code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>)\n            must be defined for the user-defined datatype, or the assertion will\n            fail to compile. Asserting a comparison operation on a value of a user-defined\n            type will require the appropriate comparison operator (<code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;</span></code>,\n            <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">==</span></code>,\n            etc.) be defiend for the type or the assertion will fail to compile.\n          </p></td></tr>\n</table></div>\n<p>\n          The <a class=\"link\" href=\"../../guide/compilation/minimal_header.html\" title=\"Minimal Header\">minimal header</a>\n          test framework does not provide the facilities described here.\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"predicate_result/unit_test_main.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"assertion/levels.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/headers.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Header Files</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"runner/output.html\" title=\"Test Output\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"runner/output.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.headers\"></a><a class=\"link\" href=\"headers.html\" title=\"Header Files\">Header Files</a>\n</h4></div></div></div>\n<p>\n          <code class=\"computeroutput\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">debug</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span></code>\n        </p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">bool</span> <span class=\"identifier\">under_debugger</span><span class=\"special\">();</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">debugger_break</span><span class=\"special\">();</span>\n\n<span class=\"keyword\">struct</span> <span class=\"identifier\">dbg_startup_info</span> <span class=\"special\">{</span>\n    <span class=\"keyword\">long</span>                    <span class=\"identifier\">pid</span><span class=\"special\">;</span>\n    <span class=\"keyword\">bool</span>                    <span class=\"identifier\">break_or_continue</span><span class=\"special\">;</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">binary_path</span><span class=\"special\">;</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">display</span><span class=\"special\">;</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">init_done_lock</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"keyword\">typedef</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">function</span><span class=\"special\">&lt;</span><span class=\"keyword\">void</span> <span class=\"special\">(</span><span class=\"identifier\">dbg_startup_info</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;)&gt;</span> <span class=\"identifier\">dbg_starter</span><span class=\"special\">;</span>\n\n<span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span> <span class=\"identifier\">set_debugger</span><span class=\"special\">(</span> <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">dbg_id</span><span class=\"special\">,</span> <span class=\"identifier\">dbg_starter</span> <span class=\"identifier\">s</span> <span class=\"special\">=</span> <span class=\"identifier\">dbg_starter</span><span class=\"special\">()</span> <span class=\"special\">);</span>\n\n<span class=\"keyword\">bool</span> <span class=\"identifier\">attach_debugger</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">break_or_continue</span> <span class=\"special\">=</span> <span class=\"keyword\">true</span> <span class=\"special\">);</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">detect_memory_leaks</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">on_off</span><span class=\"special\">,</span> <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">report_file</span> <span class=\"special\">=</span> <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span><span class=\"special\">()</span> <span class=\"special\">);</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">break_memory_alloc</span><span class=\"special\">(</span> <span class=\"keyword\">long</span> <span class=\"identifier\">mem_alloc_order_num</span> <span class=\"special\">);</span>\n\n<span class=\"special\">}}</span> <span class=\"comment\">// boost::test</span>\n</pre>\n<p>\n          <code class=\"computeroutput\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">debug_config</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span></code>\n        </p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_TEST_DBG_LIST</span>\n\n<span class=\"identifier\">BOOST_TEST_STAT_LINE_MAX</span>\n</pre>\n<p>\n          <code class=\"computeroutput\"><span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">execution_monitor</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span></code>\n        </p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">execution_exception</span> <span class=\"special\">{</span>\n    <span class=\"keyword\">typedef</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">const_string</span><span class=\"special\">;</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"identifier\">error_code</span> <span class=\"special\">{</span>\n        <span class=\"identifier\">no_error</span>               <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span>\n        <span class=\"identifier\">user_error</span>             <span class=\"special\">=</span> <span class=\"number\">200</span><span class=\"special\">,</span>\n        <span class=\"identifier\">cpp_exception_error</span>    <span class=\"special\">=</span> <span class=\"number\">205</span><span class=\"special\">,</span>\n        <span class=\"identifier\">system_error</span>           <span class=\"special\">=</span> <span class=\"number\">210</span><span class=\"special\">,</span>\n        <span class=\"identifier\">timeout_error</span>          <span class=\"special\">=</span> <span class=\"number\">215</span><span class=\"special\">,</span>\n        <span class=\"identifier\">user_fatal_error</span>       <span class=\"special\">=</span> <span class=\"number\">220</span><span class=\"special\">,</span>\n        <span class=\"identifier\">system_fatal_error</span>     <span class=\"special\">=</span> <span class=\"number\">225</span>\n    <span class=\"special\">};</span>\n\n    <span class=\"keyword\">struct</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">location</span> <span class=\"special\">{</span>\n        <span class=\"keyword\">explicit</span>    <span class=\"identifier\">location</span><span class=\"special\">(</span> <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"identifier\">file_name</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span> <span class=\"identifier\">size_t</span> <span class=\"identifier\">line_num</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span> <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"identifier\">func</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">);</span>\n\n        <span class=\"identifier\">const_string</span>    <span class=\"identifier\">m_file_name</span><span class=\"special\">;</span>\n        <span class=\"identifier\">size_t</span>          <span class=\"identifier\">m_line_num</span><span class=\"special\">;</span>\n        <span class=\"identifier\">const_string</span>    <span class=\"identifier\">m_function</span><span class=\"special\">;</span>\n    <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"identifier\">execution_exception</span><span class=\"special\">(</span> <span class=\"identifier\">error_code</span> <span class=\"identifier\">ec_</span><span class=\"special\">,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">what_msg_</span><span class=\"special\">,</span> <span class=\"identifier\">location</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">location_</span> <span class=\"special\">);</span> <span class=\"comment\">// max length 256 inc '\\0'</span>\n\n    <span class=\"comment\">// Access methods</span>\n    <span class=\"identifier\">error_code</span>      <span class=\"identifier\">code</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>    <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_error_code</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n    <span class=\"identifier\">const_string</span>    <span class=\"identifier\">what</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>    <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_what</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n    <span class=\"identifier\">location</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">where</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>   <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_location</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n<span class=\"special\">};</span> <span class=\"comment\">// execution_exception</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">execution_monitor</span> <span class=\"special\">{</span>\n    <span class=\"keyword\">typedef</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">const_string</span> <span class=\"identifier\">const_string</span><span class=\"special\">;</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">execution_monitor</span><span class=\"special\">();</span>\n\n    <span class=\"comment\">// Public properties</span>\n\n    <span class=\"comment\">//  The p_catch_system_errors parameter specifies whether the monitor should </span>\n    <span class=\"comment\">//  try to catch system errors/exceptions that would cause program to crash </span>\n    <span class=\"comment\">//  in regular case</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">bool</span><span class=\"special\">&gt;</span> <span class=\"identifier\">p_catch_system_errors</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">//  The p_auto_start_dbg parameter specifies whether the monitor should </span>\n    <span class=\"comment\">//  try to attach debugger in case of caught system error</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">bool</span><span class=\"special\">&gt;</span> <span class=\"identifier\">p_auto_start_dbg</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">//  The p_timeout parameter specifies the seconds that elapse before</span>\n    <span class=\"comment\">//  a timer_error occurs.  May be ignored on some platforms.</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span><span class=\"special\">&gt;</span>  <span class=\"identifier\">p_timeout</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">//  The p_use_alt_stack parameter specifies whether the monitor should</span>\n    <span class=\"comment\">//  use alternative stack for the signal catching</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">bool</span><span class=\"special\">&gt;</span> <span class=\"identifier\">p_use_alt_stack</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">//  The p_detect_fp_exceptions parameter specifies whether the monitor should</span>\n    <span class=\"comment\">//  try to detect hardware floating point exceptions (!= 0), and which specific exception to catch</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">unsigned</span><span class=\"special\">&gt;</span> <span class=\"identifier\">p_detect_fp_exceptions</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">int</span>         <span class=\"identifier\">execute</span><span class=\"special\">(</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">function</span><span class=\"special\">&lt;</span><span class=\"keyword\">int</span> <span class=\"special\">()&gt;</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">F</span> <span class=\"special\">);</span>\n    <span class=\"comment\">//  Returns:  Value returned by function call F().</span>\n    <span class=\"comment\">//</span>\n    <span class=\"comment\">//  Effects:  Calls executes supplied function F inside a try/catch block which also may</span>\n    <span class=\"comment\">//  include other unspecified platform dependent error detection code.</span>\n    <span class=\"comment\">//</span>\n    <span class=\"comment\">//  Throws: execution_exception on an uncaught C++ exception,</span>\n    <span class=\"comment\">//  a hardware or software signal, trap, or other exception.</span>\n    <span class=\"comment\">//</span>\n    <span class=\"comment\">//  Note: execute() doesn't consider it an error for F to return a non-zero value.</span>\n\n    <span class=\"keyword\">void</span>         <span class=\"identifier\">vexecute</span><span class=\"special\">(</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">function</span><span class=\"special\">&lt;</span><span class=\"keyword\">void</span> <span class=\"special\">()&gt;</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">F</span> <span class=\"special\">);</span>\n    <span class=\"comment\">//  Effects:  Same as above, but returns nothing</span>\n\n    <span class=\"comment\">// register custom (user supplied) exception translator</span>\n    <span class=\"keyword\">template</span><span class=\"special\">&lt;</span><span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionType</span><span class=\"special\">,</span> <span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionTranslator</span><span class=\"special\">&gt;</span>\n    <span class=\"keyword\">void</span>        <span class=\"identifier\">register_exception_translator</span><span class=\"special\">(</span> <span class=\"identifier\">ExceptionTranslator</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">tr</span><span class=\"special\">,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tag</span> <span class=\"special\">=</span> <span class=\"identifier\">const_string</span><span class=\"special\">(),</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">type</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;*</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// erase custom exception translator</span>\n    <span class=\"keyword\">void</span>        <span class=\"identifier\">erase_exception_translator</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tag</span> <span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">m_custom_translators</span> <span class=\"special\">=</span> <span class=\"identifier\">m_custom_translators</span><span class=\"special\">-&gt;</span><span class=\"identifier\">erase</span><span class=\"special\">(</span> <span class=\"identifier\">m_custom_translators</span><span class=\"special\">,</span> <span class=\"identifier\">tag</span> <span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">template</span><span class=\"special\">&lt;</span><span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;</span>\n    <span class=\"keyword\">void</span>        <span class=\"identifier\">erase_exception_translator</span><span class=\"special\">(</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">type</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;*</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"identifier\">m_custom_translators</span> <span class=\"special\">=</span> <span class=\"identifier\">m_custom_translators</span><span class=\"special\">-&gt;</span><span class=\"identifier\">erase</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;(</span> <span class=\"identifier\">m_custom_translators</span> <span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n\n<span class=\"special\">};</span> <span class=\"comment\">// execution_monitor</span>\n\n<span class=\"keyword\">template</span><span class=\"special\">&lt;</span><span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionType</span><span class=\"special\">,</span> <span class=\"keyword\">typename</span> <span class=\"identifier\">ExceptionTranslator</span><span class=\"special\">&gt;</span>\n<span class=\"keyword\">void</span>\n<span class=\"identifier\">execution_monitor</span><span class=\"special\">::</span><span class=\"identifier\">register_exception_translator</span><span class=\"special\">(</span> <span class=\"identifier\">ExceptionTranslator</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">tr</span><span class=\"special\">,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tag</span><span class=\"special\">,</span> <span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">type</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">&gt;*</span> <span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">m_custom_translators</span><span class=\"special\">.</span><span class=\"identifier\">reset</span><span class=\"special\">(</span>\n        <span class=\"keyword\">new</span> <span class=\"identifier\">detail</span><span class=\"special\">::</span><span class=\"identifier\">translator_holder</span><span class=\"special\">&lt;</span><span class=\"identifier\">ExceptionType</span><span class=\"special\">,</span><span class=\"identifier\">ExceptionTranslator</span><span class=\"special\">&gt;(</span> <span class=\"identifier\">tr</span><span class=\"special\">,</span> <span class=\"identifier\">m_custom_translators</span><span class=\"special\">,</span> <span class=\"identifier\">tag</span> <span class=\"special\">)</span> <span class=\"special\">);</span>\n<span class=\"special\">}</span>\n\n<span class=\"keyword\">struct</span> <span class=\"identifier\">execution_aborted</span> <span class=\"special\">{};</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">system_error</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"keyword\">explicit</span>    <span class=\"identifier\">system_error</span><span class=\"special\">(</span> <span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*</span> <span class=\"identifier\">exp</span> <span class=\"special\">);</span>\n\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readonly_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">long</span><span class=\"special\">&gt;</span>          <span class=\"identifier\">p_errno</span><span class=\"special\">;</span>\n    <span class=\"identifier\">unit_test</span><span class=\"special\">::</span><span class=\"identifier\">readonly_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">char</span> <span class=\"keyword\">const</span><span class=\"special\">*&gt;</span>   <span class=\"identifier\">p_failed_exp</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_SYS_ASSERT</span><span class=\"special\">(</span> <span class=\"identifier\">exp</span> <span class=\"special\">)</span> <span class=\"keyword\">if</span><span class=\"special\">(</span> <span class=\"special\">(</span><span class=\"identifier\">exp</span><span class=\"special\">)</span> <span class=\"special\">)</span> <span class=\"special\">;</span> <span class=\"keyword\">else</span> <span class=\"keyword\">throw</span> <span class=\"special\">::</span><span class=\"identifier\">boost</span><span class=\"special\">::</span><span class=\"identifier\">system_error</span><span class=\"special\">(</span> <span class=\"identifier\">BOOST_STRINGIZE</span><span class=\"special\">(</span> <span class=\"identifier\">exp</span> <span class=\"special\">)</span> <span class=\"special\">)</span>\n\n<span class=\"keyword\">namespace</span> <span class=\"identifier\">fpe</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">enum</span> <span class=\"identifier\">masks</span> <span class=\"special\">{</span>\n    <span class=\"identifier\">BOOST_FPE_OFF</span>       <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span>\n\n<span class=\"preprocessor\">#ifdef</span> <span class=\"identifier\">BOOST_SEH_BASED_SIGNAL_HANDLING</span>\n    <span class=\"identifier\">BOOST_FPE_DIVBYZERO</span> <span class=\"special\">=</span> <span class=\"identifier\">EM_ZERODIVIDE</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_INEXACT</span>   <span class=\"special\">=</span> <span class=\"identifier\">EM_INEXACT</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_INVALID</span>   <span class=\"special\">=</span> <span class=\"identifier\">EM_INVALID</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_OVERFLOW</span>  <span class=\"special\">=</span> <span class=\"identifier\">EM_OVERFLOW</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_UNDERFLOW</span> <span class=\"special\">=</span> <span class=\"identifier\">EM_UNDERFLOW</span><span class=\"special\">|</span><span class=\"identifier\">EM_DENORMAL</span><span class=\"special\">,</span>\n\n    <span class=\"identifier\">BOOST_FPE_ALL</span>       <span class=\"special\">=</span> <span class=\"identifier\">MCW_EM</span><span class=\"special\">,</span>\n<span class=\"preprocessor\">#elif</span> <span class=\"identifier\">defined</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_NO_FENV_H</span><span class=\"special\">)</span> <span class=\"special\">||</span> <span class=\"identifier\">defined</span><span class=\"special\">(</span><span class=\"identifier\">BOOST_CLANG</span><span class=\"special\">)</span>\n    <span class=\"identifier\">BOOST_FPE_ALL</span>       <span class=\"special\">=</span> <span class=\"number\">1</span><span class=\"special\">,</span>\n<span class=\"preprocessor\">#else</span>\n    <span class=\"identifier\">BOOST_FPE_DIVBYZERO</span> <span class=\"special\">=</span> <span class=\"identifier\">FE_DIVBYZERO</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_INEXACT</span>   <span class=\"special\">=</span> <span class=\"identifier\">FE_INEXACT</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_INVALID</span>   <span class=\"special\">=</span> <span class=\"identifier\">FE_INVALID</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_OVERFLOW</span>  <span class=\"special\">=</span> <span class=\"identifier\">FE_OVERFLOW</span><span class=\"special\">,</span>\n    <span class=\"identifier\">BOOST_FPE_UNDERFLOW</span> <span class=\"special\">=</span> <span class=\"identifier\">FE_UNDERFLOW</span><span class=\"special\">,</span>\n\n    <span class=\"identifier\">BOOST_FPE_ALL</span>       <span class=\"special\">=</span> <span class=\"identifier\">FE_ALL_EXCEPT</span><span class=\"special\">,</span>\n<span class=\"preprocessor\">#endif</span>\n    <span class=\"identifier\">BOOST_FPE_INV</span>       <span class=\"special\">=</span> <span class=\"identifier\">BOOST_FPE_ALL</span><span class=\"special\">+</span><span class=\"number\">1</span>\n<span class=\"special\">};</span>\n\n<span class=\"comment\">// return the previous set of enabled exceptions when successful, and BOOST_FPE_INV otherwise</span>\n<span class=\"keyword\">unsigned</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">enable</span><span class=\"special\">(</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">mask</span> <span class=\"special\">);</span>\n<span class=\"keyword\">unsigned</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">disable</span><span class=\"special\">(</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">mask</span> <span class=\"special\">);</span>\n\n<span class=\"special\">}</span> <span class=\"comment\">// namespace fpe</span>\n<span class=\"special\">}</span> <span class=\"comment\">// namespace boost</span>\n</pre>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"runner/output.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/init_unit_test_func.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>init_unit_test_func</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"unit_test_log_formatter.html\" title=\"unit_test_log_formatter\">\n<link rel=\"next\" href=\"unit_test_main.html\" title=\"unit_test_main\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"unit_test_log_formatter.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_main.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.init_unit_test_func\"></a><a class=\"link\" href=\"init_unit_test_func.html\" title=\"init_unit_test_func\"><code class=\"literal\">init_unit_test_func</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">init_unit_test_func</code> function typedef identifies\n          the signature of the user supplied initialization function. The initialization\n          function can be used to add custom test cases and test suites to the test\n          tree.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"preprocessor\">#ifdef</span> <span class=\"identifier\">BOOST_TEST_ALTERNATIVE_INIT_API</span>\n<span class=\"keyword\">typedef</span> <span class=\"keyword\">bool</span>        <span class=\"special\">(*</span><span class=\"identifier\">init_unit_test_func</span><span class=\"special\">)();</span>\n<span class=\"preprocessor\">#else</span>\n<span class=\"keyword\">typedef</span> <span class=\"identifier\">test_suite</span><span class=\"special\">*</span> <span class=\"special\">(*</span><span class=\"identifier\">init_unit_test_func</span><span class=\"special\">)(</span> <span class=\"keyword\">int</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"special\">[]</span> <span class=\"special\">);</span>\n<span class=\"preprocessor\">#endif</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"unit_test_log_formatter.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_main.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/master_test_suite_t.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>master_test_suite_t</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"test_suite.html\" title=\"test_suite\">\n<link rel=\"next\" href=\"test_observer.html\" title=\"test_observer\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_suite.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_observer.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.master_test_suite_t\"></a><a class=\"link\" href=\"master_test_suite_t.html\" title=\"master_test_suite_t\"><code class=\"literal\">master_test_suite_t</code></a>\n</h4></div></div></div>\n<p>\n          The master test suite of type <code class=\"literal\">master_test_suite_t</code> is\n          the starting point for the test runner.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">master_test_suite_t</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">test_suite</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">master_test_suite_t</span><span class=\"special\">()</span> <span class=\"special\">:</span> <span class=\"identifier\">test_suite</span><span class=\"special\">(</span> <span class=\"string\">\"Master Test Suite\"</span> <span class=\"special\">)</span>\n    <span class=\"special\">,</span> <span class=\"identifier\">argc</span><span class=\"special\">(</span> <span class=\"number\">0</span> <span class=\"special\">)</span>\n    <span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">(</span> <span class=\"number\">0</span> <span class=\"special\">)</span>\n    <span class=\"special\">{}</span>\n\n    <span class=\"comment\">// Data members</span>\n    <span class=\"keyword\">int</span>      <span class=\"identifier\">argc</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span><span class=\"special\">**</span>   <span class=\"identifier\">argv</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<p>\n          You can obtain a reference to the master test suite with the <code class=\"literal\">master_test_suite()</code>\n          function:\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">framework</span> <span class=\"special\">{</span>\n\n<span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">master_test_suite_t</span><span class=\"special\">&amp;</span> <span class=\"identifier\">master_test_suite</span><span class=\"special\">();</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_suite.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_observer.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result/init_unit_test_func.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>init_unit_test_func</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"prev\" href=\"unit_test_log_formatter.html\" title=\"unit_test_log_formatter\">\n<link rel=\"next\" href=\"unit_test_main.html\" title=\"unit_test_main\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"unit_test_log_formatter.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_main.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result.init_unit_test_func\"></a><a class=\"link\" href=\"init_unit_test_func.html\" title=\"init_unit_test_func\"><code class=\"literal\">init_unit_test_func</code></a>\n</h5></div></div></div>\n<p>\n            The <code class=\"literal\">init_unit_test_func</code> function typedef identifies\n            the signature of the user supplied initialization function. The initialization\n            function can be used to add custom test cases and test suites to the\n            test tree.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"preprocessor\">#ifdef</span> <span class=\"identifier\">BOOST_TEST_ALTERNATIVE_INIT_API</span>\n<span class=\"keyword\">typedef</span> <span class=\"keyword\">bool</span>        <span class=\"special\">(*</span><span class=\"identifier\">init_unit_test_func</span><span class=\"special\">)();</span>\n<span class=\"preprocessor\">#else</span>\n<span class=\"keyword\">typedef</span> <span class=\"identifier\">test_suite</span><span class=\"special\">*</span> <span class=\"special\">(*</span><span class=\"identifier\">init_unit_test_func</span><span class=\"special\">)(</span> <span class=\"keyword\">int</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"special\">[]</span> <span class=\"special\">);</span>\n<span class=\"preprocessor\">#endif</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"unit_test_log_formatter.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_main.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result/master_test_suite_t.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>master_test_suite_t</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"prev\" href=\"test_suite.html\" title=\"test_suite\">\n<link rel=\"next\" href=\"test_observer.html\" title=\"test_observer\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_suite.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_observer.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result.master_test_suite_t\"></a><a class=\"link\" href=\"master_test_suite_t.html\" title=\"master_test_suite_t\"><code class=\"literal\">master_test_suite_t</code></a>\n</h5></div></div></div>\n<p>\n            The master test suite of type <code class=\"literal\">master_test_suite_t</code>\n            is the starting point for the test runner.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">master_test_suite_t</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">test_suite</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"identifier\">master_test_suite_t</span><span class=\"special\">()</span> <span class=\"special\">:</span> <span class=\"identifier\">test_suite</span><span class=\"special\">(</span> <span class=\"string\">\"Master Test Suite\"</span> <span class=\"special\">)</span>\n    <span class=\"special\">,</span> <span class=\"identifier\">argc</span><span class=\"special\">(</span> <span class=\"number\">0</span> <span class=\"special\">)</span>\n    <span class=\"special\">,</span> <span class=\"identifier\">argv</span><span class=\"special\">(</span> <span class=\"number\">0</span> <span class=\"special\">)</span>\n    <span class=\"special\">{}</span>\n\n    <span class=\"comment\">// Data members</span>\n    <span class=\"keyword\">int</span>      <span class=\"identifier\">argc</span><span class=\"special\">;</span>\n    <span class=\"keyword\">char</span><span class=\"special\">**</span>   <span class=\"identifier\">argv</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n<p>\n            You can obtain a reference to the master test suite with the <code class=\"literal\">master_test_suite()</code>\n            function:\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">framework</span> <span class=\"special\">{</span>\n\n<span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">master_test_suite_t</span><span class=\"special\">&amp;</span> <span class=\"identifier\">master_test_suite</span><span class=\"special\">();</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_suite.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_observer.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result/test_case.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>test_case</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"prev\" href=\"test_unit.html\" title=\"test_unit\">\n<link rel=\"next\" href=\"test_suite.html\" title=\"test_suite\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_unit.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_suite.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result.test_case\"></a><a class=\"link\" href=\"test_case.html\" title=\"test_case\"><code class=\"literal\">test_case</code></a>\n</h5></div></div></div>\n<p>\n            The <code class=\"literal\">test_case</code> class represents a single test case.\n            A test case must be added to a test suite reachable from the master test\n            suite in order for the test runner to run the test case.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">test_case</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">test_unit</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"special\">{</span> <span class=\"identifier\">type</span> <span class=\"special\">=</span> <span class=\"identifier\">tut_case</span> <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"identifier\">test_case</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tc_name</span><span class=\"special\">,</span> <span class=\"identifier\">callback0</span><span class=\"special\">&lt;&gt;</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">test_func</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// Access methods</span>\n    <span class=\"identifier\">callback0</span><span class=\"special\">&lt;&gt;</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span>  <span class=\"identifier\">test_func</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_test_func</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_unit.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_suite.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result/test_observer.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>test_observer</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"prev\" href=\"master_test_suite_t.html\" title=\"master_test_suite_t\">\n<link rel=\"next\" href=\"unit_test_log_t.html\" title=\"unit_test_log_t\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"master_test_suite_t.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_log_t.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result.test_observer\"></a><a class=\"link\" href=\"test_observer.html\" title=\"test_observer\"><code class=\"literal\">test_observer</code></a>\n</h5></div></div></div>\n<p>\n            The <code class=\"literal\">test_observer</code> class encapsulates observers of\n            test execution. It provides a simple <span class=\"emphasis\"><em>null</em></span> style\n            observer behavior.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">test_observer</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"comment\">// test observer interface</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_start</span><span class=\"special\">(</span> <span class=\"identifier\">counter_t</span> <span class=\"comment\">/* test_cases_amount */</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_finish</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_aborted</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_unit_start</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_unit_finish</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;,</span> <span class=\"keyword\">unsigned</span> <span class=\"keyword\">long</span> <span class=\"comment\">/* elapsed */</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_unit_skipped</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_unit_aborted</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">assertion_result</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span> <span class=\"comment\">/* passed */</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">exception_caught</span><span class=\"special\">(</span> <span class=\"identifier\">execution_exception</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">int</span>     <span class=\"identifier\">priority</span><span class=\"special\">()</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"master_test_suite_t.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_log_t.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result/test_suite.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>test_suite</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"prev\" href=\"test_case.html\" title=\"test_case\">\n<link rel=\"next\" href=\"master_test_suite_t.html\" title=\"master_test_suite_t\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_case.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"master_test_suite_t.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result.test_suite\"></a><a class=\"link\" href=\"test_suite.html\" title=\"test_suite\"><code class=\"literal\">test_suite</code></a>\n</h5></div></div></div>\n<p>\n            The <code class=\"literal\">test_suite</code> class represents a group of test cases\n            and suites in the test tree hierarchy.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">bosot</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">test_suite</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">test_unit</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"special\">{</span> <span class=\"identifier\">type</span> <span class=\"special\">=</span> <span class=\"identifier\">tut_suite</span> <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"keyword\">explicit</span>        <span class=\"identifier\">test_suite</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">ts_name</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// test unit list management</span>\n    <span class=\"keyword\">void</span>            <span class=\"identifier\">add</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span><span class=\"special\">*</span> <span class=\"identifier\">tu</span><span class=\"special\">,</span> <span class=\"identifier\">counter_t</span> <span class=\"identifier\">expected_failures</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">timeout</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>            <span class=\"identifier\">add</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit_generator</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">gen</span><span class=\"special\">,</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">timeout</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>            <span class=\"identifier\">remove</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit_id</span> <span class=\"identifier\">id</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// access methods</span>\n    <span class=\"identifier\">test_unit_id</span>    <span class=\"identifier\">get</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tu_name</span> <span class=\"special\">)</span> <span class=\"keyword\">const</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">size_t</span>     <span class=\"identifier\">size</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_members</span><span class=\"special\">.</span><span class=\"identifier\">size</span><span class=\"special\">();</span> <span class=\"special\">}</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_case.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"master_test_suite_t.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result/test_unit.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>test_unit</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"prev\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"next\" href=\"test_case.html\" title=\"test_case\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_case.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result.test_unit\"></a><a class=\"link\" href=\"test_unit.html\" title=\"test_unit\"><code class=\"literal\">test_unit</code></a>\n</h5></div></div></div>\n<p>\n            The <code class=\"literal\">test_unit</code> class forms the basis of the hierarchical\n            tree of test cases. Test applications will usually create instances of\n            <code class=\"literal\">test_case</code> or <code class=\"literal\">test_suite</code>, both of\n            which derive from <code class=\"literal\">test_unit</code>.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">test_unit</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"special\">{</span> <span class=\"identifier\">type</span> <span class=\"special\">=</span> <span class=\"identifier\">tut_any</span> <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"identifier\">test_unit</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tu_name</span><span class=\"special\">,</span> <span class=\"identifier\">test_unit_type</span> <span class=\"identifier\">t</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// dependencies management</span>\n    <span class=\"keyword\">void</span>    <span class=\"identifier\">depends_on</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span><span class=\"special\">*</span> <span class=\"identifier\">tu</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">bool</span>    <span class=\"identifier\">check_dependencies</span><span class=\"special\">()</span> <span class=\"keyword\">const</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">// Public r/o properties</span>\n    <span class=\"keyword\">typedef</span> <span class=\"identifier\">BOOST_READONLY_PROPERTY</span><span class=\"special\">(</span><span class=\"identifier\">test_unit_id</span><span class=\"special\">,(</span><span class=\"identifier\">framework_impl</span><span class=\"special\">))</span>  <span class=\"identifier\">id_t</span><span class=\"special\">;</span>\n    <span class=\"keyword\">typedef</span> <span class=\"identifier\">BOOST_READONLY_PROPERTY</span><span class=\"special\">(</span><span class=\"identifier\">test_unit_id</span><span class=\"special\">,(</span><span class=\"identifier\">test_suite</span><span class=\"special\">))</span>      <span class=\"identifier\">parent_id_t</span><span class=\"special\">;</span>\n    <span class=\"identifier\">readonly_property</span><span class=\"special\">&lt;</span><span class=\"identifier\">test_unit_type</span><span class=\"special\">&gt;</span>   <span class=\"identifier\">p_type</span><span class=\"special\">;</span>                 <span class=\"comment\">// type for this test unit</span>\n    <span class=\"identifier\">readonly_property</span><span class=\"special\">&lt;</span><span class=\"identifier\">const_string</span><span class=\"special\">&gt;</span>     <span class=\"identifier\">p_type_name</span><span class=\"special\">;</span>            <span class=\"comment\">// \"case\"/\"suite\"</span>\n    <span class=\"identifier\">id_t</span>                                <span class=\"identifier\">p_id</span><span class=\"special\">;</span>                   <span class=\"comment\">// unique id for this test unit</span>\n    <span class=\"identifier\">parent_id_t</span>                         <span class=\"identifier\">p_parent_id</span><span class=\"special\">;</span>            <span class=\"comment\">// parent test suite id</span>\n\n    <span class=\"comment\">// Public r/w properties</span>\n    <span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span>     <span class=\"identifier\">p_name</span><span class=\"special\">;</span>                 <span class=\"comment\">// name for this test unit</span>\n    <span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">unsigned</span><span class=\"special\">&gt;</span>        <span class=\"identifier\">p_timeout</span><span class=\"special\">;</span>              <span class=\"comment\">// timeout for the test unit execution</span>\n    <span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"identifier\">counter_t</span><span class=\"special\">&gt;</span>       <span class=\"identifier\">p_expected_failures</span><span class=\"special\">;</span>    <span class=\"comment\">// number of expected failures in this test unit</span>\n    <span class=\"keyword\">mutable</span> <span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">bool</span><span class=\"special\">&gt;</span>    <span class=\"identifier\">p_enabled</span><span class=\"special\">;</span>              <span class=\"comment\">// enabled status for this unit</span>\n\n    <span class=\"keyword\">void</span>                                <span class=\"identifier\">increase_exp_fail</span><span class=\"special\">(</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">num</span> <span class=\"special\">);</span>\n\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_case.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result/unit_test_log_formatter.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>unit_test_log_formatter</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"prev\" href=\"unit_test_log_t.html\" title=\"unit_test_log_t\">\n<link rel=\"next\" href=\"init_unit_test_func.html\" title=\"init_unit_test_func\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"unit_test_log_t.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"init_unit_test_func.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result.unit_test_log_formatter\"></a><a class=\"link\" href=\"unit_test_log_formatter.html\" title=\"unit_test_log_formatter\"><code class=\"literal\">unit_test_log_formatter</code></a>\n</h5></div></div></div>\n<p>\n            The <code class=\"literal\">unit_test_log_formatter</code> class encapsulates formatting\n            of log events for an output stream.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">unit_test_log_formatter</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"identifier\">log_entry_types</span> <span class=\"special\">{</span> <span class=\"identifier\">BOOST_UTL_ET_INFO</span><span class=\"special\">,</span>\n                           <span class=\"identifier\">BOOST_UTL_ET_MESSAGE</span><span class=\"special\">,</span>\n                           <span class=\"identifier\">BOOST_UTL_ET_WARNING</span><span class=\"special\">,</span>\n                           <span class=\"identifier\">BOOST_UTL_ET_ERROR</span><span class=\"special\">,</span>\n                           <span class=\"identifier\">BOOST_UTL_ET_FATAL_ERROR</span> <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Destructor</span>\n    <span class=\"keyword\">virtual</span>             <span class=\"special\">~</span><span class=\"identifier\">unit_test_log_formatter</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"comment\">// Formatter interface</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_start</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">counter_t</span> <span class=\"identifier\">test_cases_amount</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_finish</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_build_info</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">test_unit_start</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">tu</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">test_unit_finish</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">tu</span><span class=\"special\">,</span> <span class=\"keyword\">unsigned</span> <span class=\"keyword\">long</span> <span class=\"identifier\">elapsed</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">test_unit_skipped</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_exception</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">os</span><span class=\"special\">,</span> <span class=\"identifier\">log_checkpoint_data</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">cd</span><span class=\"special\">,</span> <span class=\"identifier\">execution_exception</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">ex</span> <span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"comment\">// for backward compatibility</span>\n        <span class=\"identifier\">log_exception</span><span class=\"special\">(</span> <span class=\"identifier\">os</span><span class=\"special\">,</span> <span class=\"identifier\">cd</span><span class=\"special\">,</span> <span class=\"identifier\">ex</span><span class=\"special\">.</span><span class=\"identifier\">what</span><span class=\"special\">()</span> <span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_exception</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">log_checkpoint_data</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">const_string</span> <span class=\"comment\">/* explanation */</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_entry_start</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">log_entry_data</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">log_entry_types</span> <span class=\"identifier\">let</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_entry_value</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">value</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_entry_value</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">lazy_ostream</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">value</span> <span class=\"special\">);</span> <span class=\"comment\">// there is a default impl</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_entry_finish</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"unit_test_log_t.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"init_unit_test_func.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result/unit_test_log_t.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>unit_test_log_t</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"prev\" href=\"test_observer.html\" title=\"test_observer\">\n<link rel=\"next\" href=\"unit_test_log_formatter.html\" title=\"unit_test_log_formatter\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_observer.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_log_formatter.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result.unit_test_log_t\"></a><a class=\"link\" href=\"unit_test_log_t.html\" title=\"unit_test_log_t\"><code class=\"literal\">unit_test_log_t</code></a>\n</h5></div></div></div>\n<p>\n            The <code class=\"literal\">unit_test_log_t</code> class encapsulates the unit test\n            log. You obtain a reference to the single global unit test log instance\n            with the <code class=\"literal\">unit_test_log</code> member.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">log</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">unit_test_log_t</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">test_observer</span><span class=\"special\">,</span> <span class=\"keyword\">public</span> <span class=\"identifier\">singleton</span><span class=\"special\">&lt;</span><span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&gt;</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"comment\">// test_observer interface implementation</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_start</span><span class=\"special\">(</span> <span class=\"identifier\">counter_t</span> <span class=\"identifier\">test_cases_amount</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_finish</span><span class=\"special\">();</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_aborted</span><span class=\"special\">();</span>\n\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_unit_start</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_unit_finish</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;,</span> <span class=\"keyword\">unsigned</span> <span class=\"keyword\">long</span> <span class=\"identifier\">elapsed</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_unit_skipped</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_unit_aborted</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">assertion_result</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">passed</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">exception_caught</span><span class=\"special\">(</span> <span class=\"identifier\">execution_exception</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">int</span>         <span class=\"identifier\">priority</span><span class=\"special\">()</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"number\">1</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n\n    <span class=\"comment\">// log configuration methods</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_stream</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_threshold_level</span><span class=\"special\">(</span> <span class=\"identifier\">log_level</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_format</span><span class=\"special\">(</span> <span class=\"identifier\">output_format</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_formatter</span><span class=\"special\">(</span> <span class=\"identifier\">unit_test_log_formatter</span><span class=\"special\">*</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// test progress logging</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_checkpoint</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">file</span><span class=\"special\">,</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">size_t</span> <span class=\"identifier\">line_num</span><span class=\"special\">,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">msg</span> <span class=\"special\">=</span> <span class=\"identifier\">const_string</span><span class=\"special\">()</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// entry logging</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">log</span><span class=\"special\">::</span><span class=\"identifier\">begin</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>        <span class=\"comment\">// begin entry </span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">log</span><span class=\"special\">::</span><span class=\"identifier\">end</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>          <span class=\"comment\">// end entry</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">log_level</span> <span class=\"special\">);</span>                <span class=\"comment\">// set entry level</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">const_string</span> <span class=\"special\">);</span>             <span class=\"comment\">// log entry value</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">lazy_ostream</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>      <span class=\"comment\">// log entry value</span>\n\n    <span class=\"identifier\">ut_detail</span><span class=\"special\">::</span><span class=\"identifier\">entry_value_collector</span> <span class=\"keyword\">operator</span><span class=\"special\">()(</span> <span class=\"identifier\">log_level</span> <span class=\"special\">);</span>   <span class=\"comment\">// initiate entry collection</span>\n<span class=\"special\">};</span>\n\n<span class=\"keyword\">namespace</span> <span class=\"special\">{</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span> <span class=\"identifier\">unit_test_log</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_observer.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_log_formatter.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result/unit_test_main.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>unit_test_main</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../predicate_result.html\" title=\"predicate_result\">\n<link rel=\"prev\" href=\"init_unit_test_func.html\" title=\"init_unit_test_func\">\n<link rel=\"next\" href=\"../assertion.html\" title=\"Test Assertions\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"init_unit_test_func.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result.unit_test_main\"></a><a class=\"link\" href=\"unit_test_main.html\" title=\"unit_test_main\"><code class=\"literal\">unit_test_main</code></a>\n</h5></div></div></div>\n<p>\n            The <code class=\"literal\">unit_test_main</code> function provides an implementation\n            of <code class=\"literal\">main</code> that can be used by a test executable compiled\n            with <a class=\"link\" href=\"../../configuration_macros.html#test.reference.compilation.boost_test_no_main\"><code class=\"literal\">BOOST_TEST_NO_MAIN</code></a>.\n          </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">unit_test_main</span><span class=\"special\">(</span> <span class=\"identifier\">init_unit_test_func</span> <span class=\"identifier\">init_func</span><span class=\"special\">,</span> <span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[]</span> <span class=\"special\">);</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n          </p>\n<p>\n            <code class=\"literal\">unit_test_main</code> initializes the test framework, traverses\n            the test tree and reports the result as a the return value of the function.\n            Unexpected exceptions and system errors (signals, etc.) are caught and\n            mapped to appropriate return values by the function.\n          </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"init_unit_test_func.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../predicate_result.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../assertion.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/predicate_result.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>predicate_result</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"next\" href=\"test_unit.html\" title=\"test_unit\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_unit.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.predicate_result\"></a><a class=\"link\" href=\"predicate_result.html\" title=\"predicate_result\"><code class=\"literal\">predicate_result</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">predicate_result</code> class combines a boolean result\n          from a predicate with a detailed context message for a failed predicate\n          evaluation. Usually this class is only used in the internal implementation\n          of the test framework, but a user can define their own custom predicates\n          that return a <code class=\"literal\">predicate_result</code> to support detailed failure\n          messages when an assertion fails.\n        </p>\n<p>\n          <code class=\"literal\">predicate_result</code> is constructable and assignable from\n          <code class=\"literal\">bool</code>. The <code class=\"literal\">message()</code> method returns\n          an output string stream that can be used to build up a context message.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">test_tools</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">predicate_result</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"identifier\">predicate_result</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">pv_</span> <span class=\"special\">)</span>\n    <span class=\"special\">:</span> <span class=\"identifier\">p_predicate_value</span><span class=\"special\">(</span> <span class=\"identifier\">pv_</span> <span class=\"special\">)</span>\n    <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">template</span><span class=\"special\">&lt;</span><span class=\"keyword\">typename</span> <span class=\"identifier\">BoolConvertable</span><span class=\"special\">&gt;</span>\n    <span class=\"identifier\">predicate_result</span><span class=\"special\">(</span> <span class=\"identifier\">BoolConvertable</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">pv_</span> <span class=\"special\">)</span> <span class=\"special\">:</span> <span class=\"identifier\">p_predicate_value</span><span class=\"special\">(</span> <span class=\"special\">!!</span><span class=\"identifier\">pv_</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n\n    <span class=\"comment\">// Access methods</span>\n    <span class=\"keyword\">bool</span>                <span class=\"keyword\">operator</span><span class=\"special\">!()</span> <span class=\"keyword\">const</span>           <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"special\">!</span><span class=\"identifier\">p_predicate_value</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n    <span class=\"keyword\">void</span>                <span class=\"keyword\">operator</span><span class=\"special\">=(</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">pv_</span> <span class=\"special\">)</span>       <span class=\"special\">{</span> <span class=\"identifier\">p_predicate_value</span><span class=\"special\">.</span><span class=\"identifier\">value</span> <span class=\"special\">=</span> <span class=\"identifier\">pv_</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n    <span class=\"keyword\">operator</span>            <span class=\"identifier\">safe_bool</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>           <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"special\">!!</span><span class=\"identifier\">p_predicate_value</span> <span class=\"special\">?</span> <span class=\"special\">&amp;</span><span class=\"identifier\">dummy</span><span class=\"special\">::</span><span class=\"identifier\">nonnull</span> <span class=\"special\">:</span> <span class=\"number\">0</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n\n    <span class=\"comment\">// Public properties</span>\n    <span class=\"identifier\">BOOST_READONLY_PROPERTY</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span><span class=\"special\">,</span> <span class=\"special\">(</span><span class=\"identifier\">predicate_result</span><span class=\"special\">)</span> <span class=\"special\">)</span> <span class=\"identifier\">p_predicate_value</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">// Access methods</span>\n    <span class=\"keyword\">bool</span>                <span class=\"identifier\">has_empty_message</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>   <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"special\">!</span><span class=\"identifier\">m_message</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n    <span class=\"identifier\">wrap_stringstream</span><span class=\"special\">&amp;</span>  <span class=\"identifier\">message</span><span class=\"special\">()</span>\n    <span class=\"identifier\">const_string</span>        <span class=\"identifier\">message</span><span class=\"special\">()</span> <span class=\"keyword\">const</span>             <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"special\">!</span><span class=\"identifier\">m_message</span> <span class=\"special\">?</span> <span class=\"identifier\">const_string</span><span class=\"special\">()</span> <span class=\"special\">:</span> <span class=\"identifier\">const_string</span><span class=\"special\">(</span> <span class=\"identifier\">m_message</span><span class=\"special\">-&gt;</span><span class=\"identifier\">str</span><span class=\"special\">()</span> <span class=\"special\">);</span> <span class=\"special\">}</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<p>\n          See <a class=\"link\" href=\"../assertion/boost_level_message.html\" title=\"BOOST_level_MESSAGE\"><code class=\"literal\">BOOST_REQUIRE_MESSAGE</code></a>\n          for an example using <code class=\"literal\">predicate_result</code>.\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_unit.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/runner/argument.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Command Line Arguments</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../runner.html\" title=\"Test Runner\">\n<link rel=\"prev\" href=\"../runner.html\" title=\"Test Runner\">\n<link rel=\"next\" href=\"output.html\" title=\"Test Output\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../runner.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../runner.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"output.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument\"></a><a class=\"link\" href=\"argument.html\" title=\"Command Line Arguments\">Command\n          Line Arguments</a>\n</h5></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.auto_start_dbg\"><code class=\"literal\">--auto_start_dbg</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___break_exec_path_\"><code class=\"literal\">--break_exec_path</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___build_info_\"><code class=\"literal\">--build_info</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___catch_system_errors_\"><code class=\"literal\">--catch_system_errors</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___color_output_\"><code class=\"literal\">--color_output</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___detect_fp_exceptions_\"><code class=\"literal\">--detect_fp_exceptions</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___detect_memory_leaks_\"><code class=\"literal\">--detect_memory_leaks</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.log_format\"><code class=\"literal\">--log_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___log_level_\"><code class=\"literal\">--log_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___log_sink_\"><code class=\"literal\">--log_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___output_format_\"><code class=\"literal\">--output_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___random_\"><code class=\"literal\">--random</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.report_format\"><code class=\"literal\">--report_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.report_level\"><code class=\"literal\">--report_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___report_sink_\"><code class=\"literal\">--report_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___result_code_\"><code class=\"literal\">--result_code</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.run_test\"><code class=\"literal\">--run_test</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___save_pattern_\"><code class=\"literal\">--save_pattern</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___show_progress_\"><code class=\"literal\">--show_progress</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"argument.html#test.reference.test_classes.runner.argument.___use_alt_stack_\"><code class=\"literal\">--use_alt_stack</code></a></span></dt>\n</dl></div>\n<div class=\"table\">\n<a name=\"test.reference.test_classes.runner.argument.command_line_argument_summary\"></a><p class=\"title\"><b>Table&#160;1.3.&#160;Command Line Argument Summary</b></p>\n<div class=\"table-contents\"><table class=\"table\" summary=\"Command Line Argument Summary\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                    <p>\n                      Argument\n                    </p>\n                  </th>\n<th>\n                    <p>\n                      Description\n                    </p>\n                  </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--auto_start_dbg</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Automatically attach debugger in case of system failure\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--break_exec_path</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Break execution path\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--build_info</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Print build information\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--catch_system_errors</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Catch system errors\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--color_output</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Produce color output\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--detect_fp_exceptions</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Detect floating-point exceptions\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--detect_memory_leaks</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Detect memory leaks\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--help</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Print out a summary of test runner options\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--log_format</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The format of the test log\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--log_level</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The level of logging reported\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--log_sink</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The log sink name\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--output_format</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The output format\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--random</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Random number seed\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--report_format</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test results report format\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--report_level</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The test results report level\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--report_sink</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      The report sink name\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--result_code</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Return result code\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--run_test</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Tests to run\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--save_pattern</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Save pattern\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--show_progress</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Show execution progress\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--use_alt_stack</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Use alternative stack\n                    </p>\n                  </td>\n</tr>\n<tr>\n<td>\n                    <p>\n                      <code class=\"literal\">--wait_for_debugger</code>\n                    </p>\n                  </td>\n<td>\n                    <p>\n                      Wait for the debugger to attach to the test runner.\n                    </p>\n                  </td>\n</tr>\n</tbody>\n</table></div>\n</div>\n<br class=\"table-break\"><p>\n            The functionality of each command-line option can also be invoked with\n            an environment variable. The description for each option gives the environment\n            variable associated with that option.\n          </p>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.auto_start_dbg\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.auto_start_dbg\" title=\"--auto_start_dbg\"><code class=\"literal\">--auto_start_dbg</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls whether or not a debugger is attached to the\n              test runner when a fatal system error occurs. A fatal system error\n              includes Unix/POSIX signals, C++ exceptions and Win32 structured exceptions.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Do not attach a debugger to when a fatal system error occurs.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">yes</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Attach the default debugger when a fatal system error occurs.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_AUTO_START_DBG</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___break_exec_path_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___break_exec_path_\" title=\"--break_exec_path\"><code class=\"literal\">--break_exec_path</code></a>\n</h6></div></div></div>\n<p>\n              When performing an exception safety test, this argument forces a break\n              into the debugger at the named exection <em class=\"replaceable\"><code>path</code></em>\n              point within the test <em class=\"replaceable\"><code>name</code></em>. The test must\n              be named exactly, no wildcards are supported.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody><tr>\n<td>\n                      <p>\n                        <em class=\"replaceable\"><code>name</code></em><code class=\"literal\">:</code><em class=\"replaceable\"><code>path</code></em>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        For test case <em class=\"replaceable\"><code>name</code></em>, break on execution\n                        path number <em class=\"replaceable\"><code>path</code></em>.\n                      </p>\n                    </td>\n</tr></tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_BREAK_EXEC_PATH</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___build_info_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___build_info_\" title=\"--build_info\"><code class=\"literal\">--build_info</code></a>\n</h6></div></div></div>\n<p>\n              This argument causes the test runner to report information about the\n              build environment before running the tests. If the argument is specified\n              but no value is given, then a value of <code class=\"literal\">yes</code> is assumed.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Do not report build information.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">yes</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report build information.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_BUILD_INFO</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___catch_system_errors_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___catch_system_errors_\" title=\"--catch_system_errors\"><code class=\"literal\">--catch_system_errors</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls whether or not the test runner catches fatal\n              system errors.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">no</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Do not handle fatal system errors.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">yes</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Handle fatal system errors.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_CATCH_SYSTEM_ERRORS</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___color_output_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___color_output_\" title=\"--color_output\"><code class=\"literal\">--color_output</code></a>\n</h6></div></div></div>\n<p>\n              On systems that support colored text output, this argument controls\n              whether or not the test runner will color the output. This argument\n              does nothing on systems that do not support colored text output.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Do not color test runner output.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">yes</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Color test runner output, if supported.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_COLOR_OUTPUT</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___detect_fp_exceptions_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___detect_fp_exceptions_\" title=\"--detect_fp_exceptions\"><code class=\"literal\">--detect_fp_exceptions</code></a>\n</h6></div></div></div>\n<p>\n              If the execution environment supoprts floating-point exceptions, this\n              argument controls whether or not the test runner will detect floating-point\n              exceptions.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Do not detect floating-point exceptions.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">yes</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Detect floating-point exceptions, if supported.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_DETECT_FP_EXCEPTIONS</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___detect_memory_leaks_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___detect_memory_leaks_\" title=\"--detect_memory_leaks\"><code class=\"literal\">--detect_memory_leaks</code></a>\n</h6></div></div></div>\n<p>\n              If the execution environment supports the detection of memory leaks,\n              this argument controls whether or not the test runner reports memory\n              leaks. After running the tests, a memory leak report is issued showing\n              the allocation number and the amount of memory leaked.\n            </p>\n<p>\n              Values greater than <code class=\"literal\">1</code> for this argument cause a\n              trap to the debugger for a particular memory allocation number. Currently,\n              this option is only implemented for Microsoft compilers.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">0</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Do not detect memory leaks.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">1</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Detect memory leaks and issue a memory leak report.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <em class=\"replaceable\"><code>number</code></em>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Break on allocation <em class=\"replaceable\"><code>number</code></em>.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_DETECT_MEMORY_LEAKS</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.log_format\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.log_format\" title=\"--log_format\"><code class=\"literal\">--log_format</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls the format of the test runner output. The value\n              is case insensitive.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">HRF</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Human readable format output.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">XML</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        XML format output.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_LOG_FORMAT</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___log_level_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___log_level_\" title=\"--log_level\"><code class=\"literal\">--log_level</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls the level of test runner output. The values\n              are cumulative, with each increase in log level including all messages\n              at lower levels. By default, only errors are reported.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">nothing</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Do not report any information.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">fatal_error</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report all user or system fatal errors, such as memory access\n                        violation.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">system_error</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report system non-fatal errors, such as timeout or floating-point\n                        exception.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">cpp_exception</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report uncaught C++ exceptions.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">error</code></strong></span>\n                        (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report test failures.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">warning</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report test warnings.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">message</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report test messages; see <a class=\"link\" href=\"../../../../\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a>.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">test_suite</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report entering and leaving every test case and test suite.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">success</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report all successful assertions.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">all</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Report everything.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_LOG_LEVEL</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___log_sink_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___log_sink_\" title=\"--log_sink\"><code class=\"literal\">--log_sink</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls the destination, or sink, of the test runner\n              log.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">stdout</code></strong></span>\n                        (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        The test runner log is sent to the standard output stream.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">stderr</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        The test runner log is sent to the standard error stream.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <em class=\"replaceable\"><code>file</code></em>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        The test runner log is sent to the file <em class=\"replaceable\"><code>file</code></em>.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_LOG_SINK</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___output_format_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___output_format_\" title=\"--output_format\"><code class=\"literal\">--output_format</code></a>\n</h6></div></div></div>\n<p>\n              This argument combines <a class=\"link\" href=\"../../../../\"><code class=\"literal\">--log_format</code></a>\n              and <a class=\"link\" href=\"../../../../\"><code class=\"literal\">--report_format</code></a>.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">HRF</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Human readable format output.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">XML</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        XML format output.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_OUTPUT_FORMAT</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___random_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___random_\" title=\"--random\"><code class=\"literal\">--random</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls whether or not the test runner will execute\n              tests in a random order. This argument can also provide a seed for\n              the random number generator used to run tests in a random order.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">0</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Run tests in registration order.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">1</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Run tests in a random order, using the current time as the\n                        seed.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <em class=\"replaceable\"><code>n</code></em>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Run tests in a random order, using <em class=\"replaceable\"><code>n</code></em>\n                        as the seed.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_RANDOM</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.report_format\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.report_format\" title=\"--report_format\"><code class=\"literal\">--report_format</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls the format of the test report.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">HRF</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Human readable format output.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">XML</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        XML format output.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_REPORT_FORMAT</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.report_level\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.report_level\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls the level of the test report. The levels are\n              cumulative, with each successive level incorporating the output of\n              all the previous levels.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">no</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        No test report.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">confirm</code></strong></span>\n                        (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Confirmation test report.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">short</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Short test report.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">detailed</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Detailed test report.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_REPORT_LEVEL</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___report_sink_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___report_sink_\" title=\"--report_sink\"><code class=\"literal\">--report_sink</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls the destination, or sink, of the test runner\n              report.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">stdout</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        The test report is sent to the standard output stream.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">stderr</code></strong></span>\n                        (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        The test report is sent to the standard error stream.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <em class=\"replaceable\"><code>file</code></em>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        The test report is sent to the file <em class=\"replaceable\"><code>file</code></em>.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_REPORT_SINK</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___result_code_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___result_code_\" title=\"--result_code\"><code class=\"literal\">--result_code</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls whether or not the test runner returns an exit\n              code corresponding to a summary of the test execution or zero. The\n              summary result code is determined as follows:\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Result Code\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Description\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        0 (<code class=\"literal\">boost::exit_success</code>)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        All executed tests passed.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        200 (<code class=\"literal\">boost::exit_exception_failure</code>)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Failure due to uncaught exception.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        201 (<code class=\"literal\">boost::exit_test_failure</code>)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        One or more executed tests failed.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">no</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Always return zero.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">yes</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Return a status code indicating the summary of the tests\n                        executed.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_RESULT_CODE</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.run_test\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.run_test\" title=\"--run_test\"><code class=\"literal\">--run_test</code></a>\n</h6></div></div></div>\n<p>\n              This argument controls which test cases will be executed. The value\n              is a comma separated list of test specifiers. Test cases are arranged\n              as leaves on a tree structure, with every test case belonging to a\n              test suite. The test runner always creates a master test suite. Named\n              test suites are children of the master test suite or another named\n              test suite. Any test case that is not the child of a named test suite\n              is a child of the unnamed master test suite.\n            </p>\n<p>\n              Test specifiers select test cases or suites by naming the path from\n              the unnamed master test suite to the case or suite, similar to a full\n              path to a file in a hierarchical directory structure. A test specifier\n              is one or more path specifiers, separated by a slash (<code class=\"literal\">/</code>).\n              A test specifier begins at the master test suite and proceeds down\n              the test tree, naming suites or test cases.\n            </p>\n<p>\n              The argument <a class=\"link\" href=\"../../../../\"><code class=\"literal\">--report_level</code></a>\n              set to <code class=\"literal\">detailed</code> can be used to output the names\n              of all the test suites and test cases within those test suites.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Path Specifier\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Tests Selected\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <em class=\"replaceable\"><code>name</code></em>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        The test case or suite named <em class=\"replaceable\"><code>name</code></em>.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">*</code><em class=\"replaceable\"><code>name</code></em>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        All test cases or suites whose name ends in <em class=\"replaceable\"><code>name</code></em>.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <em class=\"replaceable\"><code>name</code></em><code class=\"literal\">*</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        All test cases or suites whose name begins with <em class=\"replaceable\"><code>name</code></em>.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">*</code><em class=\"replaceable\"><code>name</code></em><code class=\"literal\">*</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        All test cases or suites whose name contains <em class=\"replaceable\"><code>name</code></em>.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">*</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        All test cases or suites.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <em class=\"replaceable\"><code>spec1</code></em><code class=\"literal\">,</code><em class=\"replaceable\"><code>spec2</code></em><code class=\"literal\">,</code><em class=\"replaceable\"><code>...</code></em>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        The test cases or suites with the given specifier.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <em class=\"replaceable\"><code>spec1</code></em><code class=\"literal\">/</code><em class=\"replaceable\"><code>spec2</code></em>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        The test cases or suites matched by <em class=\"replaceable\"><code>spec2</code></em>\n                        in the test suite matched by <em class=\"replaceable\"><code>spec1</code></em>.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TESTS_TO_RUN</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___save_pattern_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___save_pattern_\" title=\"--save_pattern\"><code class=\"literal\">--save_pattern</code></a>\n</h6></div></div></div>\n<p>\n              This argument informs the test runner of a boolean value used to create\n              or save a test pattern for file-based testing. The test case uses the\n              boolean value to determine whether or not it writes the test pattern\n              by exercising the system under test or reads the test pattern for comparison\n              against the values produced by the system under test. The <code class=\"literal\">output_test_stream</code>\n              class provides a facility for recording and matching against save patterns.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">no</code></strong></span> (default)\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Match against a saved pattern.\n                      </p>\n                    </td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">yes</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Save a pattern for matching.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_SAVE_PATTERN</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___show_progress_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___show_progress_\" title=\"--show_progress\"><code class=\"literal\">--show_progress</code></a>\n</h6></div></div></div>\n<p>\n              This parameter instructs the test runner to print progress through\n              the test cases. The test runner has no way of determining the length\n              of time each test case will consume; the progress percentage is determined\n              by counting test cases.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">no</code> (default)</strong></span>\n                        [Do not show test execution progress.\n                      </p>\n                    </td>\n<td class=\"auto-generated\">&#160;</td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">yes</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Show test execution progress.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_SHOW_PROGRESS</code>\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.argument.___use_alt_stack_\"></a><a class=\"link\" href=\"argument.html#test.reference.test_classes.runner.argument.___use_alt_stack_\" title=\"--use_alt_stack\"><code class=\"literal\">--use_alt_stack</code></a>\n</h6></div></div></div>\n<p>\n              This parameter instructs the test runner to use an alternate stack\n              for signals processing on platforms where this is supported.\n            </p>\n<div class=\"informaltable\"><table class=\"table\">\n<colgroup>\n<col>\n<col>\n</colgroup>\n<thead><tr>\n<th>\n                      <p>\n                        Value\n                      </p>\n                    </th>\n<th>\n                      <p>\n                        Meaning\n                      </p>\n                    </th>\n</tr></thead>\n<tbody>\n<tr>\n<td>\n                      <p>\n                        <span class=\"bold\"><strong><code class=\"literal\">no</code> (default)</strong></span>\n                        [Do not use an alternate stack.\n                      </p>\n                    </td>\n<td class=\"auto-generated\">&#160;</td>\n</tr>\n<tr>\n<td>\n                      <p>\n                        <code class=\"literal\">yes</code>\n                      </p>\n                    </td>\n<td>\n                      <p>\n                        Use an alternate stack, where supported.\n                      </p>\n                    </td>\n</tr>\n</tbody>\n</table></div>\n<p>\n              <span class=\"bold\"><strong>Environment variable</strong></span>: <code class=\"literal\">BOOST_TEST_USE_ALT_STACK</code>\n            </p>\n</div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../runner.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../runner.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"output.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/runner/output.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Output</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../runner.html\" title=\"Test Runner\">\n<link rel=\"prev\" href=\"argument.html\" title=\"Command Line Arguments\">\n<link rel=\"next\" href=\"../headers.html\" title=\"Header Files\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"argument.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../runner.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../headers.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h5 class=\"title\">\n<a name=\"test.reference.test_classes.runner.output\"></a><a class=\"link\" href=\"output.html\" title=\"Test Output\">Test Output</a>\n</h5></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"output.html#test.reference.test_classes.runner.output.test_log\">Test\n            Log</a></span></dt>\n<dt><span class=\"section\"><a href=\"output.html#test.reference.test_classes.runner.output.test_report\">Test\n            Report</a></span></dt>\n<dt><span class=\"section\"><a href=\"output.html#test.reference.test_classes.runner.output._boost_test_checkpoint_\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"output.html#test.reference.test_classes.runner.output.boost_test_message\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"output.html#test.reference.test_classes.runner.output._boost_test_passpoint_\"><code class=\"literal\">BOOST_TEST_PASSPOINT</code></a></span></dt>\n</dl></div>\n<div class=\"section\"><div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.output.test_log\"></a><a class=\"link\" href=\"output.html#test.reference.test_classes.runner.output.test_log\" title=\"Test Log\">Test\n            Log</a>\n</h6></div></div></div></div>\n<div class=\"section\"><div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.output.test_report\"></a><a class=\"link\" href=\"output.html#test.reference.test_classes.runner.output.test_report\" title=\"Test Report\">Test\n            Report</a>\n</h6></div></div></div></div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.output._boost_test_checkpoint_\"></a><a class=\"link\" href=\"output.html#test.reference.test_classes.runner.output._boost_test_checkpoint_\" title=\"BOOST_TEST_CHECKPOINT\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a>\n</h6></div></div></div>\n<p>\n              <code class=\"literal\">BOOST_TEST_CHECKPOINT(</code><em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code>\n              registers a test case checkpoint and associated <em class=\"replaceable\"><code>message</code></em>\n              with the test runner. A checkpoint includes the source file and line\n              number where the macro was invoked. If the test case is aborted unexpectedly,\n              the soruce location and message associated with the last registered\n              checkpoint is emitted into the log. Checkpoints can be used to identify\n              the location of an unexpected failure within a block of test case code.\n              The <em class=\"replaceable\"><code>message</code></em> is applied to an output stream\n              with <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>\n              and can include other invocations of <code class=\"computeroutput\"><span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;</span></code>.\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.output.boost_test_message\"></a><a class=\"link\" href=\"output.html#test.reference.test_classes.runner.output.boost_test_message\" title=\"BOOST_TEST_MESSAGE\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a>\n</h6></div></div></div>\n<p>\n              <code class=\"literal\">BOOST_TEST_MESSAGE(</code><em class=\"replaceable\"><code>message</code></em><code class=\"literal\">)</code>\n              writes the <em class=\"replaceable\"><code>message</code></em> into the test runner\n              log file.\n            </p>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h6 class=\"title\">\n<a name=\"test.reference.test_classes.runner.output._boost_test_passpoint_\"></a><a class=\"link\" href=\"output.html#test.reference.test_classes.runner.output._boost_test_passpoint_\" title=\"BOOST_TEST_PASSPOINT\"><code class=\"literal\">BOOST_TEST_PASSPOINT</code></a>\n</h6></div></div></div>\n<p>\n              <code class=\"literal\">BOOST_TEST_PASSPOINT()</code> is similar to <code class=\"literal\">BOOST_TEST_CHECKPOINT</code>,\n              but only registers a source file location with the test runner.\n            </p>\n</div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"argument.html\"><img src=\"../../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../runner.html\"><img src=\"../../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../../index.html\"><img src=\"../../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../headers.html\"><img src=\"../../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/runner.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Runner</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test 1.22.0\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"assertion/_boost_test_dont_print_log_value_.html\" title=\"BOOST_TEST_DONT_PRINT_LOG_VALUE\">\n<link rel=\"next\" href=\"runner/argument.html\" title=\"Command Line Arguments\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"assertion/_boost_test_dont_print_log_value_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"runner/argument.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.runner\"></a><a class=\"link\" href=\"runner.html\" title=\"Test Runner\">Test Runner</a>\n</h4></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"runner/argument.html\">Command\n          Line Arguments</a></span></dt>\n<dt><span class=\"section\"><a href=\"runner/output.html\">Test Output</a></span></dt>\n</dl></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"assertion/_boost_test_dont_print_log_value_.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"runner/argument.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/test_case.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>test_case</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"test_unit.html\" title=\"test_unit\">\n<link rel=\"next\" href=\"test_suite.html\" title=\"test_suite\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_unit.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_suite.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.test_case\"></a><a class=\"link\" href=\"test_case.html\" title=\"test_case\"><code class=\"literal\">test_case</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">test_case</code> class represents a single test case. A\n          test case must be added to a test suite reachable from the master test\n          suite in order for the test runner to run the test case.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">test_case</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">test_unit</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"special\">{</span> <span class=\"identifier\">type</span> <span class=\"special\">=</span> <span class=\"identifier\">tut_case</span> <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"identifier\">test_case</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tc_name</span><span class=\"special\">,</span> <span class=\"identifier\">callback0</span><span class=\"special\">&lt;&gt;</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">test_func</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// Access methods</span>\n    <span class=\"identifier\">callback0</span><span class=\"special\">&lt;&gt;</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span>  <span class=\"identifier\">test_func</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_test_func</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_unit.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_suite.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/test_observer.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>test_observer</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"master_test_suite_t.html\" title=\"master_test_suite_t\">\n<link rel=\"next\" href=\"unit_test_log_t.html\" title=\"unit_test_log_t\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"master_test_suite_t.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_log_t.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.test_observer\"></a><a class=\"link\" href=\"test_observer.html\" title=\"test_observer\"><code class=\"literal\">test_observer</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">test_observer</code> class encapsulates observers of test\n          execution. It provides a simple <span class=\"emphasis\"><em>null</em></span> style observer\n          behavior.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">test_observer</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"comment\">// test observer interface</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_start</span><span class=\"special\">(</span> <span class=\"identifier\">counter_t</span> <span class=\"comment\">/* test_cases_amount */</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_finish</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_aborted</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_unit_start</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_unit_finish</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;,</span> <span class=\"keyword\">unsigned</span> <span class=\"keyword\">long</span> <span class=\"comment\">/* elapsed */</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_unit_skipped</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">test_unit_aborted</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">assertion_result</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span> <span class=\"comment\">/* passed */</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>    <span class=\"identifier\">exception_caught</span><span class=\"special\">(</span> <span class=\"identifier\">execution_exception</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">int</span>     <span class=\"identifier\">priority</span><span class=\"special\">()</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"master_test_suite_t.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_log_t.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/test_suite.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>test_suite</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"test_case.html\" title=\"test_case\">\n<link rel=\"next\" href=\"master_test_suite_t.html\" title=\"master_test_suite_t\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"master_test_suite_t.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.test_suite\"></a><a class=\"link\" href=\"test_suite.html\" title=\"test_suite\"><code class=\"literal\">test_suite</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">test_suite</code> class represents a group of test cases\n          and suites in the test tree hierarchy.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">bosot</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">test_suite</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">test_unit</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"special\">{</span> <span class=\"identifier\">type</span> <span class=\"special\">=</span> <span class=\"identifier\">tut_suite</span> <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"keyword\">explicit</span>        <span class=\"identifier\">test_suite</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">ts_name</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// test unit list management</span>\n    <span class=\"keyword\">void</span>            <span class=\"identifier\">add</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span><span class=\"special\">*</span> <span class=\"identifier\">tu</span><span class=\"special\">,</span> <span class=\"identifier\">counter_t</span> <span class=\"identifier\">expected_failures</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">,</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">timeout</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>            <span class=\"identifier\">add</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit_generator</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">gen</span><span class=\"special\">,</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">timeout</span> <span class=\"special\">=</span> <span class=\"number\">0</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>            <span class=\"identifier\">remove</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit_id</span> <span class=\"identifier\">id</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// access methods</span>\n    <span class=\"identifier\">test_unit_id</span>    <span class=\"identifier\">get</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tu_name</span> <span class=\"special\">)</span> <span class=\"keyword\">const</span><span class=\"special\">;</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">size_t</span>     <span class=\"identifier\">size</span><span class=\"special\">()</span> <span class=\"keyword\">const</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"identifier\">m_members</span><span class=\"special\">.</span><span class=\"identifier\">size</span><span class=\"special\">();</span> <span class=\"special\">}</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_case.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"master_test_suite_t.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/test_unit.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>test_unit</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"predicate_result.html\" title=\"predicate_result\">\n<link rel=\"next\" href=\"test_case.html\" title=\"test_case\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"predicate_result.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.test_unit\"></a><a class=\"link\" href=\"test_unit.html\" title=\"test_unit\"><code class=\"literal\">test_unit</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">test_unit</code> class forms the basis of the hierarchical\n          tree of test cases. Test applications will usually create instances of\n          <code class=\"literal\">test_case</code> or <code class=\"literal\">test_suite</code>, both of\n          which derive from <code class=\"literal\">test_unit</code>.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">test_unit</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"special\">{</span> <span class=\"identifier\">type</span> <span class=\"special\">=</span> <span class=\"identifier\">tut_any</span> <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Constructor</span>\n    <span class=\"identifier\">test_unit</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">tu_name</span><span class=\"special\">,</span> <span class=\"identifier\">test_unit_type</span> <span class=\"identifier\">t</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// dependencies management</span>\n    <span class=\"keyword\">void</span>    <span class=\"identifier\">depends_on</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span><span class=\"special\">*</span> <span class=\"identifier\">tu</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">bool</span>    <span class=\"identifier\">check_dependencies</span><span class=\"special\">()</span> <span class=\"keyword\">const</span><span class=\"special\">;</span>\n\n    <span class=\"comment\">// Public r/o properties</span>\n    <span class=\"keyword\">typedef</span> <span class=\"identifier\">BOOST_READONLY_PROPERTY</span><span class=\"special\">(</span><span class=\"identifier\">test_unit_id</span><span class=\"special\">,(</span><span class=\"identifier\">framework_impl</span><span class=\"special\">))</span>  <span class=\"identifier\">id_t</span><span class=\"special\">;</span>\n    <span class=\"keyword\">typedef</span> <span class=\"identifier\">BOOST_READONLY_PROPERTY</span><span class=\"special\">(</span><span class=\"identifier\">test_unit_id</span><span class=\"special\">,(</span><span class=\"identifier\">test_suite</span><span class=\"special\">))</span>      <span class=\"identifier\">parent_id_t</span><span class=\"special\">;</span>\n    <span class=\"identifier\">readonly_property</span><span class=\"special\">&lt;</span><span class=\"identifier\">test_unit_type</span><span class=\"special\">&gt;</span>   <span class=\"identifier\">p_type</span><span class=\"special\">;</span>                 <span class=\"comment\">// type for this test unit</span>\n    <span class=\"identifier\">readonly_property</span><span class=\"special\">&lt;</span><span class=\"identifier\">const_string</span><span class=\"special\">&gt;</span>     <span class=\"identifier\">p_type_name</span><span class=\"special\">;</span>            <span class=\"comment\">// \"case\"/\"suite\"</span>\n    <span class=\"identifier\">id_t</span>                                <span class=\"identifier\">p_id</span><span class=\"special\">;</span>                   <span class=\"comment\">// unique id for this test unit</span>\n    <span class=\"identifier\">parent_id_t</span>                         <span class=\"identifier\">p_parent_id</span><span class=\"special\">;</span>            <span class=\"comment\">// parent test suite id</span>\n\n    <span class=\"comment\">// Public r/w properties</span>\n    <span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">string</span><span class=\"special\">&gt;</span>     <span class=\"identifier\">p_name</span><span class=\"special\">;</span>                 <span class=\"comment\">// name for this test unit</span>\n    <span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">unsigned</span><span class=\"special\">&gt;</span>        <span class=\"identifier\">p_timeout</span><span class=\"special\">;</span>              <span class=\"comment\">// timeout for the test unit execution</span>\n    <span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"identifier\">counter_t</span><span class=\"special\">&gt;</span>       <span class=\"identifier\">p_expected_failures</span><span class=\"special\">;</span>    <span class=\"comment\">// number of expected failures in this test unit</span>\n    <span class=\"keyword\">mutable</span> <span class=\"identifier\">readwrite_property</span><span class=\"special\">&lt;</span><span class=\"keyword\">bool</span><span class=\"special\">&gt;</span>    <span class=\"identifier\">p_enabled</span><span class=\"special\">;</span>              <span class=\"comment\">// enabled status for this unit</span>\n\n    <span class=\"keyword\">void</span>                                <span class=\"identifier\">increase_exp_fail</span><span class=\"special\">(</span> <span class=\"keyword\">unsigned</span> <span class=\"identifier\">num</span> <span class=\"special\">);</span>\n\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"predicate_result.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_case.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/unit_test_log_formatter.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>unit_test_log_formatter</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"unit_test_log_t.html\" title=\"unit_test_log_t\">\n<link rel=\"next\" href=\"init_unit_test_func.html\" title=\"init_unit_test_func\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"unit_test_log_t.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"init_unit_test_func.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.unit_test_log_formatter\"></a><a class=\"link\" href=\"unit_test_log_formatter.html\" title=\"unit_test_log_formatter\"><code class=\"literal\">unit_test_log_formatter</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">unit_test_log_formatter</code> class encapsulates formatting\n          of log events for an output stream.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">unit_test_log_formatter</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"keyword\">enum</span> <span class=\"identifier\">log_entry_types</span> <span class=\"special\">{</span> <span class=\"identifier\">BOOST_UTL_ET_INFO</span><span class=\"special\">,</span>\n                           <span class=\"identifier\">BOOST_UTL_ET_MESSAGE</span><span class=\"special\">,</span>\n                           <span class=\"identifier\">BOOST_UTL_ET_WARNING</span><span class=\"special\">,</span>\n                           <span class=\"identifier\">BOOST_UTL_ET_ERROR</span><span class=\"special\">,</span>\n                           <span class=\"identifier\">BOOST_UTL_ET_FATAL_ERROR</span> <span class=\"special\">};</span>\n\n    <span class=\"comment\">// Destructor</span>\n    <span class=\"keyword\">virtual</span>             <span class=\"special\">~</span><span class=\"identifier\">unit_test_log_formatter</span><span class=\"special\">()</span> <span class=\"special\">{}</span>\n\n    <span class=\"comment\">// Formatter interface</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_start</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">counter_t</span> <span class=\"identifier\">test_cases_amount</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_finish</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_build_info</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">test_unit_start</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">tu</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">test_unit_finish</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">tu</span><span class=\"special\">,</span> <span class=\"keyword\">unsigned</span> <span class=\"keyword\">long</span> <span class=\"identifier\">elapsed</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">test_unit_skipped</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_exception</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">os</span><span class=\"special\">,</span> <span class=\"identifier\">log_checkpoint_data</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">cd</span><span class=\"special\">,</span> <span class=\"identifier\">execution_exception</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">ex</span> <span class=\"special\">)</span>\n    <span class=\"special\">{</span>\n        <span class=\"comment\">// for backward compatibility</span>\n        <span class=\"identifier\">log_exception</span><span class=\"special\">(</span> <span class=\"identifier\">os</span><span class=\"special\">,</span> <span class=\"identifier\">cd</span><span class=\"special\">,</span> <span class=\"identifier\">ex</span><span class=\"special\">.</span><span class=\"identifier\">what</span><span class=\"special\">()</span> <span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_exception</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">log_checkpoint_data</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">const_string</span> <span class=\"comment\">/* explanation */</span> <span class=\"special\">)</span> <span class=\"special\">{}</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_entry_start</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">log_entry_data</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">log_entry_types</span> <span class=\"identifier\">let</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_entry_value</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">value</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_entry_value</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;,</span> <span class=\"identifier\">lazy_ostream</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"identifier\">value</span> <span class=\"special\">);</span> <span class=\"comment\">// there is a default impl</span>\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">void</span>        <span class=\"identifier\">log_entry_finish</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"special\">)</span> <span class=\"special\">=</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"unit_test_log_t.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"init_unit_test_func.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/unit_test_log_t.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>unit_test_log_t</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"test_observer.html\" title=\"test_observer\">\n<link rel=\"next\" href=\"unit_test_log_formatter.html\" title=\"unit_test_log_formatter\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_observer.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_log_formatter.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.unit_test_log_t\"></a><a class=\"link\" href=\"unit_test_log_t.html\" title=\"unit_test_log_t\"><code class=\"literal\">unit_test_log_t</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">unit_test_log_t</code> class encapsulates the unit test\n          log. You obtain a reference to the single global unit test log instance\n          with the <code class=\"literal\">unit_test_log</code> member.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">log</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">class</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">unit_test_log_t</span> <span class=\"special\">:</span> <span class=\"keyword\">public</span> <span class=\"identifier\">test_observer</span><span class=\"special\">,</span> <span class=\"keyword\">public</span> <span class=\"identifier\">singleton</span><span class=\"special\">&lt;</span><span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&gt;</span> <span class=\"special\">{</span>\n<span class=\"keyword\">public</span><span class=\"special\">:</span>\n    <span class=\"comment\">// test_observer interface implementation</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_start</span><span class=\"special\">(</span> <span class=\"identifier\">counter_t</span> <span class=\"identifier\">test_cases_amount</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_finish</span><span class=\"special\">();</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_aborted</span><span class=\"special\">();</span>\n\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_unit_start</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_unit_finish</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;,</span> <span class=\"keyword\">unsigned</span> <span class=\"keyword\">long</span> <span class=\"identifier\">elapsed</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_unit_skipped</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">test_unit_aborted</span><span class=\"special\">(</span> <span class=\"identifier\">test_unit</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">assertion_result</span><span class=\"special\">(</span> <span class=\"keyword\">bool</span> <span class=\"identifier\">passed</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">exception_caught</span><span class=\"special\">(</span> <span class=\"identifier\">execution_exception</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n\n    <span class=\"keyword\">virtual</span> <span class=\"keyword\">int</span>         <span class=\"identifier\">priority</span><span class=\"special\">()</span> <span class=\"special\">{</span> <span class=\"keyword\">return</span> <span class=\"number\">1</span><span class=\"special\">;</span> <span class=\"special\">}</span>\n\n    <span class=\"comment\">// log configuration methods</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_stream</span><span class=\"special\">(</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_threshold_level</span><span class=\"special\">(</span> <span class=\"identifier\">log_level</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_format</span><span class=\"special\">(</span> <span class=\"identifier\">output_format</span> <span class=\"special\">);</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_formatter</span><span class=\"special\">(</span> <span class=\"identifier\">unit_test_log_formatter</span><span class=\"special\">*</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// test progress logging</span>\n    <span class=\"keyword\">void</span>                <span class=\"identifier\">set_checkpoint</span><span class=\"special\">(</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">file</span><span class=\"special\">,</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">size_t</span> <span class=\"identifier\">line_num</span><span class=\"special\">,</span> <span class=\"identifier\">const_string</span> <span class=\"identifier\">msg</span> <span class=\"special\">=</span> <span class=\"identifier\">const_string</span><span class=\"special\">()</span> <span class=\"special\">);</span>\n\n    <span class=\"comment\">// entry logging</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">log</span><span class=\"special\">::</span><span class=\"identifier\">begin</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>        <span class=\"comment\">// begin entry </span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">log</span><span class=\"special\">::</span><span class=\"identifier\">end</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>          <span class=\"comment\">// end entry</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">log_level</span> <span class=\"special\">);</span>                <span class=\"comment\">// set entry level</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">const_string</span> <span class=\"special\">);</span>             <span class=\"comment\">// log entry value</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span>    <span class=\"keyword\">operator</span><span class=\"special\">&lt;&lt;(</span> <span class=\"identifier\">lazy_ostream</span> <span class=\"keyword\">const</span><span class=\"special\">&amp;</span> <span class=\"special\">);</span>      <span class=\"comment\">// log entry value</span>\n\n    <span class=\"identifier\">ut_detail</span><span class=\"special\">::</span><span class=\"identifier\">entry_value_collector</span> <span class=\"keyword\">operator</span><span class=\"special\">()(</span> <span class=\"identifier\">log_level</span> <span class=\"special\">);</span>   <span class=\"comment\">// initiate entry collection</span>\n<span class=\"special\">};</span>\n\n<span class=\"keyword\">namespace</span> <span class=\"special\">{</span>\n    <span class=\"identifier\">unit_test_log_t</span><span class=\"special\">&amp;</span> <span class=\"identifier\">unit_test_log</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_observer.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"unit_test_log_formatter.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes/unit_test_main.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>unit_test_main</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_classes.html\" title=\"Test Classes\">\n<link rel=\"prev\" href=\"init_unit_test_func.html\" title=\"init_unit_test_func\">\n<link rel=\"next\" href=\"../assertion.html\" title=\"Test Assertions\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"init_unit_test_func.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_classes.unit_test_main\"></a><a class=\"link\" href=\"unit_test_main.html\" title=\"unit_test_main\"><code class=\"literal\">unit_test_main</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">unit_test_main</code> function provides an implementation\n          of <code class=\"literal\">main</code> that can be used by a test executable compiled\n          with <a class=\"link\" href=\"../configuration_macros.html#test.reference.compilation.boost_test_no_main\"><code class=\"literal\">BOOST_TEST_NO_MAIN</code></a>.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">namespace</span> <span class=\"identifier\">boost</span> <span class=\"special\">{</span> <span class=\"keyword\">namespace</span> <span class=\"identifier\">unit_test</span> <span class=\"special\">{</span>\n\n<span class=\"keyword\">int</span> <span class=\"identifier\">BOOST_TEST_DECL</span> <span class=\"identifier\">unit_test_main</span><span class=\"special\">(</span> <span class=\"identifier\">init_unit_test_func</span> <span class=\"identifier\">init_func</span><span class=\"special\">,</span> <span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[]</span> <span class=\"special\">);</span>\n\n<span class=\"special\">}</span> <span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<p>\n          <code class=\"literal\">unit_test_main</code> initializes the test framework, traverses\n          the test tree and reports the result as a the return value of the function.\n          Unexpected exceptions and system errors (signals, etc.) are caught and\n          mapped to appropriate return values by the function.\n        </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"init_unit_test_func.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../assertion.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_classes.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Classes</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../reference.html\" title=\"Reference\">\n<link rel=\"prev\" href=\"test_suite/boost_test_suite.html\" title=\"BOOST_TEST_SUITE\">\n<link rel=\"next\" href=\"test_classes/predicate_result.html\" title=\"predicate_result\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_suite/boost_test_suite.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_classes/predicate_result.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.reference.test_classes\"></a><a class=\"link\" href=\"test_classes.html\" title=\"Test Classes\">Test Classes</a>\n</h3></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"test_classes/predicate_result.html\"><code class=\"literal\">predicate_result</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_classes/test_unit.html\"><code class=\"literal\">test_unit</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_classes/test_case.html\"><code class=\"literal\">test_case</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_classes/test_suite.html\"><code class=\"literal\">test_suite</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_classes/master_test_suite_t.html\"><code class=\"literal\">master_test_suite_t</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_classes/test_observer.html\"><code class=\"literal\">test_observer</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_classes/unit_test_log_t.html\"><code class=\"literal\">unit_test_log_t</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_classes/unit_test_log_formatter.html\"><code class=\"literal\">unit_test_log_formatter</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_classes/init_unit_test_func.html\"><code class=\"literal\">init_unit_test_func</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_classes/unit_test_main.html\"><code class=\"literal\">unit_test_main</code></a></span></dt>\n</dl></div>\n<p>\n        Most of the time you will not need to interact with the classes in Boost.Test\n        because the macro facilities for assertions, test cases and test suites hide\n        all the details of the classes. If you are adapting legacy test code to Boost.Test\n        you may need to interact with these classes in order to leverage existing\n        test code without significant refactoring of the legacy test code.\n      </p>\n<p>\n        The <a class=\"link\" href=\"test_classes/predicate_result.html\" title=\"predicate_result\"><code class=\"literal\">predicate_result</code></a>\n        class is used to combine a boolean result from a predicate with a custom\n        failure message for reporting additional detail in the context of a failed\n        assertion. The <a class=\"link\" href=\"test_classes/test_unit.html\" title=\"test_unit\"><code class=\"literal\">test_unit</code></a>,\n        <a class=\"link\" href=\"test_classes/test_case.html\" title=\"test_case\"><code class=\"literal\">test_case</code></a>,\n        <a class=\"link\" href=\"test_classes/test_suite.html\" title=\"test_suite\"><code class=\"literal\">test_suite</code></a>\n        and <a class=\"link\" href=\"test_classes/master_test_suite_t.html\" title=\"master_test_suite_t\"><code class=\"literal\">master_test_suite_t</code></a>\n        classes provide the interface to test suites and their test cases for the\n        test runner. The <a class=\"link\" href=\"test_classes/test_observer.html\" title=\"test_observer\"><code class=\"literal\">test_observer</code></a>,\n        <a class=\"link\" href=\"test_classes/unit_test_log_t.html\" title=\"unit_test_log_t\"><code class=\"literal\">unit_test_log_t</code></a>\n        and <a class=\"link\" href=\"test_classes/unit_test_log_formatter.html\" title=\"unit_test_log_formatter\"><code class=\"literal\">unit_test_log_formatter</code></a>\n        classes provide low-level interaction with the test runner log.\n      </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_suite/boost_test_suite.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_classes/predicate_result.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_suite/boost_auto_test_suite.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_AUTO_TEST_SUITE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_suite.html\" title=\"Test Suites\">\n<link rel=\"prev\" href=\"../test_suite.html\" title=\"Test Suites\">\n<link rel=\"next\" href=\"boost_auto_test_suite_end.html\" title=\"BOOST_AUTO_TEST_SUITE_END\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_auto_test_suite_end.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_suite.boost_auto_test_suite\"></a><a class=\"link\" href=\"boost_auto_test_suite.html\" title=\"BOOST_AUTO_TEST_SUITE\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">BOOST_AUTO_TEST_SUITE(</code><em class=\"replaceable\"><code>name</code></em><code class=\"literal\">)</code>\n          macro defines an automatically registered test suite named <em class=\"replaceable\"><code>name</code></em>\n          and opens a namespace named <em class=\"replaceable\"><code>name</code></em>.\n        </p>\n<p>\n          A test suite can be nested within another test suite. Each test suite begun\n          with <code class=\"literal\">BOOST_AUTO_TEST_SUITE</code> must be ended with <a class=\"link\" href=\"boost_auto_test_suite_end.html\" title=\"BOOST_AUTO_TEST_SUITE_END\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE_END</code></a>\n          The new test suite is registered within its enclosing test suite, or the\n          master test suite if there is no enclosing test suite.\n        </p>\n<h6>\n<a name=\"test.reference.test_suite.boost_auto_test_suite.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_suite.boost_auto_test_suite.example_source_code\"></a></span><a class=\"link\" href=\"boost_auto_test_suite.html#test.reference.test_suite.boost_auto_test_suite.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              Tutorials:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a class=\"link\" href=\"../../tutorials/running_selected_tests.html\" title=\"Running Selected Tests\">Running\n                    Selected Tests</a>\n                  </li></ul></div>\n            </li>\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/running_selected_tests/sut/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/running_selected_tests/sut/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/running_selected_tests/test/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_auto_test_suite_end.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_suite/boost_auto_test_suite_end.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_AUTO_TEST_SUITE_END</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_suite.html\" title=\"Test Suites\">\n<link rel=\"prev\" href=\"boost_auto_test_suite.html\" title=\"BOOST_AUTO_TEST_SUITE\">\n<link rel=\"next\" href=\"boost_fixture_test_suite.html\" title=\"BOOST_FIXTURE_TEST_SUITE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_suite.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fixture_test_suite.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_suite.boost_auto_test_suite_end\"></a><a class=\"link\" href=\"boost_auto_test_suite_end.html\" title=\"BOOST_AUTO_TEST_SUITE_END\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE_END</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">BOOST_AUTO_TEST_SUITE_END()</code> macro ends the test\n          suite most recently defined with <a class=\"link\" href=\"boost_auto_test_suite.html\" title=\"BOOST_AUTO_TEST_SUITE\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE</code></a>\n          or <a class=\"link\" href=\"boost_fixture_test_suite.html\" title=\"BOOST_FIXTURE_TEST_SUITE\"><code class=\"literal\">BOOST_FIXTURE_TEST_SUITE</code></a>.\n          The corresponding namespace created when the test suite was defined is\n          closed by <code class=\"literal\">BOOST_AUTO_TEST_SUITE_END</code>.\n        </p>\n<h6>\n<a name=\"test.reference.test_suite.boost_auto_test_suite_end.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_suite.boost_auto_test_suite_end.example_source_code\"></a></span><a class=\"link\" href=\"boost_auto_test_suite_end.html#test.reference.test_suite.boost_auto_test_suite_end.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              Tutorials:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a class=\"link\" href=\"../../tutorials/running_selected_tests.html\" title=\"Running Selected Tests\">Running\n                    Selected Tests</a>\n                  </li></ul></div>\n            </li>\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/running_selected_tests/sut/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/running_selected_tests/sut/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/running_selected_tests/test/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_suite.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_fixture_test_suite.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_suite/boost_fixture_test_suite.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_FIXTURE_TEST_SUITE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_suite.html\" title=\"Test Suites\">\n<link rel=\"prev\" href=\"boost_auto_test_suite_end.html\" title=\"BOOST_AUTO_TEST_SUITE_END\">\n<link rel=\"next\" href=\"boost_test_module.html\" title=\"BOOST_TEST_MODULE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_suite_end.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_module.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_suite.boost_fixture_test_suite\"></a><a class=\"link\" href=\"boost_fixture_test_suite.html\" title=\"BOOST_FIXTURE_TEST_SUITE\"><code class=\"literal\">BOOST_FIXTURE_TEST_SUITE</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">BOOST_FIXTURE_TEST_SUITE(</code><em class=\"replaceable\"><code>suite</code></em>,\n          <em class=\"replaceable\"><code>fixture</code></em><code class=\"literal\">)</code> macro begins the\n          test suite named <em class=\"replaceable\"><code>suite</code></em> and uses <em class=\"replaceable\"><code>fixture</code></em>\n          as a test fixture to be used as the base class of all test case classes\n          created in the suite with <code class=\"literal\">BOOST_AUTO_TEST_CASE</code>.\n        </p>\n<h6>\n<a name=\"test.reference.test_suite.boost_fixture_test_suite.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_suite.boost_fixture_test_suite.example_source_code\"></a></span><a class=\"link\" href=\"boost_fixture_test_suite.html#test.reference.test_suite.boost_fixture_test_suite.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              Tutorials:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a class=\"link\" href=\"../../tutorials/running_selected_tests.html\" title=\"Running Selected Tests\">Running\n                    Selected Tests</a>\n                  </li></ul></div>\n            </li>\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/running_selected_tests/sut/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/running_selected_tests/sut/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/tutorials/running_selected_tests/test/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_auto_test_suite_end.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_module.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_suite/boost_test_module.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_MODULE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_suite.html\" title=\"Test Suites\">\n<link rel=\"prev\" href=\"boost_fixture_test_suite.html\" title=\"BOOST_FIXTURE_TEST_SUITE\">\n<link rel=\"next\" href=\"boost_test_suite.html\" title=\"BOOST_TEST_SUITE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fixture_test_suite.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_suite.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_suite.boost_test_module\"></a><a class=\"link\" href=\"boost_test_module.html\" title=\"BOOST_TEST_MODULE\"><code class=\"literal\">BOOST_TEST_MODULE</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">BOOST_TEST_MODULE</code> macro is used to define the name\n          of the master test suite. If <code class=\"literal\">BOOST_TEST_MODULE</code> is defined,\n          it should be defined in exactly one source file. It can be defined to a\n          list of preprocessor tokens or a string literal. If a string literal is\n          used, surrounding quotation marks (<code class=\"literal\">\"</code>), will not\n          appear in the name of the master test suite.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_MAIN</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_MODULE</span> <span class=\"string\">\"Assertions\"</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.reference.test_suite.boost_test_module.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_suite.boost_test_module.example_source_code\"></a></span><a class=\"link\" href=\"boost_test_module.html#test.reference.test_suite.boost_test_module.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \"><li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/assertions.cpp\" target=\"_top\">assertions.cpp</a>\n                  </li></ul></div>\n            </li></ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_fixture_test_suite.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"boost_test_suite.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_suite/boost_test_suite.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>BOOST_TEST_SUITE</title>\n<link rel=\"stylesheet\" href=\"../../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../test_suite.html\" title=\"Test Suites\">\n<link rel=\"prev\" href=\"boost_test_module.html\" title=\"BOOST_TEST_MODULE\">\n<link rel=\"next\" href=\"../test_classes.html\" title=\"Test Classes\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_module.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h4 class=\"title\">\n<a name=\"test.reference.test_suite.boost_test_suite\"></a><a class=\"link\" href=\"boost_test_suite.html\" title=\"BOOST_TEST_SUITE\"><code class=\"literal\">BOOST_TEST_SUITE</code></a>\n</h4></div></div></div>\n<p>\n          The <code class=\"literal\">BOOST_TEST_SUITE(</code><em class=\"replaceable\"><code>name</code></em><code class=\"literal\">)</code>\n          macro is used to create a new test suite named <em class=\"replaceable\"><code>name</code></em>.\n          The new suite must be added to the master test suite in order for any test\n          cases in the suite to be executed.\n        </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">static</span> <span class=\"identifier\">test_suite</span><span class=\"special\">*</span>\n<span class=\"identifier\">init_unit_test_suite</span><span class=\"special\">(</span><span class=\"keyword\">int</span> <span class=\"identifier\">argc</span><span class=\"special\">,</span> <span class=\"keyword\">char</span><span class=\"special\">*</span> <span class=\"identifier\">argv</span><span class=\"special\">[])</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">test_suite</span><span class=\"special\">*</span> <span class=\"identifier\">hello_suite</span> <span class=\"special\">=</span> <span class=\"identifier\">BOOST_TEST_SUITE</span><span class=\"special\">(</span><span class=\"string\">\"hello\"</span><span class=\"special\">);</span>\n    <span class=\"identifier\">register_function</span><span class=\"special\">(*</span><span class=\"identifier\">hello_suite</span><span class=\"special\">);</span>\n    <span class=\"identifier\">register_method_static_instance</span><span class=\"special\">(*</span><span class=\"identifier\">hello_suite</span><span class=\"special\">);</span>\n    <span class=\"identifier\">register_method_function_instance</span><span class=\"special\">(*</span><span class=\"identifier\">hello_suite</span><span class=\"special\">);</span>\n    <span class=\"identifier\">framework</span><span class=\"special\">::</span><span class=\"identifier\">master_test_suite</span><span class=\"special\">().</span><span class=\"identifier\">add</span><span class=\"special\">(</span><span class=\"identifier\">hello_suite</span><span class=\"special\">);</span>\n    <span class=\"keyword\">return</span> <span class=\"number\">0</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n        </p>\n<h6>\n<a name=\"test.reference.test_suite.boost_test_suite.h0\"></a>\n          <span class=\"phrase\"><a name=\"test.reference.test_suite.boost_test_suite.example_source_code\"></a></span><a class=\"link\" href=\"boost_test_suite.html#test.reference.test_suite.boost_test_suite.example_source_code\">Example\n          Source Code</a>\n        </h6>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n              System under test:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.hpp\" target=\"_top\">hello.hpp</a>\n                  </li>\n<li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/system_under_test/hello/hello.cpp\" target=\"_top\">hello.cpp</a>\n                  </li>\n</ul></div>\n            </li>\n<li class=\"listitem\">\n              Tests:\n              <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                    <a href=\"../../../../../../../libs/test/doc/src/examples/manual_registration.cpp\" target=\"_top\">manual_registration.cpp</a>\n                  </li></ul></div>\n            </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"boost_test_module.html\"><img src=\"../../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../test_suite.html\"><img src=\"../../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../../index.html\"><img src=\"../../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../test_classes.html\"><img src=\"../../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference/test_suite.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Test Suites</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../reference.html\" title=\"Reference\">\n<link rel=\"prev\" href=\"test_case/boost_test_case_template_function.html\" title=\"BOOST_TEST_CASE_TEMPLATE_FUNCTION\">\n<link rel=\"next\" href=\"test_suite/boost_auto_test_suite.html\" title=\"BOOST_AUTO_TEST_SUITE\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_case/boost_test_case_template_function.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_suite/boost_auto_test_suite.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.reference.test_suite\"></a><a class=\"link\" href=\"test_suite.html\" title=\"Test Suites\">Test Suites</a>\n</h3></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"test_suite/boost_auto_test_suite.html\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_suite/boost_auto_test_suite_end.html\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE_END</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_suite/boost_fixture_test_suite.html\"><code class=\"literal\">BOOST_FIXTURE_TEST_SUITE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_suite/boost_test_module.html\"><code class=\"literal\">BOOST_TEST_MODULE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"test_suite/boost_test_suite.html\"><code class=\"literal\">BOOST_TEST_SUITE</code></a></span></dt>\n</dl></div>\n<p>\n        A test suite is an ordered collection of test cases and other test suites.\n        The test cases in a suite are executed in the order in which they are added\n        to the suite. When test cases are automatically registered, they are added\n        to the test suite in the order of their definition in the source file.\n      </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"test_case/boost_test_case_template_function.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../reference.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"test_suite/boost_auto_test_suite.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/reference.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Reference</title>\n<link rel=\"stylesheet\" href=\"../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"prev\" href=\"guide/manually_registering_test_cases_and_suites.html\" title=\"Manually Registering Test Cases and Suites\">\n<link rel=\"next\" href=\"reference/configuration_macros.html\" title=\"Configuration Macros\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"guide/manually_registering_test_cases_and_suites.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"reference/configuration_macros.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h2 class=\"title\" style=\"clear: both\">\n<a name=\"test.reference\"></a><a class=\"link\" href=\"reference.html\" title=\"Reference\">Reference</a>\n</h2></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"reference/configuration_macros.html\">Configuration Macros</a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case.html\">Test Cases</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_auto_test_case.html\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_auto_test_case_expected_failures.html\"><code class=\"literal\">BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_auto_test_case_template.html\"><code class=\"literal\">BOOST_AUTO_TEST_CASE_TEMPLATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_fixture_test_case.html\"><code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_global_fixture.html\"><code class=\"literal\">BOOST_GLOBAL_FIXTURE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_param_test_case.html\"><code class=\"literal\">BOOST_PARAM_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_param_class_test_case.html\"><code class=\"literal\">BOOST_PARAM_CLASS_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_test_case.html\"><code class=\"literal\">BOOST_TEST_CASE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_test_case_template.html\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_case/boost_test_case_template_function.html\"><code class=\"literal\">BOOST_TEST_CASE_TEMPLATE_FUNCTION</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"reference/test_suite.html\">Test Suites</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"reference/test_suite/boost_auto_test_suite.html\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_suite/boost_auto_test_suite_end.html\"><code class=\"literal\">BOOST_AUTO_TEST_SUITE_END</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_suite/boost_fixture_test_suite.html\"><code class=\"literal\">BOOST_FIXTURE_TEST_SUITE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_suite/boost_test_module.html\"><code class=\"literal\">BOOST_TEST_MODULE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_suite/boost_test_suite.html\"><code class=\"literal\">BOOST_TEST_SUITE</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"reference/test_classes.html\">Test Classes</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"reference/test_classes/predicate_result.html\"><code class=\"literal\">predicate_result</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_classes/test_unit.html\"><code class=\"literal\">test_unit</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_classes/test_case.html\"><code class=\"literal\">test_case</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_classes/test_suite.html\"><code class=\"literal\">test_suite</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_classes/master_test_suite_t.html\"><code class=\"literal\">master_test_suite_t</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_classes/test_observer.html\"><code class=\"literal\">test_observer</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_classes/unit_test_log_t.html\"><code class=\"literal\">unit_test_log_t</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_classes/unit_test_log_formatter.html\"><code class=\"literal\">unit_test_log_formatter</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_classes/init_unit_test_func.html\"><code class=\"literal\">init_unit_test_func</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/test_classes/unit_test_main.html\"><code class=\"literal\">unit_test_main</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"reference/assertion.html\">Test Assertions</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"reference/assertion/levels.html\">Assertion Levels</a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___bitwise_equal_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_BITWISE_EQUAL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___close_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___close_fraction_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_CLOSE_FRACTION</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/boost_level_equal.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___equal_collections_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EQUAL_COLLECTIONS</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/boost_level_exception.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_EXCEPTION</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/boost_fail.html\"><code class=\"literal\">BOOST_FAIL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___ge_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___gt_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_GT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___le_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___lt_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_LT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/boost_level_message.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_MESSAGE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___ne_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/boost_level_no_throw.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_NO_THROW</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___predicate_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_PREDICATE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/_boost____level___small_.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_SMALL</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/boost_level_throw.html\"><code class=\"literal\">BOOST_</code><em class=\"replaceable\"><code>level</code></em><code class=\"literal\">_THROW</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/assertion/boost_test_dont_print_log_value.html\"><code class=\"literal\">BOOST_TEST_DONT_PRINT_LOG_VALUE</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"reference/runner.html\">Test Runner</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"reference/runner/argument.html\">Command Line Arguments</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/auto_start_dbg.html\"><code class=\"literal\">--auto_start_dbg</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/___build_info_.html\"><code class=\"literal\">--build_info</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/___catch_system_errors_.html\"><code class=\"literal\">--catch_system_errors</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/___detect_fp_exceptions_.html\"><code class=\"literal\">--detect_fp_exceptions</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/___detect_memory_leaks_.html\"><code class=\"literal\">--detect_memory_leaks</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/log_format.html\"><code class=\"literal\">--log_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/log_level.html\"><code class=\"literal\">--log_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/log_sink.html\"><code class=\"literal\">--log_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/output_format.html\"><code class=\"literal\">--output_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/___random_.html\"><code class=\"literal\">--random</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/report_format.html\"><code class=\"literal\">--report_format</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/report_level.html\"><code class=\"literal\">--report_level</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/report_sink.html\"><code class=\"literal\">--report_sink</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/___result_code_.html\"><code class=\"literal\">--result_code</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/run_test.html\"><code class=\"literal\">--run_test</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/___show_progress_.html\"><code class=\"literal\">--show_progress</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/argument/___use_alt_stack_.html\"><code class=\"literal\">--use_alt_stack</code></a></span></dt>\n</dl></dd>\n<dt><span class=\"section\"><a href=\"reference/runner/output.html\">Test Output</a></span></dt>\n<dd><dl>\n<dt><span class=\"section\"><a href=\"reference/runner/output/log.html\">Test Log</a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/output/report.html\">Test Report</a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/output/boost_test_checkpoint.html\"><code class=\"literal\">BOOST_TEST_CHECKPOINT</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/output/boost_test_message.html\"><code class=\"literal\">BOOST_TEST_MESSAGE</code></a></span></dt>\n<dt><span class=\"section\"><a href=\"reference/runner/output/_boost_test_passpoint_.html\"><code class=\"literal\">BOOST_TEST_PASSPOINT</code></a></span></dt>\n</dl></dd>\n</dl></dd>\n</dl></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"guide/manually_registering_test_cases_and_suites.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"reference/configuration_macros.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/tutorials/hello_test.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Hello, Test!</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../tutorials.html\" title=\"Tutorials\">\n<link rel=\"prev\" href=\"../tutorials.html\" title=\"Tutorials\">\n<link rel=\"next\" href=\"testing_with_exceptions.html\" title=\"Testing with Exceptions\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing_with_exceptions.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.tutorials.hello_test\"></a><a class=\"link\" href=\"hello_test.html\" title=\"Hello, Test!\">Hello, Test!</a>\n</h3></div></div></div>\n<p>\n        Suppose we wish to test that the following function, declared in <code class=\"literal\">hello.hpp</code>\n        and supplied by a static library <code class=\"literal\">hello</code>, inserted the text\n        <code class=\"literal\">Hello, world!\\n</code> to the given <code class=\"literal\">stream</code>:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#if</span> <span class=\"special\">!</span><span class=\"identifier\">defined</span><span class=\"special\">(</span><span class=\"identifier\">HELLO_HPP</span><span class=\"special\">)</span>\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">HELLO_HPP</span>\n\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">ostream</span><span class=\"special\">&gt;</span>\n\n<span class=\"keyword\">extern</span> <span class=\"keyword\">void</span> <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">stream</span><span class=\"special\">);</span>\n\n<span class=\"preprocessor\">#endif</span>\n</pre>\n<p>\n      </p>\n<p>\n        We can accomplish this with the following test, saving it in <code class=\"literal\">test_hello.cpp</code>:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_MAIN</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">included</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n<span class=\"preprocessor\">#include</span> <span class=\"string\">\"hello.hpp\"</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">sstream</span><span class=\"special\">&gt;</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">hello_world_inserts_text</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        We compile <code class=\"literal\">test_hello.cpp</code> and link it against the static\n        library <code class=\"literal\">hello</code> using the build environment for our platform\n        to produce an executable. No other source files or libraries are needed.\n        When we run the executable, it will execute our test case.\n      </p>\n<p>\n        Suppose that our implementation of <code class=\"literal\">hello_world</code> looks like\n        this:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#include</span> <span class=\"string\">\"hello.hpp\"</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">stream</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        When we run the unit test executable we obtain output similar to the following:<a href=\"#ftn.test.tutorials.hello_test.f0\" class=\"footnote\" name=\"test.tutorials.hello_test.f0\"><sup class=\"footnote\">[1]</sup></a>\n      </p>\n<pre class=\"programlisting\">Running 1 test case...\nsrc/tutorials/hello_test/1/test/test_hello.cpp(13): fatal error in \"hello_world_inserts_text\": critical check \"Hello, world!\\n\" == dest.str() failed [Hello, world!\n != ]\n\n*** 1 failure detected in test suite \"Master Test Suite\"\n\nEXIT STATUS: 201\n</pre>\n<p>\n        Oops, it looks like we forgot to implement <code class=\"literal\">hello_world</code>!.\n        Let's fix that by changing <code class=\"literal\">hello.cpp</code> to the following:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#include</span> <span class=\"string\">\"hello.hpp\"</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">stream</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">stream</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"Hello, world!\"</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        We can now rebuild our library, relink our unit test executable and re-run\n        the test:\n      </p>\n<pre class=\"programlisting\">Running 1 test case...\nsrc/tutorials/hello_test/2/test/test_hello.cpp(13): fatal error in \"hello_world_inserts_text\": critical check \"Hello, world!\\n\" == dest.str() failed [Hello, world!\n != Hello, world!]\n\n*** 1 failure detected in test suite \"Master Test Suite\"\n\nEXIT STATUS: 201\n</pre>\n<p>\n        Oops, looks like we forgot to insert the newline character. Let's fix that\n        by changing <code class=\"literal\">hello.cpp</code> to the following:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#include</span> <span class=\"string\">\"hello.hpp\"</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">stream</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">stream</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"Hello, world!\"</span> <span class=\"special\">&lt;&lt;</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">endl</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        We rebuild our library, relink our unit test executable again and re-run\n        the test:\n      </p>\n<pre class=\"programlisting\">Running 1 test case...\n\n*** No errors detected\n\nEXIT STATUS: 0\n</pre>\n<p>\n        Now all our tests are passing and we know that <code class=\"literal\">hello_world</code>\n        does what we expect it to do. We used <code class=\"literal\">std::endl</code> to insert\n        the newline character and it also flushes the output stream after inserting\n        the newline. If we didn't want the output stream to be flushed, we can change\n        <code class=\"literal\">hello_world</code> to use a character literal:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#include</span> <span class=\"string\">\"hello.hpp\"</span>\n\n<span class=\"keyword\">void</span> <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">stream</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">stream</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        We rebuild and re-run the test to verify that our change didn't break anything:\n      </p>\n<pre class=\"programlisting\">Running 1 test case...\n\n*** No errors detected\n\nEXIT STATUS: 0\n</pre>\n<h5>\n<a name=\"test.tutorials.hello_test.h0\"></a>\n        <span class=\"phrase\"><a name=\"test.tutorials.hello_test.some_observations\"></a></span><a class=\"link\" href=\"hello_test.html#test.tutorials.hello_test.some_observations\">Some\n        Observations</a>\n      </h5>\n<p>\n        Now that we've seen Boost.Test in action, let's take a closer look at what\n        we have just done:\n      </p>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            The entire unit test framework was brought into our test application\n            with a single include <code class=\"literal\">&lt;boost/test/included/unit_test.hpp&gt;</code>.\n            We didn't link against any libraries or introduce any run-time dependencies.\n          </li>\n<li class=\"listitem\">\n            We didn't write an implementation of <code class=\"literal\">main</code>, but our\n            test executable linked and ran. Why? The preprocessor symbol <a class=\"link\" href=\"../reference/configuration_macros.html#test.reference.compilation.boost_test_main\"><code class=\"literal\">BOOST_TEST_MAIN</code></a>\n            instructed Boost.Test to supply an implementation of <code class=\"literal\">main</code>\n            that executes all tests registered with the framework.\n          </li>\n<li class=\"listitem\">\n            The macro <a class=\"link\" href=\"../reference/test_case/boost_auto_test_case.html\" title=\"BOOST_AUTO_TEST_CASE\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a>\n            registered our unit test case with the framework and provides the necessary\n            preamble for the implementation of the testing function.\n          </li>\n<li class=\"listitem\">\n            The argument to <a class=\"link\" href=\"../reference/test_case/boost_auto_test_case.html\" title=\"BOOST_AUTO_TEST_CASE\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a>\n            is the name of our test case and is a C++ identifier, not a string.\n          </li>\n<li class=\"listitem\">\n            The test was structured in three phases: setup, exercise, and verify.\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  Our setup phase created an output string stream in order to capture\n                  the output of <code class=\"literal\">hello_world</code>, the system under\n                  test.\n                </li>\n<li class=\"listitem\">\n                  The exercise phase called the system under test, our function\n                  <code class=\"literal\">hello_world</code>.\n                </li>\n<li class=\"listitem\">\n                  The verify phase checked that the function provided the expected\n                  output using the assertion macro <a class=\"link\" href=\"../reference/assertion/boost_level_equal.html\" title=\"BOOST_level_EQUAL\"><code class=\"literal\">BOOST_REQUIRE_EQUAL</code></a>.\n                </li>\n<li class=\"listitem\">\n                  To make the phases of the test obvious, we used blank lines to\n                  separate them.\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            A failing test emits a message that provides information about the location\n            of the failed assertion and the detail of the failure.\n          </li>\n<li class=\"listitem\">\n            The above sequence is a typical example of test-driven development, proceeding\n            through stages of \"red\", \"green\" and \"refactor\".\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  We wrote a failing test and just enough implementation to compile\n                  the test (\"red\").\n                </li>\n<li class=\"listitem\">\n                  We then wrote the implementation and ran the test to verify our\n                  implementation. We made a simple mistake, so we corrected that\n                  and re-ran the test to verify our implementation by passing the\n                  test (\"green\").\n                </li>\n<li class=\"listitem\">\n                  Once our implementation was correct, we looked at possible improvements\n                  we might make to the code; in our case we eliminated the side-effect\n                  of flushing the output stream (\"refactor\").\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            The test code and production code, or system under test, are kept separate.\n            The production code was in a library and the test code was in an executable.\n          </li>\n<li class=\"listitem\">\n            No news is good news! We don't see any noise from test cases when they\n            pass and the test executable emits only a summary of all test cases when\n            all tests pass.\n          </li>\n</ul></div>\n<h5>\n<a name=\"test.tutorials.hello_test.h1\"></a>\n        <span class=\"phrase\"><a name=\"test.tutorials.hello_test.example_source_code\"></a></span><a class=\"link\" href=\"hello_test.html#test.tutorials.hello_test.example_source_code\">Example\n        Source Code</a>\n      </h5>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            System under test:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/hello_test/sut/hello.hpp\" target=\"_top\">hello.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/hello_test/sut/hello.cpp\" target=\"_top\">hello.cpp</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Tests:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/hello_test/test/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>\n                </li></ul></div>\n          </li>\n</ul></div>\n<div class=\"footnotes\">\n<br><hr style=\"width:100; text-align:left;margin-left: 0\">\n<div id=\"ftn.test.tutorials.hello_test.f0\" class=\"footnote\"><p><a href=\"#test.tutorials.hello_test.f0\" class=\"para\"><sup class=\"para\">[1] </sup></a>\n          The test runner output here is generated from the <code class=\"literal\">run-fail</code>\n          rule in Boost.Build which includes the output from the executable and appends\n          the exit code of the process to the output.\n        </p></div>\n</div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing_with_exceptions.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/tutorials/running_selected_tests.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Running Selected Tests</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../tutorials.html\" title=\"Tutorials\">\n<link rel=\"prev\" href=\"testing_with_fixtures.html\" title=\"Testing with Fixtures\">\n<link rel=\"next\" href=\"../guide.html\" title=\"User's Guide\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing_with_fixtures.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.tutorials.running_selected_tests\"></a><a class=\"link\" href=\"running_selected_tests.html\" title=\"Running Selected Tests\">Running Selected\n      Tests</a>\n</h3></div></div></div>\n<p>\n        As we continue to add unit tests for a library, we can get quite a large\n        number of tests. If they are true unit tests and each test exercises a single\n        class isolated from its collaborators, then most of the tests are not relevant\n        to the changes we are making. The test executable accepts a number of command-line\n        arguments that allow us to control the behavior of the test framework, including\n        which tests to run.\n      </p>\n<p>\n        We can list the available tests in a test executable with <a class=\"link\" href=\"../reference/runner/argument/report_level.html\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>\n        set to detailed:\n      </p>\n<pre class=\"programlisting\">&gt; test_hello --report_level=detailed\nRunning 2 test cases...\n\nTest suite \"Master Test Suite\" passed with:\n  2 assertions out of 2 passed\n  2 test cases out of 2 passed\n\n  Test case \"hello_world_inserts_text\" passed with:\n    1 assertion out of 1 passed\n\n  Test case \"hello_world_stream_with_badbit_throws_runtime_error\" passed with:\n    1 assertion out of 1 passed\n\n</pre>\n<div class=\"caution\"><table border=\"0\" summary=\"Caution\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Caution]\" src=\"../../../../../../doc/src/images/caution.png\"></td>\n<th align=\"left\">Caution</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n          The arguments to the test executable, such as <a class=\"link\" href=\"../reference/runner/argument/report_level.html\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>,\n          use an underscore (<code class=\"literal\">_</code>) to separate words, not a dash\n          (<code class=\"literal\">-</code>).\n        </p></td></tr>\n</table></div>\n<p>\n        Suppose we are continuing to make changes to <code class=\"literal\">hello_world</code>\n        and we want to run only the tests that apply to that function. We can easily\n        identify the relevant tests in the output of <a class=\"link\" href=\"../reference/runner/argument/report_level.html\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>\n        because we have used a test naming convention of prefixing all test case\n        names with the name of the system under test, <code class=\"literal\">hello_world</code>.\n      </p>\n<p>\n        Using the <a class=\"link\" href=\"../reference/runner/argument/run_test.html\" title=\"--run_test\"><code class=\"literal\">--run_test</code></a>\n        argument, we can specify a comma-separated list of test case names to run:\n      </p>\n<pre class=\"programlisting\">&gt; test_hello --run_test=hello_world_inserts_text,hello_world_stream_with_badbit_throws_runtime_error\nRunning 2 test cases...\n\n*** No errors detected\n\nEXIT STATUS: 0\n</pre>\n<p>\n        Wow, that's really a mouthfull! Even with command recall, typing this command\n        for the first time will require typing the exact names of all the test cases\n        for <code class=\"literal\">hello_world</code>. As we add more test cases, we'll have\n        to extend the command line argument to account for each new test case.\n      </p>\n<p>\n        We can solve this problem by using test suites, which organize tests into\n        a named group:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">struct</span> <span class=\"identifier\">hello_world_fixture</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_SUITE</span><span class=\"special\">(</span><span class=\"identifier\">test_hello</span><span class=\"special\">);</span>\n\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">HELLO_WORLD_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">name_</span><span class=\"special\">)</span> <span class=\"special\">\\</span>\n    <span class=\"identifier\">BOOST_FIXTURE_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">hello_world_</span><span class=\"special\">##</span><span class=\"identifier\">name_</span><span class=\"special\">,</span> <span class=\"identifier\">hello_world_fixture</span><span class=\"special\">)</span>\n\n<span class=\"identifier\">HELLO_WORLD_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">inserts_text</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">HELLO_WORLD_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">stream_with_badbit_throws_runtime_error</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">clear</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ios_base</span><span class=\"special\">::</span><span class=\"identifier\">badbit</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_THROW</span><span class=\"special\">(</span><span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">),</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_SUITE_END</span><span class=\"special\">();</span>\n</pre>\n<p>\n      </p>\n<p>\n        Now <a class=\"link\" href=\"../reference/runner/argument/report_level.html\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>\n        outputs the following:\n      </p>\n<pre class=\"programlisting\">&gt; test_hello --report_level=detailed\nRunning 2 test cases...\n\nTest suite \"Master Test Suite\" passed with:\n  2 assertions out of 2 passed\n  2 test cases out of 2 passed\n\n  Test suite \"test_hello\" passed with:\n    2 assertions out of 2 passed\n    2 test cases out of 2 passed\n\n    Test case \"hello_world_inserts_text\" passed with:\n      1 assertion out of 1 passed\n\n    Test case \"hello_world_stream_with_badbit_throws_runtime_error\" passed with:\n      1 assertion out of 1 passed\n\n</pre>\n<p>\n        The indentation shows that the test cases for <code class=\"literal\">hello_world</code>\n        are organized under the test suite named <code class=\"literal\">test_hello_world</code>.\n      </p>\n<div class=\"note\"><table border=\"0\" summary=\"Note\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Note]\" src=\"../../../../../../doc/src/images/note.png\"></td>\n<th align=\"left\">Note</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n          We can't name the suite <code class=\"literal\">hello_world</code> because that would\n          conflict with the name of our system under test, as both are declared in\n          the same global namespace.\n        </p></td></tr>\n</table></div>\n<p>\n        Now we can supply the name of the test suite to <a class=\"link\" href=\"../reference/runner/argument/run_test.html\" title=\"--run_test\"><code class=\"literal\">--run_test</code></a>\n        to run all the test cases in the suite:\n      </p>\n<pre class=\"programlisting\">&gt; test_hello --run_test=test_hello\nRunning 2 test cases...\n\n*** No errors detected\n\nEXIT STATUS: 0\n</pre>\n<p>\n        As we add more test cases to the suite, we don't have to change the command\n        we are using to run the tests and we don't need to remember the exact names\n        of the test cases.\n      </p>\n<p>\n        Suites arrange test cases into a hierarchy. You can have suites within suites\n        to provide larger groupings to test a collection of related classes together.\n        Once a test case is part of a suite, we must use the name of the enclosing\n        suite with the name of the test case if we wish to run a single test case\n        within the suite by name:\n      </p>\n<pre class=\"programlisting\">&gt; test_hello --run_test=test_hello/hello_world_inserts_text\nRunning 1 test case...\n\n*** No errors detected\n</pre>\n<p>\n        The names of the enclosing suites are separated from each other and from\n        the test case name with a slash (<code class=\"literal\">/</code>). The names supplied\n        to <a class=\"link\" href=\"../reference/runner/argument/run_test.html\" title=\"--run_test\"><code class=\"literal\">--run_test</code></a>\n        also allow for wildcard matching:\n      </p>\n<pre class=\"programlisting\">&gt; test_hello --run_test=hello_world/*inserts_text\nRunning 1 test case...\n\n*** No errors detected\n</pre>\n<p>\n        Just as we can use a fixture with a test case to eliminate repeated setup\n        and tear down, we can use a fixture with a test suite. All test cases in\n        the test suite will derive from the test suite's fixture. If a test case\n        in a test suite with a fixture specifies its own fixture, then the test case\n        derives from the fixture specified on the test case and not on the test suite.\n        If you want the test case to use both fixtures, then make your test case\n        fixture derive from the test suite fixture.\n      </p>\n<p>\n        We can use a test suite fixture for <code class=\"literal\">test_hello</code> to take\n        care of the duplicated setup between test cases. Since our test cases are\n        now within the scope of a suite, we don't need to give them a unique prefix\n        anymore. Refactoring the tests to use a suite fixture and discarding the\n        prefix gives us the following code:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"preprocessor\">#define</span> <span class=\"identifier\">BOOST_TEST_MAIN</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">boost</span><span class=\"special\">/</span><span class=\"identifier\">test</span><span class=\"special\">/</span><span class=\"identifier\">included</span><span class=\"special\">/</span><span class=\"identifier\">unit_test</span><span class=\"special\">.</span><span class=\"identifier\">hpp</span><span class=\"special\">&gt;</span>\n<span class=\"preprocessor\">#include</span> <span class=\"string\">\"hello.hpp\"</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">ios</span><span class=\"special\">&gt;</span>\n<span class=\"preprocessor\">#include</span> <span class=\"special\">&lt;</span><span class=\"identifier\">sstream</span><span class=\"special\">&gt;</span>\n\n<span class=\"keyword\">struct</span> <span class=\"identifier\">hello_world_fixture</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_FIXTURE_TEST_SUITE</span><span class=\"special\">(</span><span class=\"identifier\">test_hello</span><span class=\"special\">,</span> <span class=\"identifier\">hello_world_fixture</span><span class=\"special\">);</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">inserts_text</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">stream_with_badbit_throws_runtime_error</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">clear</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ios_base</span><span class=\"special\">::</span><span class=\"identifier\">badbit</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_THROW</span><span class=\"special\">(</span><span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">),</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_AUTO_TEST_SUITE_END</span><span class=\"special\">();</span>\n</pre>\n<p>\n      </p>\n<p>\n        Now <a class=\"link\" href=\"../reference/runner/argument/report_level.html\" title=\"--report_level\"><code class=\"literal\">--report_level</code></a>\n        outputs the following:\n      </p>\n<pre class=\"programlisting\">&gt; test_hello.exe --report_level=detailed\nRunning 2 test cases...\n\nTest suite \"Master Test Suite\" passed with:\n  2 assertions out of 2 passed\n  2 test cases out of 2 passed\n\n  Test suite \"test_hello\" passed with:\n    2 assertions out of 2 passed\n    2 test cases out of 2 passed\n\n    Test case \"inserts_text\" passed with:\n      1 assertion out of 1 passed\n\n    Test case \"stream_with_badbit_throws_runtime_error\" passed with:\n      1 assertion out of 1 passed\n\n</pre>\n<h5>\n<a name=\"test.tutorials.running_selected_tests.h0\"></a>\n        <span class=\"phrase\"><a name=\"test.tutorials.running_selected_tests.example_source_code\"></a></span><a class=\"link\" href=\"running_selected_tests.html#test.tutorials.running_selected_tests.example_source_code\">Example\n        Source Code</a>\n      </h5>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            System under test:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/running_selected_tests/sut/hello.hpp\" target=\"_top\">hello.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/running_selected_tests/sut/hello.cpp\" target=\"_top\">hello.cpp</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Tests:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/running_selected_tests/test/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>\n                </li></ul></div>\n          </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing_with_fixtures.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"../guide.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/tutorials/testing_with_exceptions.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Testing with Exceptions</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../tutorials.html\" title=\"Tutorials\">\n<link rel=\"prev\" href=\"hello_test.html\" title=\"Hello, Test!\">\n<link rel=\"next\" href=\"testing_with_fixtures.html\" title=\"Testing with Fixtures\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"hello_test.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing_with_fixtures.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.tutorials.testing_with_exceptions\"></a><a class=\"link\" href=\"testing_with_exceptions.html\" title=\"Testing with Exceptions\">Testing with\n      Exceptions</a>\n</h3></div></div></div>\n<p>\n        When we're testing a system, we want to test the failure cases as well as\n        the success cases. This means forcing the system under test down an error\n        path by orchestrating bad inputs or synthesizing errors from code collaborating\n        with the system under test.\n      </p>\n<p>\n        Let's add the requirement that <a class=\"link\" href=\"hello_test.html\" title=\"Hello, Test!\"><code class=\"literal\">hello_world</code></a>\n        should throw the a <code class=\"literal\">std::runtime_error</code> exception if the\n        supplied stream has the <code class=\"literal\">badbit</code> set on the stream.\n      </p>\n<p>\n        We can add a test case for this:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">hello_world_stream_with_badbit_throws_runtime_error</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n    <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">clear</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ios_base</span><span class=\"special\">::</span><span class=\"identifier\">badbit</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_FAIL</span><span class=\"special\">(</span><span class=\"string\">\"std::runtime_error not thrown\"</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<div class=\"note\"><table border=\"0\" summary=\"Note\">\n<tr>\n<td rowspan=\"2\" align=\"center\" valign=\"top\" width=\"25\"><img alt=\"[Note]\" src=\"../../../../../../doc/src/images/note.png\"></td>\n<th align=\"left\">Note</th>\n</tr>\n<tr><td align=\"left\" valign=\"top\"><p>\n          The <a href=\"http://en.cppreference.com/w/cpp/io/basic_ios/clear\" target=\"_top\"><code class=\"literal\">clear</code>\n          member function</a> on a stream clears all state bits and sets the\n          state to the value of the argument.\n        </p></td></tr>\n</table></div>\n<p>\n        Instead of an assertion macro like <a class=\"link\" href=\"../reference/assertion/boost_level_equal.html\" title=\"BOOST_level_EQUAL\"><code class=\"literal\">BOOST_REQUIRE_EQUAL</code></a>,\n        we're using the <a class=\"link\" href=\"../reference/assertion/boost_fail.html\" title=\"BOOST_FAIL\"><code class=\"literal\">BOOST_FAIL</code></a>\n        macro that guarantees test failure. If the call to <code class=\"literal\">hello_world</code>\n        doesn't throw a <code class=\"literal\">runtime_error</code> exception and continues\n        to the next line of code, then this test case fails:\n      </p>\n<pre class=\"programlisting\">Running 2 test cases...\nsrc/tutorials/testing_with_exceptions/1/test/test_hello.cpp(24): fatal error in \"hello_world_stream_with_badbit_throws_runtime_error\": std::runtime_error not thrown\n\n*** 1 failure detected in test suite \"Master Test Suite\"\n\nEXIT STATUS: 201\n</pre>\n<p>\n        Now let's enhance the implementation to support this requirement:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">void</span> <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostream</span><span class=\"special\">&amp;</span> <span class=\"identifier\">stream</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"keyword\">if</span> <span class=\"special\">(</span><span class=\"identifier\">stream</span><span class=\"special\">.</span><span class=\"identifier\">bad</span><span class=\"special\">())</span>\n    <span class=\"special\">{</span>\n        <span class=\"keyword\">throw</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">(</span><span class=\"string\">\"bad stream\"</span><span class=\"special\">);</span>\n    <span class=\"special\">}</span>\n    <span class=\"identifier\">stream</span> <span class=\"special\">&lt;&lt;</span> <span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">;</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        We run our test and get something similar to the following:\n      </p>\n<pre class=\"programlisting\">Running 2 test cases...\nunknown location(0): fatal error in \"hello_world_stream_with_badbit_throws_runtime_error\": std::runtime_error: bad stream\nsrc/tutorials/testing_with_exceptions/2/test/test_hello.cpp(13): last checkpoint\n\n*** 1 failure detected in test suite \"Master Test Suite\"\n\nEXIT STATUS: 201\n</pre>\n<p>\n        Now the test is still failing, so what did we do wrong? The exception from\n        our system under test unwound the call stack back into the unit test framework,\n        which caught the exception and reported this as a failure. We need to tell\n        the test framework that an exception is expected in this situation. We can\n        use <a class=\"link\" href=\"../reference/assertion/boost_level_throw.html\" title=\"BOOST_level_THROW\"><code class=\"literal\">BOOST_REQUIRE_THROW</code></a>\n        to tell the test framework that an expression is expected to throw a particular\n        type of exception. If the exception isn't thrown or an exception of a different\n        type is thrown, then the test fails. Our test now looks like this:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"identifier\">BOOST_AUTO_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">hello_world_stream_with_badbit_throws_runtime_error</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n    <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">clear</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ios_base</span><span class=\"special\">::</span><span class=\"identifier\">badbit</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_THROW</span><span class=\"special\">(</span><span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">),</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        Now our test case is passing:\n      </p>\n<pre class=\"programlisting\">Running 2 test cases...\n\n*** No errors detected\n\nEXIT STATUS: 0\n</pre>\n<h5>\n<a name=\"test.tutorials.testing_with_exceptions.h0\"></a>\n        <span class=\"phrase\"><a name=\"test.tutorials.testing_with_exceptions.some_observations\"></a></span><a class=\"link\" href=\"testing_with_exceptions.html#test.tutorials.testing_with_exceptions.some_observations\">Some Observations</a>\n      </h5>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            We gave our test case a name that revealed the essence of what it tests\n            so that when it fails, we know immediately from the name of the test\n            what requirement has been invalidated. Using intention revealing names\n            for test cases is just as important as using intention revealing names\n            for methods, functions and classes.\n          </li>\n<li class=\"listitem\">\n            We kept each scenario we wanted to test separate and independent from\n            each other. This keeps our tests robust; the state of one test does not\n            interfere with any other test.\n          </li>\n<li class=\"listitem\">\n            Now that we have two test cases, we can see that there is some duplication\n            between them: the construction of an output string stream. It isn't much\n            right now, just a single line, but duplication between tests is something\n            we'll need to watch.\n          </li>\n<li class=\"listitem\">\n            Every time we modify or add a test, we have to recompile our single test\n            file <code class=\"literal\">test_hello.cpp</code>, which is including the entire\n            unit test framework source. This leads to a lengthy compile every time\n            we have to change the tests.\n          </li>\n</ul></div>\n<h5>\n<a name=\"test.tutorials.testing_with_exceptions.h1\"></a>\n        <span class=\"phrase\"><a name=\"test.tutorials.testing_with_exceptions.example_source_code\"></a></span><a class=\"link\" href=\"testing_with_exceptions.html#test.tutorials.testing_with_exceptions.example_source_code\">Example\n        Source Code</a>\n      </h5>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            System under test:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/testing_with_exceptions/sut/hello.hpp\" target=\"_top\">hello.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/testing_with_exceptions/sut/hello.cpp\" target=\"_top\">hello.cpp</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Tests:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/testing_with_exceptions/test/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>\n                </li></ul></div>\n          </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"hello_test.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"testing_with_fixtures.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/tutorials/testing_with_fixtures.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Testing with Fixtures</title>\n<link rel=\"stylesheet\" href=\"../../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../tutorials.html\" title=\"Tutorials\">\n<link rel=\"prev\" href=\"testing_with_exceptions.html\" title=\"Testing with Exceptions\">\n<link rel=\"next\" href=\"running_selected_tests.html\" title=\"Running Selected Tests\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing_with_exceptions.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"running_selected_tests.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h3 class=\"title\">\n<a name=\"test.tutorials.testing_with_fixtures\"></a><a class=\"link\" href=\"testing_with_fixtures.html\" title=\"Testing with Fixtures\">Testing with Fixtures</a>\n</h3></div></div></div>\n<p>\n        When we added our second test case in the <a class=\"link\" href=\"testing_with_exceptions.html\" title=\"Testing with Exceptions\">previous\n        tutorial</a>, we ended up with some duplicated setup between the two test\n        cases. This is a common occurrence in unit testing. We have some prerequisites\n        for the system under test that must be prepared in order to exercise the\n        system. In our case, it is a single output string stream that we use for\n        capturing the output of our <code class=\"literal\">hello_world</code> function.\n      </p>\n<p>\n        Boost.Test provides a facility called a fixture for encapsulating repeated\n        setup and tear down code between test cases. In our example, there isn't\n        any explicit tear down code because the output string streams are created\n        on the stack and destroyed when execution exits the test case. We have a\n        little bit of repeated setup code that we can move to a fixture that is used\n        by both our test cases. Let's put that repeated code in a fixture:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">struct</span> <span class=\"identifier\">hello_world_fixture</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">hello_world_fixture</span><span class=\"special\">()</span>\n        <span class=\"special\">:</span> <span class=\"identifier\">dest</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span> <span class=\"special\">}</span>\n    <span class=\"special\">~</span><span class=\"identifier\">hello_world_fixture</span><span class=\"special\">()</span>\n    <span class=\"special\">{</span> <span class=\"special\">}</span>\n\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"identifier\">BOOST_FIXTURE_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">hello_world_inserts_text</span><span class=\"special\">,</span> <span class=\"identifier\">hello_world_fixture</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">BOOST_FIXTURE_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">hello_world_stream_with_badbit_throws_runtime_error</span><span class=\"special\">,</span> <span class=\"identifier\">hello_world_fixture</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">clear</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ios_base</span><span class=\"special\">::</span><span class=\"identifier\">badbit</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_THROW</span><span class=\"special\">(</span><span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">),</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        A fixture is simply a class or struct that is inherited by the test case.\n        We connect the test case to the fixture by using <a class=\"link\" href=\"../reference/test_case/boost_fixture_test_case.html\" title=\"BOOST_FIXTURE_TEST_CASE\"><code class=\"literal\">BOOST_FIXTURE_TEST_CASE</code></a>\n        instead of <a class=\"link\" href=\"../reference/test_case/boost_auto_test_case.html\" title=\"BOOST_AUTO_TEST_CASE\"><code class=\"literal\">BOOST_AUTO_TEST_CASE</code></a>.\n        The latter simply connects each test case to an empty fixture. After refactoring\n        the test cases to use a fixture, we run the tests to make sure the tests\n        still pass.\n      </p>\n<p>\n        When using a fixture, the order of construction and destruction is as follows\n        when a test case is executed:\n      </p>\n<div class=\"orderedlist\"><ol class=\"orderedlist\" type=\"1\">\n<li class=\"listitem\">\n            The fixture is constructed.\n          </li>\n<li class=\"listitem\">\n            The test case class is constructed.\n          </li>\n<li class=\"listitem\">\n            The test case test method is executed\n          </li>\n<li class=\"listitem\">\n            The test case class is destroyed.\n          </li>\n<li class=\"listitem\">\n            The fixture is destroyed.\n          </li>\n</ol></div>\n<p>\n        This process happens for each test case that is executed, ensuring that each\n        test case has a fresh fixture and remains independent of other test cases.\n      </p>\n<p>\n        In most cases, the setup will be a little more involved than just creating\n        an instance variable and there will be some work done in the constructor\n        of the fixture. We could simply use the default constructor and destructor\n        of our fixture in this case. We've written the constructor and destructor\n        explicitly to emphasize that this is where setup and tear down occur.\n      </p>\n<p>\n        Now that we've transformed the test cases to use a fixture, it seems we've\n        simply traded one piece of repetition, the construction of the output string\n        stream, for another: the repeated use of the fixture name and system under\n        test in our test cases. We can use a custom test case macro to get rid of\n        this duplication:\n      </p>\n<p>\n</p>\n<pre class=\"programlisting\"><span class=\"keyword\">struct</span> <span class=\"identifier\">hello_world_fixture</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ostringstream</span> <span class=\"identifier\">dest</span><span class=\"special\">;</span>\n<span class=\"special\">};</span>\n\n<span class=\"preprocessor\">#define</span> <span class=\"identifier\">HELLO_WORLD_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">name_</span><span class=\"special\">)</span> <span class=\"special\">\\</span>\n    <span class=\"identifier\">BOOST_FIXTURE_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">hello_world_</span><span class=\"special\">##</span><span class=\"identifier\">name_</span><span class=\"special\">,</span> <span class=\"identifier\">hello_world_fixture</span><span class=\"special\">)</span>\n\n<span class=\"identifier\">HELLO_WORLD_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">inserts_text</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_EQUAL</span><span class=\"special\">(</span><span class=\"string\">\"Hello, world!\\n\"</span><span class=\"special\">,</span> <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">str</span><span class=\"special\">());</span>\n<span class=\"special\">}</span>\n\n<span class=\"identifier\">HELLO_WORLD_TEST_CASE</span><span class=\"special\">(</span><span class=\"identifier\">stream_with_badbit_throws_runtime_error</span><span class=\"special\">)</span>\n<span class=\"special\">{</span>\n    <span class=\"identifier\">dest</span><span class=\"special\">.</span><span class=\"identifier\">clear</span><span class=\"special\">(</span><span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">ios_base</span><span class=\"special\">::</span><span class=\"identifier\">badbit</span><span class=\"special\">);</span>\n\n    <span class=\"identifier\">BOOST_REQUIRE_THROW</span><span class=\"special\">(</span><span class=\"identifier\">hello_world</span><span class=\"special\">(</span><span class=\"identifier\">dest</span><span class=\"special\">),</span> <span class=\"identifier\">std</span><span class=\"special\">::</span><span class=\"identifier\">runtime_error</span><span class=\"special\">);</span>\n<span class=\"special\">}</span>\n</pre>\n<p>\n      </p>\n<p>\n        Every test case has to have a unique name within the scope of its declaration,\n        either the global namespace or a custom namespace, which is why we've been\n        prefixing our test case names with the name of the system under test, <code class=\"literal\">hello_world</code>.\n        Once we accumulate a few tests, the chances for a clash between test names\n        increases.\n      </p>\n<p>\n        With our custom test case macro, we reduce the chance for a test case name\n        clash by ensuring that every test case name is prefixed by the name of the\n        system under test. We ensure that every test case for <code class=\"literal\">hello_world</code>\n        uses the same fixture and we gain some readability of the test cases by eliminating\n        the distracting repetition. If we change the name of the fixture, then we\n        need only edit the custom test case macro that supplies the fixture name.\n      </p>\n<p>\n        In the next tutorial, we'll see an alternative way of eliminating this duplication\n        of the prefixes of test case names.\n      </p>\n<h5>\n<a name=\"test.tutorials.testing_with_fixtures.h0\"></a>\n        <span class=\"phrase\"><a name=\"test.tutorials.testing_with_fixtures.example_source_code\"></a></span><a class=\"link\" href=\"testing_with_fixtures.html#test.tutorials.testing_with_fixtures.example_source_code\">Example\n        Source Code</a>\n      </h5>\n<div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: disc; \">\n<li class=\"listitem\">\n            System under test:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \">\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.hpp\" target=\"_top\">hello.hpp</a>\n                </li>\n<li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.cpp\" target=\"_top\">hello.cpp</a>\n                </li>\n</ul></div>\n          </li>\n<li class=\"listitem\">\n            Tests:\n            <div class=\"itemizedlist\"><ul class=\"itemizedlist\" style=\"list-style-type: circle; \"><li class=\"listitem\">\n                  <a href=\"../../../../../../libs/test/doc/src/tutorials/testing_with_fixtures/test/test_hello.cpp\" target=\"_top\">test_hello.cpp</a>\n                </li></ul></div>\n          </li>\n</ul></div>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"testing_with_exceptions.html\"><img src=\"../../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../tutorials.html\"><img src=\"../../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../../index.html\"><img src=\"../../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"running_selected_tests.html\"><img src=\"../../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test/tutorials.html",
    "content": "<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=US-ASCII\">\n<title>Tutorials</title>\n<link rel=\"stylesheet\" href=\"../../../../../doc/src/boostbook.css\" type=\"text/css\">\n<meta name=\"generator\" content=\"DocBook XSL Stylesheets V1.78.1\">\n<link rel=\"home\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"up\" href=\"../index.html\" title=\"Chapter&#160;1.&#160;Boost.Test\">\n<link rel=\"prev\" href=\"how_to_read_this_documentation.html\" title=\"How To Read This Documentation\">\n<link rel=\"next\" href=\"tutorials/hello_test.html\" title=\"Hello, Test!\">\n</head>\n<body bgcolor=\"white\" text=\"black\" link=\"#0000FF\" vlink=\"#840084\" alink=\"#0000FF\">\n<table cellpadding=\"2\" width=\"100%\"><tr>\n<td valign=\"top\"><img alt=\"Boost C++ Libraries\" width=\"277\" height=\"86\" src=\"../../../../../boost.png\"></td>\n<td align=\"center\"><a href=\"../../../../../index.html\">Home</a></td>\n<td align=\"center\"><a href=\"../../../../../libs/libraries.htm\">Libraries</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/people.html\">People</a></td>\n<td align=\"center\"><a href=\"http://www.boost.org/users/faq.html\">FAQ</a></td>\n<td align=\"center\"><a href=\"../../../../../more/index.htm\">More</a></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"how_to_read_this_documentation.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"tutorials/hello_test.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n<div class=\"section\">\n<div class=\"titlepage\"><div><div><h2 class=\"title\" style=\"clear: both\">\n<a name=\"test.tutorials\"></a><a class=\"link\" href=\"tutorials.html\" title=\"Tutorials\">Tutorials</a>\n</h2></div></div></div>\n<div class=\"toc\"><dl class=\"toc\">\n<dt><span class=\"section\"><a href=\"tutorials/hello_test.html\">Hello, Test!</a></span></dt>\n<dt><span class=\"section\"><a href=\"tutorials/testing_with_exceptions.html\">Testing with\n      Exceptions</a></span></dt>\n<dt><span class=\"section\"><a href=\"tutorials/testing_with_fixtures.html\">Testing with Fixtures</a></span></dt>\n<dt><span class=\"section\"><a href=\"tutorials/running_selected_tests.html\">Running Selected\n      Tests</a></span></dt>\n</dl></div>\n<p>\n      These tutorials will get you started using Boost.Test. They are intended to\n      be read in order and proceed from the basics of <a class=\"link\" href=\"tutorials/hello_test.html\" title=\"Hello, Test!\">writing\n      your first test</a> to <a class=\"link\" href=\"tutorials/running_selected_tests.html\" title=\"Running Selected Tests\">running\n      selected tests</a>. Once you've finished with the tutorials, you may want\n      to read about <a class=\"link\" href=\"guide/test_case_design.html\" title=\"Test Case Design and Maintenance\">test case design</a>\n      for some suggestions on testing various situations in C++. The full details\n      of the framework are provided in the <a class=\"link\" href=\"reference.html\" title=\"Reference\">reference</a>\n      section.\n    </p>\n</div>\n<table xmlns:rev=\"http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision\" width=\"100%\"><tr>\n<td align=\"left\"></td>\n<td align=\"right\"><div class=\"copyright-footer\">Copyright &#169; 2013 Richard Thomson<p>\n        Distributed under the Boost Software License, Version 1.0. (See accompanying\n        file LICENSE_1_0.txt or copy at <a href=\"http://www.boost.org/LICENSE_1_0.txt\" target=\"_top\">http://www.boost.org/LICENSE_1_0.txt</a>)\n      </p>\n</div></td>\n</tr></table>\n<hr>\n<div class=\"spirit-nav\">\n<a accesskey=\"p\" href=\"how_to_read_this_documentation.html\"><img src=\"../../../../../doc/src/images/prev.png\" alt=\"Prev\"></a><a accesskey=\"u\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/up.png\" alt=\"Up\"></a><a accesskey=\"h\" href=\"../index.html\"><img src=\"../../../../../doc/src/images/home.png\" alt=\"Home\"></a><a accesskey=\"n\" href=\"tutorials/hello_test.html\"><img src=\"../../../../../doc/src/images/next.png\" alt=\"Next\"></a>\n</div>\n</body>\n</html>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/html/test_HTML.manifest",
    "content": "index.html\ntest/motivation.html\ntest/how_to_read_this_documentation.html\ntest/tutorials.html\ntest/tutorials/hello_test.html\ntest/tutorials/testing_with_exceptions.html\ntest/tutorials/testing_with_fixtures.html\ntest/tutorials/running_selected_tests.html\ntest/guide.html\ntest/guide/compilation.html\ntest/guide/compilation/minimal_header.html\ntest/guide/compilation/_main_.html\ntest/guide/compilation/header_only.html\ntest/guide/compilation/static_library.html\ntest/guide/compilation/shared_library.html\ntest/guide/test_case_design.html\ntest/guide/acceptance_tests.html\ntest/guide/testing_file_io.html\ntest/guide/mocking_collaborators.html\ntest/guide/testing__main_.html\ntest/guide/testing_protected_or_private_members.html\ntest/guide/manually_registering_test_cases_and_suites.html\ntest/reference.html\ntest/reference/configuration_macros.html\ntest/reference/test_case.html\ntest/reference/test_case/boost_auto_test_case.html\ntest/reference/test_case/boost_auto_test_case_expected_failures.html\ntest/reference/test_case/boost_auto_test_case_template.html\ntest/reference/test_case/boost_fixture_test_case.html\ntest/reference/test_case/boost_global_fixture.html\ntest/reference/test_case/boost_param_test_case.html\ntest/reference/test_case/boost_param_class_test_case.html\ntest/reference/test_case/boost_test_case.html\ntest/reference/test_case/boost_test_case_template.html\ntest/reference/test_case/boost_test_case_template_function.html\ntest/reference/test_suite.html\ntest/reference/test_suite/boost_auto_test_suite.html\ntest/reference/test_suite/boost_auto_test_suite_end.html\ntest/reference/test_suite/boost_fixture_test_suite.html\ntest/reference/test_suite/boost_test_module.html\ntest/reference/test_suite/boost_test_suite.html\ntest/reference/test_classes.html\ntest/reference/test_classes/predicate_result.html\ntest/reference/test_classes/test_unit.html\ntest/reference/test_classes/test_case.html\ntest/reference/test_classes/test_suite.html\ntest/reference/test_classes/master_test_suite_t.html\ntest/reference/test_classes/test_observer.html\ntest/reference/test_classes/unit_test_log_t.html\ntest/reference/test_classes/unit_test_log_formatter.html\ntest/reference/test_classes/init_unit_test_func.html\ntest/reference/test_classes/unit_test_main.html\ntest/reference/assertion.html\ntest/reference/assertion/levels.html\ntest/reference/assertion/_boost____level___bitwise_equal_.html\ntest/reference/assertion/_boost____level___close_.html\ntest/reference/assertion/_boost____level___close_fraction_.html\ntest/reference/assertion/boost_level_equal.html\ntest/reference/assertion/_boost____level___equal_collections_.html\ntest/reference/assertion/boost_level_exception.html\ntest/reference/assertion/boost_fail.html\ntest/reference/assertion/_boost____level___ge_.html\ntest/reference/assertion/_boost____level___gt_.html\ntest/reference/assertion/_boost____level___le_.html\ntest/reference/assertion/_boost____level___lt_.html\ntest/reference/assertion/boost_level_message.html\ntest/reference/assertion/_boost____level___ne_.html\ntest/reference/assertion/boost_level_no_throw.html\ntest/reference/assertion/_boost____level___predicate_.html\ntest/reference/assertion/_boost____level___small_.html\ntest/reference/assertion/boost_level_throw.html\ntest/reference/assertion/boost_test_dont_print_log_value.html\ntest/reference/runner.html\ntest/reference/runner/argument.html\ntest/reference/runner/argument/auto_start_dbg.html\ntest/reference/runner/argument/___build_info_.html\ntest/reference/runner/argument/___catch_system_errors_.html\ntest/reference/runner/argument/___detect_fp_exceptions_.html\ntest/reference/runner/argument/___detect_memory_leaks_.html\ntest/reference/runner/argument/log_format.html\ntest/reference/runner/argument/log_level.html\ntest/reference/runner/argument/log_sink.html\ntest/reference/runner/argument/output_format.html\ntest/reference/runner/argument/___random_.html\ntest/reference/runner/argument/report_format.html\ntest/reference/runner/argument/report_level.html\ntest/reference/runner/argument/report_sink.html\ntest/reference/runner/argument/___result_code_.html\ntest/reference/runner/argument/run_test.html\ntest/reference/runner/argument/___show_progress_.html\ntest/reference/runner/argument/___use_alt_stack_.html\ntest/reference/runner/output.html\ntest/reference/runner/output/log.html\ntest/reference/runner/output/report.html\ntest/reference/runner/output/boost_test_checkpoint.html\ntest/reference/runner/output/boost_test_message.html\ntest/reference/runner/output/_boost_test_passpoint_.html\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias src :\n    tutorials\n    system_under_test\n    examples\n    ;\n\nbuild-project tutorials ;\nbuild-project system_under_test ;\nbuild-project examples ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/UTF.log.xsd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n\t<xs:attributeGroup name=\"TestUnitAttributes\">\n\t\t<xs:attribute name=\"name\" type=\"xs:string\" use=\"required\">\n\t\t\t<xs:annotation>\n\t\t\t\t<xs:documentation>name of the test unit</xs:documentation>\n\t\t\t</xs:annotation>\n\t\t</xs:attribute>\n\t\t<xs:attribute name=\"skipped\" type=\"xs:string\" use=\"optional\" fixed=\"yes\">\n\t\t\t<xs:annotation>\n\t\t\t\t<xs:documentation>Specified with value \"yes\" only if test unit was skipped during execution</xs:documentation>\n\t\t\t</xs:annotation>\n\t\t</xs:attribute>\n\t</xs:attributeGroup>\n\t<xs:complexType name=\"LogEntry\">\n\t\t<xs:simpleContent>\n\t\t\t<xs:extension base=\"xs:string\">\n\t\t\t\t<xs:attribute name=\"line\" type=\"xs:integer\" use=\"required\">\n\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t<xs:documentation>Line number corresponding to the log entry</xs:documentation>\n\t\t\t\t\t</xs:annotation>\n\t\t\t\t</xs:attribute>\n\t\t\t\t<xs:attribute name=\"file\" type=\"xs:anyURI\" use=\"required\">\n\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t<xs:documentation>file name corresponding to the log entry</xs:documentation>\n\t\t\t\t\t</xs:annotation>\n\t\t\t\t</xs:attribute>\n\t\t\t</xs:extension>\n\t\t</xs:simpleContent>\n\t</xs:complexType>\n\t<xs:complexType name=\"ExceptionEntry\" mixed=\"true\">\n\t\t<xs:annotation>\n\t\t\t<xs:documentation>Exception description</xs:documentation>\n\t\t</xs:annotation>\n\t\t<xs:sequence>\n\t\t\t<xs:element name=\"LastCheckpoint\" type=\"LogEntry\">\n\t\t\t\t<xs:annotation>\n\t\t\t\t\t<xs:documentation>Location of last checkpoint before exception occured</xs:documentation>\n\t\t\t\t</xs:annotation>\n\t\t\t</xs:element>\n\t\t</xs:sequence>\n\t\t<xs:attribute name=\"name\" type=\"xs:string\" use=\"optional\">\n\t\t\t<xs:annotation>\n\t\t\t\t<xs:documentation>obsolete?</xs:documentation>\n\t\t\t</xs:annotation>\n\t\t</xs:attribute>\n\t</xs:complexType>\n\t<xs:element name=\"TestCase\">\n\t\t<xs:complexType>\n\t\t\t<xs:sequence>\n\t\t\t\t<xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t<xs:documentation>different log entries</xs:documentation>\n\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t<xs:element name=\"Info\" type=\"LogEntry\">\n\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t<xs:documentation>Log entry corresponding to  the successfully passed assertion</xs:documentation>\n\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t</xs:element>\n\t\t\t\t\t<xs:element name=\"Message\" type=\"LogEntry\">\n\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t<xs:documentation>Log entry corresponding to  the message generated during test execution</xs:documentation>\n\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t</xs:element>\n\t\t\t\t\t<xs:element name=\"Warning\" type=\"LogEntry\">\n\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t<xs:documentation>Log entry corresponding to  the warning generated during test execution</xs:documentation>\n\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t</xs:element>\n\t\t\t\t\t<xs:element name=\"Error\" type=\"LogEntry\">\n\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t<xs:documentation>Log entry corresponding to  the non-fatal error occured during test execution</xs:documentation>\n\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t</xs:element>\n\t\t\t\t\t<xs:element name=\"FatalError\" type=\"LogEntry\">\n\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t<xs:documentation>Log entry corresponding to  the fatal error occured during test execution</xs:documentation>\n\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t</xs:element>\n\t\t\t\t\t<xs:element name=\"Exception\" type=\"ExceptionEntry\">\n\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t<xs:documentation>Log entry corresponding to  an exception occured during test execution</xs:documentation>\n\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t</xs:element>\n\t\t\t\t</xs:choice>\n\t\t\t\t<xs:element name=\"TestingTime\" type=\"xs:float\">\n\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t<xs:documentation>approximate time spent on test unit execution</xs:documentation>\n\t\t\t\t\t</xs:annotation>\n\t\t\t\t</xs:element>\n\t\t\t</xs:sequence>\n\t\t\t<xs:attributeGroup ref=\"TestUnitAttributes\"/>\n\t\t</xs:complexType>\n\t</xs:element>\n\t<xs:element name=\"TestSuite\">\n\t\t<xs:complexType>\n\t\t\t<xs:sequence>\n\t\t\t\t<xs:annotation>\n\t\t\t\t\t<xs:documentation>List of test units composing test suite</xs:documentation>\n\t\t\t\t</xs:annotation>\n\t\t\t\t<xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n\t\t\t\t\t<xs:element ref=\"TestCase\"/>\n\t\t\t\t\t<xs:element ref=\"TestSuite\"/>\n\t\t\t\t</xs:choice>\n\t\t\t</xs:sequence>\n\t\t\t<xs:attributeGroup ref=\"TestUnitAttributes\"/>\n\t\t</xs:complexType>\n\t</xs:element>\n\t<xs:element name=\"TestLog\">\n\t\t<xs:annotation>\n\t\t\t<xs:documentation>Holds whole unit test log content</xs:documentation>\n\t\t</xs:annotation>\n\t\t<xs:complexType>\n\t\t\t<xs:sequence>\n\t\t\t\t<xs:element name=\"BuildInfo\" minOccurs=\"0\">\n\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t<xs:documentation>Optional build information for the unit test. </xs:documentation>\n\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t<xs:complexType>\n\t\t\t\t\t\t<xs:attribute name=\"platform\" type=\"xs:string\">\n\t\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t\t<xs:documentation>unique identifier for the  platform unit test was compiled on</xs:documentation>\n\t\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t\t</xs:attribute>\n\t\t\t\t\t\t<xs:attribute name=\"compiler\" type=\"xs:string\">\n\t\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t\t<xs:documentation>unique identifier for the  compiler unit test was compiled with</xs:documentation>\n\t\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t\t</xs:attribute>\n\t\t\t\t\t\t<xs:attribute name=\"stl\" type=\"xs:string\">\n\t\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t\t<xs:documentation>unique identifier for the  STL implementation used during unit test compilation</xs:documentation>\n\t\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t\t</xs:attribute>\n\t\t\t\t\t\t<xs:attribute name=\"boost\" type=\"xs:string\">\n\t\t\t\t\t\t\t<xs:annotation>\n\t\t\t\t\t\t\t\t<xs:documentation>version of the boost used</xs:documentation>\n\t\t\t\t\t\t\t</xs:annotation>\n\t\t\t\t\t\t</xs:attribute>\n\t\t\t\t\t</xs:complexType>\n\t\t\t\t</xs:element>\n\t\t\t\t<xs:element ref=\"TestSuite\"/>\n\t\t\t</xs:sequence>\n\t\t</xs:complexType>\n\t</xs:element>\n</xs:schema>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/UTF.report.xsd",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- edited with XMLSpy v2007 (http://www.altova.com) by rogeeff (boost) -->\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">\n\t<xs:simpleType name=\"StatusType\">\n\t\t<xs:restriction base=\"xs:string\">\n\t\t\t<xs:enumeration value=\"passed\"/>\n\t\t\t<xs:enumeration value=\"skipped\"/>\n\t\t\t<xs:enumeration value=\"aborted\"/>\n\t\t\t<xs:enumeration value=\"failed\"/>\n\t\t</xs:restriction>\n\t</xs:simpleType>\n\t<xs:attributeGroup name=\"TestUnitResult\">\n\t\t<xs:attribute name=\"name\" type=\"xs:string\">\n\t\t\t<xs:annotation>\n\t\t\t\t<xs:documentation>name of the test unit</xs:documentation>\n\t\t\t</xs:annotation>\n\t\t</xs:attribute>\n\t\t<xs:attribute name=\"result\" type=\"StatusType\">\n\t\t\t<xs:annotation>\n\t\t\t\t<xs:documentation>result status for the test unit: passed, failed, skipped or aborted</xs:documentation>\n\t\t\t</xs:annotation>\n\t\t</xs:attribute>\n\t\t<xs:attribute name=\"assertions_passed\" type=\"xs:string\">\n\t\t\t<xs:annotation>\n\t\t\t\t<xs:documentation>number of assertions that passed during execution of the test unit</xs:documentation>\n\t\t\t</xs:annotation>\n\t\t</xs:attribute>\n\t\t<xs:attribute name=\"assertions_failed\" type=\"xs:string\">\n\t\t\t<xs:annotation>\n\t\t\t\t<xs:documentation>number of assertion that failed during execution of the test unit</xs:documentation>\n\t\t\t</xs:annotation>\n\t\t</xs:attribute>\n\t\t<xs:attribute name=\"expected_failures\" type=\"xs:string\">\n\t\t\t<xs:annotation>\n\t\t\t\t<xs:documentation>number of assertions that expected to fail in the test unit</xs:documentation>\n\t\t\t</xs:annotation>\n\t\t</xs:attribute>\n\t</xs:attributeGroup>\n\t<xs:element name=\"TestCase\">\n\t\t<xs:complexType>\n\t\t\t<xs:attributeGroup ref=\"TestUnitResult\"/>\n\t\t</xs:complexType>\n\t</xs:element>\n\t<xs:element name=\"TestSuite\">\n\t\t<xs:complexType>\n\t\t\t<xs:sequence>\n\t\t\t\t<xs:choice minOccurs=\"0\" maxOccurs=\"unbounded\">\n\t\t\t\t\t<xs:element ref=\"TestSuite\"/>\n\t\t\t\t\t<xs:element ref=\"TestCase\"/>\n\t\t\t\t</xs:choice>\n\t\t\t</xs:sequence>\n\t\t\t<xs:attributeGroup ref=\"TestUnitResult\"/>\n\t\t\t<xs:attribute name=\"test_cases_passed\" type=\"xs:integer\">\n\t\t\t\t<xs:annotation>\n\t\t\t\t\t<xs:documentation>number of test cases that passed in the test suite</xs:documentation>\n\t\t\t\t</xs:annotation>\n\t\t\t</xs:attribute>\n\t\t\t<xs:attribute name=\"test_cases_failed\" type=\"xs:integer\">\n\t\t\t\t<xs:annotation>\n\t\t\t\t\t<xs:documentation>number of test cases that failed in the test suite</xs:documentation>\n\t\t\t\t</xs:annotation>\n\t\t\t</xs:attribute>\n\t\t\t<xs:attribute name=\"test_cases_skipped\" type=\"xs:integer\">\n\t\t\t\t<xs:annotation>\n\t\t\t\t\t<xs:documentation>number of test cases that were skipped in the test suite</xs:documentation>\n\t\t\t\t</xs:annotation>\n\t\t\t</xs:attribute>\n\t\t\t<xs:attribute name=\"test_cases_aborted\" type=\"xs:integer\">\n\t\t\t\t<xs:annotation>\n\t\t\t\t\t<xs:documentation>number of test cases in the test suite that were aborted during execution by an exception or a fatal error</xs:documentation>\n\t\t\t\t</xs:annotation>\n\t\t\t</xs:attribute>\n\t\t</xs:complexType>\n\t</xs:element>\n\t<xs:element name=\"TestResult\">\n\t\t<xs:complexType>\n\t\t\t<xs:sequence>\n\t\t\t\t<xs:element ref=\"TestSuite\"/>\n\t\t\t</xs:sequence>\n\t\t</xs:complexType>\n\t</xs:element>\n</xs:schema>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias examples :\n    compilation//compilation\n    assertions\n    assertion_failures\n    auto_test_case_template\n    file_system\n    global_fixture\n    manual_registration\n    param_class_test_case\n    param_test_case\n    test_case\n    test_case_template\n    auto_test_case_expected_failures\n    ;\n\nalias turtle\n    : # no sources\n    : # no build requirements\n    : # no default build\n    : <include>../../../../../../turtle\n    ;\n\nexplicit turtle_mock ;\n\nbuild-project compilation ;\n\nrun assertions.cpp /boost//unit_test_framework ;\nrun auto_test_case_template.cpp /boost//unit_test_framework \n    : : : <link>static ;\nrun file_system.cpp ../system_under_test//scanner /boost//filesystem /boost//unit_test_framework\n    : : : <include>../system_under_test/scanner : file_system ;\nrun global_fixture.cpp another_global_fixture.cpp /boost//unit_test_framework\n    : : : <link>static ;\nrun manual_registration.cpp ../system_under_test//hello\n    : : : <include>../system_under_test/hello : manual_registration ;\nrun param_class_test_case.cpp ../system_under_test//hello\n    : : : <include>../system_under_test/hello : param_class_test_case ;\nrun param_test_case.cpp ../system_under_test//hello\n    : : : <include>../system_under_test/hello : param_test_case ;\nrun test_case.cpp ../system_under_test//hello\n    : : : <include>../system_under_test/hello : test_case ;\nrun test_case_template.cpp  ;\n\nrun-fail auto_test_case_expected_failures.cpp ../system_under_test//hello /boost//unit_test_framework \n    : : : <include>../system_under_test/hello <link>static ;\nrun-fail assertion_failures.cpp /boost//unit_test_framework ;\n\nrun turtle_mock.cpp\n    turtle\n    ../system_under_test//scanner\n    /boost//filesystem\n    /boost//unit_test_framework\n    : : : <include>../system_under_test/scanner : turtle_mock ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/another_global_fixture.cpp",
    "content": "#include <boost/test/unit_test.hpp>\r\n\r\n#include <iostream>\r\n\r\nstruct global3\r\n{\r\n    global3()\r\n    {\r\n        std::cout << \"global3 setup\\n\";\r\n    }\r\n    ~global3()\r\n    {\r\n        std::cout << \"global3 teardown\\n\";\r\n    }\r\n};\r\n\r\nBOOST_GLOBAL_FIXTURE(global3);\r\n\r\nBOOST_AUTO_TEST_CASE(three)\r\n{\r\n    std::cout << \"three\\n\";\r\n\r\n    BOOST_REQUIRE(true);\r\n}\r\n\r\nstruct global4\r\n{\r\n    global4()\r\n    {\r\n        std::cout << \"global4 setup\\n\";\r\n    }\r\n    ~global4()\r\n    {\r\n        std::cout << \"global4 teardown\\n\";\r\n    }\r\n};\r\n\r\nBOOST_GLOBAL_FIXTURE(global4);\r\n\r\nBOOST_AUTO_TEST_CASE(four)\r\n{\r\n    std::cout << \"four\\n\";\r\n\r\n    BOOST_REQUIRE(true);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/assertion_failures.cpp",
    "content": "#define BOOST_TEST_MAIN\n#include <boost/test/unit_test.hpp>\n\n#include <stdexcept>\n\n//[example_fail\nBOOST_AUTO_TEST_CASE(example_fail)\n{\n    BOOST_FAIL(\"This should never happen.\");\n}\n//]\n\n//[example_passpoint\nBOOST_AUTO_TEST_CASE(example_passpoint)\n{\n    BOOST_TEST_PASSPOINT();\n\n    throw std::runtime_error(\"Oops\");\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/assertions.cpp",
    "content": "//[example_test_module\n#define BOOST_TEST_MAIN\n#define BOOST_TEST_MODULE \"Assertions\"\n#include <boost/test/unit_test.hpp>\n//]\n\n#include <cstring>\n#include <list>\n#include <ostream>\n#include <stdexcept>\n#include <string>\n#include <vector>\n\n//[example_bitwise_equal\nenum bit_flags\n{\n    source_file = 1u,\n    header_file = 2u,\n    build_file = 4u\n};\n\nBOOST_AUTO_TEST_CASE(example_bitwise_equal)\n{\n    BOOST_REQUIRE_BITWISE_EQUAL(\n        source_file | build_file,\n        build_file | source_file);\n}\n//]\n\n//[example_close\nBOOST_AUTO_TEST_CASE(example_close)\n{\n    BOOST_REQUIRE_CLOSE(100.f, 100.9f, 1.f);\n    BOOST_REQUIRE_CLOSE(100.f, 99.1f, 1.f);\n}\n//]\n\n//[example_close_fraction\nBOOST_AUTO_TEST_CASE(example_close_fraction)\n{\n    BOOST_REQUIRE_CLOSE_FRACTION(100.f, 100.9f, 1.f);\n    BOOST_REQUIRE_CLOSE_FRACTION(100.f, 99.1f, 1.f);\n}\n//]\n\n//[example_equal\nBOOST_AUTO_TEST_CASE(example_equal)\n{\n    // integral types\n    unsigned const u = 1u;\n    int const i = -1;\n    char const A = 'A';\n    // standard library types providing operator== and operator<<\n    std::string const s = \"scooby\";\n\n    BOOST_REQUIRE_EQUAL(1u, u);\n    BOOST_REQUIRE_EQUAL(-1, i);\n    BOOST_REQUIRE_EQUAL('A', A);\n    BOOST_REQUIRE_EQUAL(\"scooby\", s);\n}\n//]\n\n//[example_equal_custom_compare\n// custom data structure\nstruct symbol\n{\n    char const* const name;\n    int value;\n};\n\n// custom comparison operator\nstatic bool operator==(symbol const& lhs, symbol const& rhs)\n{\n    return lhs.value == rhs.value\n        && std::string(lhs.name) == std::string(rhs.name);\n}\n\n// custom stream insertion operator\nstatic std::ostream& operator<<(std::ostream& stream, symbol const& value)\n{\n    return stream << value.name << \": \" << value.value;\n}\n\nBOOST_AUTO_TEST_CASE(example_equal_custom_compare)\n{\n    symbol const s1 = { \"var\" , 1 };\n    symbol const s2 = { \"var\", 1 };\n    // If the compiler doesn't collapse multiple constants, then:\n    // s1.name != s2.name;\n\n    BOOST_REQUIRE_EQUAL(s1, s2);\n}\n//]\n\n//[example_equal_collections\nstatic std::list<int> generate_list()\n{\n    std::list<int> l;\n    l.push_front(3);\n    l.push_front(2);\n    l.push_front(1);\n\n    return l;\n}\n\nBOOST_AUTO_TEST_CASE(example_equal_collections)\n{\n    std::vector<int> expected;\n    expected.push_back(1);\n    expected.push_back(2);\n    expected.push_back(3);\n\n    std::list<int> actual = generate_list();\n\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\n        expected.begin(), expected.end(),\n        actual.begin(), actual.end());\n}\n\nBOOST_AUTO_TEST_CASE(example_equal_collections_pod)\n{\n    int const expected[] = { 1, 2, 3 };\n\n    std::list<int> actual = generate_list();\n\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\n        &expected[0], &expected[sizeof(expected)/sizeof(expected[0])],\n        actual.begin(), actual.end());\n}\n//]\n\n//[example_exception\nclass error_number_exception\n{\npublic:\n    error_number_exception(int num)\n        : num_(num)\n    { }\n\n    int error_number() const { return num_; }\n\nprivate:\n    int num_;\n};\n\nstatic bool has_error_number_1(error_number_exception const& ex)\n{\n    return ex.error_number() == 1;\n}\n\nBOOST_AUTO_TEST_CASE(example_exception)\n{\n    BOOST_REQUIRE_EXCEPTION(throw error_number_exception(1),\n        error_number_exception, has_error_number_1);\n}\n//]\n\n//[example_ge\nBOOST_AUTO_TEST_CASE(example_ge)\n{\n    // integral types\n    unsigned const u = 1u;\n    int const i = -10;\n    char const A = 'A';\n    // standard library types providing operator>= and operator<<\n    std::string const s = \"scooby\";\n\n    BOOST_REQUIRE_GE(2u, u);\n    BOOST_REQUIRE_GE(1u, u);\n    BOOST_REQUIRE_GE(-9, i);\n    BOOST_REQUIRE_GE(-10, i);\n    BOOST_REQUIRE_GE('B', A);\n    BOOST_REQUIRE_GE('A', A);\n    BOOST_REQUIRE_GE(\"scoobz\", s);\n    BOOST_REQUIRE_GE(\"scooby\", s);\n}\n//]\n\n//[example_gt\nBOOST_AUTO_TEST_CASE(example_gt)\n{\n    // integral types\n    unsigned const u = 1u;\n    int const i = -10;\n    char const A = 'A';\n    // standard library types providing operator> and operator==\n    std::string const s = \"scooby\";\n\n    BOOST_REQUIRE_GT(2u, u);\n    BOOST_REQUIRE_GT(-9, i);\n    BOOST_REQUIRE_GT('B', A);\n    BOOST_REQUIRE_GT(\"scoobz\", s);\n}\n//]\n\n//[example_le\nBOOST_AUTO_TEST_CASE(example_le)\n{\n    // integral types\n    unsigned const u = 10u;\n    int const i = -10;\n    char const M = 'M';\n    // standard library types providing operator>= and operator<<\n    std::string const s = \"scooby\";\n\n    BOOST_REQUIRE_LE(9u, u);\n    BOOST_REQUIRE_LE(10u, u);\n    BOOST_REQUIRE_LE(-11, i);\n    BOOST_REQUIRE_LE(-10, i);\n    BOOST_REQUIRE_LE('L', M);\n    BOOST_REQUIRE_LE('M', M);\n    BOOST_REQUIRE_LE(\"scoobx\", s);\n    BOOST_REQUIRE_LE(\"scooby\", s);\n}\n//]\n\n//[example_lt\nBOOST_AUTO_TEST_CASE(example_lt)\n{\n    // integral types\n    unsigned const u = 10u;\n    int const i = -10;\n    char const M = 'M';\n    // standard library types providing operator>= and operator<<\n    std::string const s = \"scooby\";\n\n    BOOST_REQUIRE_LT(9u, u);\n    BOOST_REQUIRE_LT(-11, i);\n    BOOST_REQUIRE_LT('L', M);\n    BOOST_REQUIRE_LT(\"scoobx\", s);\n}\n//]\n\n//[example_message\nstatic int g_i;\n\n// simple predicate\nstatic bool global_int_is_positive()\n{\n    return g_i > 0;\n}\n\n// predicate that builds up detail message\nstatic boost::test_tools::predicate_result global_int_equal(int expected)\n{\n    if (g_i == expected)\n    {\n        return true;\n    }\n\n    boost::test_tools::predicate_result failed = false;\n    failed.message() << \"g_i != \" << expected << \"; actual: \" << g_i;\n    return failed;\n}\n\nBOOST_AUTO_TEST_CASE(example_message)\n{\n    g_i = 1;\n\n    BOOST_REQUIRE_MESSAGE(global_int_is_positive(),\n        \"g_i is not positive; actual: \" << g_i);\n    BOOST_REQUIRE_MESSAGE(global_int_equal(1), \"g_i equals 1\");\n}\n//]\n\n//[example_ne\nBOOST_AUTO_TEST_CASE(example_ne)\n{\n    // integral types\n    unsigned const u = 1u;\n    int const i = -1;\n    char const A = 'A';\n    // standard library types providing operator!= and operator<<\n    std::string const s = \"scooby\";\n\n    BOOST_REQUIRE_NE(2u, u);\n    BOOST_REQUIRE_NE(-2, i);\n    BOOST_REQUIRE_NE('B', A);\n    BOOST_REQUIRE_NE(\"scoobz\", s);\n}\n//]\n\n//[example_no_throw\nBOOST_AUTO_TEST_CASE(example_no_throw)\n{\n    BOOST_REQUIRE_NO_THROW(1 + 1);\n}\n//]\n\n//[example_predicate\nstatic bool custom_string_compare(char const* const expected, char const* const actual)\n{\n    return std::strcmp(expected, actual) == 0;\n}\n\nBOOST_AUTO_TEST_CASE(example_predicate)\n{\n    char const* const s = \"scooby\";\n\n    BOOST_REQUIRE_PREDICATE(custom_string_compare, (\"scooby\")(s));\n}\n//]\n\n//[example_small\nBOOST_AUTO_TEST_CASE(example_small)\n{\n    float const f = 0.1f;\n\n    BOOST_REQUIRE_SMALL(f, 0.25f);\n}\n//]\n\n//[example_throw\nstatic void always_throws()\n{\n    throw std::runtime_error(\"whoops\");\n}\n\nBOOST_AUTO_TEST_CASE(example_throw)\n{\n    BOOST_REQUIRE_THROW(always_throws(), std::runtime_error);\n}\n//]\n\n//[example_test_dont_print_log_value\nstruct custom\n{\n    int value;\n};\n\nBOOST_TEST_DONT_PRINT_LOG_VALUE(custom);\n\nstatic bool operator==(custom const& expected, custom const& actual)\n{\n    return expected.value == actual.value;\n}\n\nBOOST_AUTO_TEST_CASE(example_test_dont_print_log_value)\n{\n    custom const v1 = { 1 };\n    custom const v2 = { 1 };\n    BOOST_REQUIRE_EQUAL(v1, v2);\n}\n//]\n\n//[example_checkpoint\nBOOST_AUTO_TEST_CASE(example_checkpoint)\n{\n    int const i = 0;\n    BOOST_TEST_CHECKPOINT(\"i = \" << i);\n\n    BOOST_REQUIRE(i == 0);\n}\n//]\n\n//[example_test_message\nBOOST_AUTO_TEST_CASE(example_test_message)\n{\n    int const i = 0;\n    BOOST_TEST_MESSAGE(\"i = \" << i);\n\n    BOOST_REQUIRE(i == 0);\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/auto_test_case_expected_failures.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/unit_test.hpp>\r\n#include \"hello.hpp\"\r\n#include <sstream>\r\n\r\nBOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(inserts_text_check_expected, 2)\r\nBOOST_AUTO_TEST_CASE(inserts_text_check_expected)\r\n{\r\n    std::ostringstream dest;\r\n\r\n    hello_world(dest);\r\n\r\n    BOOST_CHECK_EQUAL(\"scooby-doo\", dest.str());\r\n    BOOST_CHECK_EQUAL(\"shaggy\", dest.str());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(inserts_text_check_exceeded, 2)\r\nBOOST_AUTO_TEST_CASE(inserts_text_check_exceeded)\r\n{\r\n    std::ostringstream dest;\r\n\r\n    hello_world(dest);\r\n\r\n    BOOST_CHECK_EQUAL(\"scooby-doo\", dest.str());\r\n    BOOST_CHECK_EQUAL(\"shaggy\", dest.str());\r\n    BOOST_CHECK_EQUAL(\"SCOOBY\", dest.str());\r\n}\r\n\r\n//[expected_failures\r\nBOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(inserts_text_require_expected, 1)\r\nBOOST_AUTO_TEST_CASE(inserts_text_require_expected)\r\n{\r\n    std::ostringstream dest;\r\n\r\n    hello_world(dest);\r\n\r\n    BOOST_REQUIRE_EQUAL(\"scooby-doo\", dest.str());\r\n}\r\n//]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/auto_test_case_template.cpp",
    "content": "#define BOOST_TEST_MODULE auto_test_case_template\r\n#define BOOST_TEST_MAIN\r\n#include <boost/test/unit_test.hpp>\r\n\r\n//[auto_test_case_template\r\n#include <boost/mpl/list.hpp>\r\n#include <limits>\r\n\r\ntypedef boost::mpl::list<\r\n    unsigned char, unsigned short,\r\n    unsigned int,\r\n    unsigned long, unsigned long long> unsigned_types;\r\n\r\nBOOST_AUTO_TEST_CASE_TEMPLATE(not_is_signed_for_unsigned_types, T, unsigned_types)\r\n{\r\n    BOOST_REQUIRE(!std::numeric_limits<T>::is_signed);\r\n}\r\n//]\r\n\r\ntypedef boost::mpl::list<\r\n    char, short,\r\n    int,\r\n    long, long long> signed_types;\r\nBOOST_AUTO_TEST_CASE_TEMPLATE(is_signed_for_signed_types, T, signed_types)\r\n{\r\n    BOOST_REQUIRE(std::numeric_limits<T>::is_signed);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias compilation :\n    dynamic\n    minimal\n    static\n    ;\n\nexplicit dynamic_main ;\nexplicit static_main ;\n\nrun dynamic/main.cpp dynamic/test_hello.cpp\n    ../../system_under_test//hello /boost//unit_test_framework\n    : : : <include>../../system_under_test/hello <link>shared\n    : dynamic ;\n\n# The unit test framework needs to be compiled with BOOST_TEST_NO_MAIN\n# for this example to compile.\nrun dynamic_main/main.cpp dynamic_main/test_hello.cpp\n    ../../system_under_test//hello /boost//unit_test_framework\n    : : : <include>../../system_under_test/hello <link>shared\n    : dynamic_main ;\n\nrun minimal/test_hello.cpp\n    ../../system_under_test//hello /boost//unit_test_framework\n    : : : <include>../../system_under_test/hello\n    : minimal ;\n\nrun static/main.cpp static/test_hello.cpp\n    ../../system_under_test//hello /boost//unit_test_framework \n    : : : <include>../../system_under_test/hello <link>static\n    : static ;\n\n# The unit test framework needs to be compiled with BOOST_TEST_NO_MAIN\n# for this example to compile.\nrun static_main/main.cpp static_main/test_hello.cpp\n    ../../system_under_test//hello /boost//unit_test_framework\n    : : : <include>../../system_under_test/hello <link>static\n    : static_main ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/dynamic/main.cpp",
    "content": "#define BOOST_TEST_DYN_LINK\n#define BOOST_TEST_MAIN\n#include <boost/test/unit_test.hpp>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/dynamic/test_hello.cpp",
    "content": "#define BOOST_TEST_DYN_LINK\n#include <boost/test/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\nstruct hello_world_fixture\n{\n    std::ostringstream dest;\n};\n\nBOOST_FIXTURE_TEST_SUITE(test_hello_world, hello_world_fixture);\n\nBOOST_AUTO_TEST_CASE(inserts_text)\n{\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nBOOST_AUTO_TEST_CASE(stream_with_badbit_throws_runtime_error)\n{\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n\nBOOST_AUTO_TEST_SUITE_END();\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/dynamic_main/main.cpp",
    "content": "#define BOOST_TEST_DYN_LINK\n#define BOOST_TEST_NO_MAIN\n#include <boost/test/unit_test.hpp>\n\nbool init_function()\n{\n    // create test cases and suites and return a boolean indicating\n    // success (true) or failure (false).\n    return true;\n}\n\nint main(int argc, char* argv[])\n{\n    return ::boost::unit_test::unit_test_main(&init_function, argc, argv);\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/dynamic_main/test_hello.cpp",
    "content": "#define BOOST_TEST_DYN_LINK\n#define BOOST_TEST_NO_MAIN\n#include <boost/test/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\nstruct hello_world_fixture\n{\n    std::ostringstream dest;\n};\n\nBOOST_FIXTURE_TEST_SUITE(test_hello_world, hello_world_fixture);\n\nBOOST_AUTO_TEST_CASE(inserts_text)\n{\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nBOOST_AUTO_TEST_CASE(stream_with_badbit_throws_runtime_error)\n{\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n\nBOOST_AUTO_TEST_SUITE_END();\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/minimal/test_hello.cpp",
    "content": "#include <boost/test/minimal.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\nstatic void inserts_text()\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE(\"Hello, world!\\n\" == dest.str());\n}\n\nstatic void stream_with_badbit_throws_runtime_error()\n{\n    std::ostringstream dest;\n    dest.clear(std::ios_base::badbit);\n\n    try\n    {\n        hello_world(dest);\n    }\n\n    catch (std::runtime_error const&)\n    {\n        return;\n    }\n    catch (...)\n    {\n        BOOST_FAIL(\"Unknown exception thrown.\");\n        return;\n    }\n    BOOST_FAIL(\"No exception thrown.\");\n}\n\nint test_main(int /*argc*/, char* /*argv*/[])\n{\n    inserts_text();\n    stream_with_badbit_throws_runtime_error();\n    return 0;\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/static/main.cpp",
    "content": "#define BOOST_TEST_MAIN\n#include <boost/test/unit_test.hpp>\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/static/test_hello.cpp",
    "content": "#include <boost/test/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\nstruct hello_world_fixture\n{\n    std::ostringstream dest;\n};\n\nBOOST_FIXTURE_TEST_SUITE(test_hello_world, hello_world_fixture);\n\nBOOST_AUTO_TEST_CASE(inserts_text)\n{\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nBOOST_AUTO_TEST_CASE(stream_with_badbit_throws_runtime_error)\n{\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n\nBOOST_AUTO_TEST_SUITE_END();\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/static_main/main.cpp",
    "content": "#define BOOST_TEST_NO_MAIN\n#include <boost/test/unit_test.hpp>\n\nboost::unit_test::test_suite *init_function(int argc, char *argv[])\n{\n    // create test cases and suites and return a pointer to any enclosing\n    // suite, or 0.\n    return 0;\n}\n\nint main(int argc, char *argv[])\n{\n    return boost::unit_test::unit_test_main(init_function, argc, argv);\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/compilation/static_main/test_hello.cpp",
    "content": "#define BOOST_TEST_NO_MAIN\n#include <boost/test/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\nstruct hello_world_fixture\n{\n    std::ostringstream dest;\n};\n\nBOOST_FIXTURE_TEST_SUITE(test_hello_world, hello_world_fixture);\n\nBOOST_AUTO_TEST_CASE(inserts_text)\n{\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nBOOST_AUTO_TEST_CASE(stream_with_badbit_throws_runtime_error)\n{\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n\nBOOST_AUTO_TEST_SUITE_END();\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/file_system.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/unit_test.hpp>\r\n#include \"directory_scanner.hpp\"\r\n#include \"scanner.hpp\"\r\n\r\n//[fake_directory_scanner\r\nclass fake_directory_scanner : public directory_scanner\r\n{\r\npublic:\r\n    fake_directory_scanner()\r\n        : begin_called(false),\r\n        has_next_called(false),\r\n        next_called(false),\r\n        next_call_count(0U)\r\n    {}\r\n\r\n    virtual ~fake_directory_scanner() {}\r\n\r\n    virtual void begin(std::string const &directory)\r\n    {\r\n        begin_called = true;\r\n        begin_last_directory = directory;\r\n    }\r\n    bool begin_called;\r\n    std::string begin_last_directory;\r\n\r\n    virtual bool has_next() const\r\n    {\r\n        has_next_called = true;\r\n        return next_call_count <= next_fake_results.size();\r\n    }\r\n    mutable bool has_next_called;\r\n    bool has_next_fake_result;\r\n\r\n    virtual std::string next() const\r\n    {\r\n        next_called = true;\r\n        ++next_call_count;\r\n        return has_next() ? next_fake_results[next_call_count - 1U] : \"\";\r\n    }\r\n    mutable bool next_called;\r\n    mutable std::size_t next_call_count;\r\n    std::vector<std::string> next_fake_results;\r\n};\r\n//]\r\n\r\n//[test_scanner\r\nstatic std::string const ARBITRARY_DIRECTORY_NAME(\"foo\");\r\nstatic std::string const ARBITRARY_NON_TEXT_FILE_NAME(\"foo.foo\");\r\nstatic std::string const ARBITRARY_TEXT_FILE_NAME(\"foo.txt\");\r\nstatic std::string const ARBITRARY_OTHER_TEXT_FILE_NAME(\"bar.txt\");\r\n\r\nstruct text_files_fixture\r\n{\r\n    void expect_enumerate_non_text_file()\r\n    {\r\n        scanner.next_fake_results.push_back(ARBITRARY_NON_TEXT_FILE_NAME);\r\n    }\r\n\r\n    void expect_enumerate_text_file(std::string const& file_name = ARBITRARY_TEXT_FILE_NAME)\r\n    {\r\n        scanner.next_fake_results.push_back(file_name);\r\n        expected.push_back(file_name);\r\n    }\r\n\r\n    fake_directory_scanner scanner;\r\n    std::vector<std::string> empty;\r\n    std::vector<std::string> expected;\r\n};\r\n\r\nBOOST_FIXTURE_TEST_SUITE(test_text_files, text_files_fixture);\r\n\r\nBOOST_AUTO_TEST_CASE(returns_empty_for_empty_directory)\r\n{\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(empty.begin(), empty.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(returns_empty_for_no_text_files)\r\n{\r\n    expect_enumerate_non_text_file();\r\n\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(empty.begin(), empty.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(returns_file_for_text_file)\r\n{\r\n    expect_enumerate_text_file();\r\n\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(expected.begin(), expected.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(returns_only_text_file_for_mixed_files)\r\n{\r\n    expect_enumerate_text_file();\r\n    expect_enumerate_non_text_file();\r\n\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(expected.begin(), expected.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(returns_all_text_files)\r\n{\r\n    expect_enumerate_text_file();\r\n    expect_enumerate_non_text_file();\r\n    expect_enumerate_text_file(ARBITRARY_OTHER_TEXT_FILE_NAME);\r\n\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(expected.begin(), expected.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_SUITE_END();\r\n//]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/global_fixture.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/unit_test.hpp>\r\n\r\n#include <iostream>\r\n\r\n//[global_fixture\r\nstruct global_fixture\r\n{\r\n    global_fixture()\r\n    {\r\n        std::cout << \"global setup\\n\";\r\n    }\r\n    ~global_fixture()\r\n    {\r\n        std::cout << \"global teardown\\n\";\r\n    }\r\n};\r\n\r\nBOOST_GLOBAL_FIXTURE(global_fixture);\r\n//]\r\n\r\nstruct suite_fixture\r\n{\r\n    suite_fixture()\r\n    {\r\n        std::cout << \"suite setup\\n\";\r\n    }\r\n    ~suite_fixture()\r\n    {\r\n        std::cout << \"suite teardown\\n\";\r\n    }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_SUITE(suite, suite_fixture);\r\n\r\nBOOST_AUTO_TEST_CASE(one)\r\n{\r\n    std::cout << \"one\\n\";\r\n\r\n    BOOST_REQUIRE(true);\r\n}\r\n\r\nstruct global2\r\n{\r\n    global2()\r\n    {\r\n        std::cout << \"global2 setup\\n\";\r\n    }\r\n    ~global2()\r\n    {\r\n        std::cout << \"global2 teardown\\n\";\r\n    }\r\n};\r\n\r\nBOOST_GLOBAL_FIXTURE(global2);\r\n\r\nBOOST_AUTO_TEST_CASE(two)\r\n{\r\n    std::cout << \"two\\n\";\r\n\r\n    BOOST_REQUIRE(true);\r\n}\r\n\r\nBOOST_AUTO_TEST_SUITE_END();\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/manual_registration.cpp",
    "content": "#define BOOST_TEST_NO_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n\nusing namespace boost::unit_test;\n\n//[register_function\nstatic void inserts_text()\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nstatic void register_function(test_suite& suite)\n{\n    suite.add(BOOST_TEST_CASE(inserts_text));\n}\n//]\n\n//[hello_fixture\nclass hello_fixture\n{\npublic:\n    void stream_with_badbit_throws_runtime_error()\n    {\n        dest.clear(std::ios_base::badbit);\n\n        BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n    }\n\n    std::ostringstream dest;\n};\n//]\n\n//[register_method_static_instance\nstatic hello_fixture hf;\n\nstatic void register_method_static_instance(test_suite& suite)\n{\n    suite.add(BOOST_TEST_CASE(\n        boost::bind(&hello_fixture::stream_with_badbit_throws_runtime_error,\n            &hf)));\n}\n//]\n\n//[register_method_function_instance\nstatic void stream_with_badbit_throws_runtime_error()\n{\n    hello_fixture().stream_with_badbit_throws_runtime_error();\n};\n\nstatic void register_method_function_instance(test_suite& suite)\n{\n    suite.add(BOOST_TEST_CASE(stream_with_badbit_throws_runtime_error));\n}\n//]\n\n//[register_test_suite\nstatic test_suite*\ninit_unit_test_suite(int argc, char* argv[])\n{\n    test_suite* hello_suite = BOOST_TEST_SUITE(\"hello\");\n    register_function(*hello_suite);\n    register_method_static_instance(*hello_suite);\n    register_method_function_instance(*hello_suite);\n    framework::master_test_suite().add(hello_suite);\n    return 0;\n}\n//]\n\nint main(int argc, char* argv[])\n{\n    return unit_test_main(init_unit_test_suite, argc, argv);\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/param_class_test_case.cpp",
    "content": "#define BOOST_TEST_NO_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include <boost/test/parameterized_test.hpp>\n#include \"hello.hpp\"\n#include <sstream>\n\n//[param_class_test_case\n#include <boost/make_shared.hpp>\n#include <boost/shared_ptr.hpp>\n\nusing namespace boost::unit_test;\n\nclass hello_world_tester\n{\npublic:\n    hello_world_tester()\n    {\n        eq_items.push_back(\"Hello, world!\\n\");\n        eq_items.push_back(\"Hello, world!\\n\");\n        ne_items.push_back(\"shaggy\");\n        ne_items.push_back(\"scooby\");\n    }\n\n    void inserts_text(std::string const& text)\n    {\n        std::ostringstream dest;\n\n        hello_world(dest);\n\n        BOOST_REQUIRE_EQUAL(text, dest.str());\n    };\n\n    void does_not_insert_text(std::string const& text)\n    {\n        std::ostringstream dest;\n\n        hello_world(dest);\n\n        BOOST_REQUIRE_NE(text, dest.str());\n    }\n\n    std::vector<std::string> eq_items;\n    std::vector<std::string> ne_items;\n};\n\nboost::shared_ptr<hello_world_tester> tester(boost::make_shared<hello_world_tester>());\n\nstatic test_suite*\ninit(int argc, char* argv[])\n{\n    test_suite& suite = framework::master_test_suite();\n    suite.add(BOOST_PARAM_CLASS_TEST_CASE(\n        &hello_world_tester::inserts_text, tester,\n        tester->eq_items.begin(), tester->eq_items.end()));\n    suite.add(BOOST_PARAM_CLASS_TEST_CASE(\n        &hello_world_tester::does_not_insert_text, tester,\n        tester->ne_items.begin(), tester->ne_items.end()));\n    return 0;\n}\n\nint main(int argc, char* argv[])\n{\n    return unit_test_main(init, argc, argv);\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/param_test_case.cpp",
    "content": "#define BOOST_TEST_NO_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include <boost/test/parameterized_test.hpp>\n#include \"hello.hpp\"\n#include <sstream>\n\n//[param_test_case\nusing namespace boost::unit_test;\n\nstatic void does_not_insert_text(std::string const& text)\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_NE(text, dest.str());\n}\n\nstatic std::vector<std::string> text;\n\nstatic test_suite*\ninit(int argc, char* argv[])\n{\n    text.push_back(\"scooby\");\n    text.push_back(\"shaggy\");\n    text.push_back(\"foo\");\n    text.push_back(\"arg\");\n    framework::master_test_suite()\n        .add(BOOST_PARAM_TEST_CASE(does_not_insert_text, text.begin(), text.end()));\n    return 0;\n}\n\nint main(int argc, char* argv[])\n{\n    return unit_test_main(init, argc, argv);\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/test_case.cpp",
    "content": "//[test_case\n#define BOOST_TEST_NO_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <sstream>\n\nusing namespace boost::unit_test;\n\nstatic void inserts_text()\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nstatic test_suite*\ninit(int argc, char* argv[])\n{\n    framework::master_test_suite().add(BOOST_TEST_CASE(inserts_text));\n    return 0;\n}\n\nint main(int argc, char* argv[])\n{\n    return unit_test_main(init, argc, argv);\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/test_case_template.cpp",
    "content": "#define BOOST_TEST_NO_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include <sstream>\n\nusing namespace boost::unit_test;\n\ntypedef boost::mpl::list<\n    unsigned char, unsigned short,\n    unsigned int,\n    unsigned long, unsigned long long> unsigned_types;\nBOOST_TEST_CASE_TEMPLATE_FUNCTION(not_is_signed_for_unsigned_types, T)\n{\n    BOOST_REQUIRE(!std::numeric_limits<T>::is_signed);\n}\n\n//[test_case_template_function\ntypedef boost::mpl::list<\n    char, short,\n    int,\n    long, long long> signed_types;\n\nBOOST_TEST_CASE_TEMPLATE_FUNCTION(is_signed_for_signed_types, T)\n{\n    BOOST_REQUIRE(std::numeric_limits<T>::is_signed);\n}\n//]\n\n//[test_case_template\nstatic test_suite*\ninit(int argc, char* argv[])\n{\n    test_suite& suite(framework::master_test_suite());\n    suite.add(BOOST_TEST_CASE_TEMPLATE(not_is_signed_for_unsigned_types, unsigned_types));\n    suite.add(BOOST_TEST_CASE_TEMPLATE(is_signed_for_signed_types, signed_types));\n    return 0;\n}\n\nint main(int argc, char* argv[])\n{\n    return unit_test_main(init, argc, argv);\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/examples/turtle_mock.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/unit_test.hpp>\r\n#include \"scanner.hpp\"\r\n\r\n//[mock_directory_scanner\r\n#include \"directory_scanner.hpp\"\r\n#include <turtle/mock.hpp>\r\n\r\nMOCK_BASE_CLASS(mock_directory_scanner, directory_scanner)\r\n{\r\n    MOCK_METHOD(begin, 1);\r\n    MOCK_METHOD(has_next, 0);\r\n    MOCK_METHOD(next, 0);\r\n};\r\n//]\r\n\r\n//[test_scanner_with_mocks\r\nstatic std::string const ARBITRARY_DIRECTORY_NAME(\"foo\");\r\nstatic std::string const ARBITRARY_NON_TEXT_FILE_NAME(\"foo.foo\");\r\nstatic std::string const ARBITRARY_TEXT_FILE_NAME(\"foo.txt\");\r\nstatic std::string const ARBITRARY_OTHER_TEXT_FILE_NAME(\"bar.txt\");\r\n\r\nstruct text_files_fixture\r\n{\r\n    text_files_fixture()\r\n    {\r\n        MOCK_EXPECT(scanner.begin).once().with(ARBITRARY_DIRECTORY_NAME);\r\n    }\r\n\r\n    void expect_enumerate_non_text_file()\r\n    {\r\n        MOCK_EXPECT(scanner.has_next).once().returns(true);\r\n        MOCK_EXPECT(scanner.next).once().returns(ARBITRARY_NON_TEXT_FILE_NAME);\r\n    }\r\n\r\n    void expect_enumerate_text_file(std::string const& file_name = ARBITRARY_TEXT_FILE_NAME)\r\n    {\r\n        MOCK_EXPECT(scanner.has_next).once().returns(true);\r\n        MOCK_EXPECT(scanner.next).once().returns(file_name);\r\n        expected.push_back(file_name);\r\n    }\r\n\r\n    void expect_enumerate_end()\r\n    {\r\n        MOCK_EXPECT(scanner.has_next).once().returns(false);\r\n    }\r\n\r\n    mock_directory_scanner scanner;\r\n    std::vector<std::string> empty;\r\n    std::vector<std::string> expected;\r\n};\r\n\r\nBOOST_FIXTURE_TEST_SUITE(test_text_files, text_files_fixture);\r\n\r\nBOOST_AUTO_TEST_CASE(returns_empty_for_empty_directory)\r\n{\r\n    expect_enumerate_end();\r\n\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(empty.begin(), empty.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(returns_empty_for_no_text_files)\r\n{\r\n    expect_enumerate_non_text_file();\r\n    expect_enumerate_end();\r\n\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(empty.begin(), empty.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(returns_file_for_text_file)\r\n{\r\n    expect_enumerate_text_file();\r\n    expect_enumerate_end();\r\n\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(expected.begin(), expected.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(returns_only_text_file_for_mixed_files)\r\n{\r\n    expect_enumerate_text_file();\r\n    expect_enumerate_non_text_file();\r\n    expect_enumerate_end();\r\n\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(expected.begin(), expected.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(returns_all_text_files)\r\n{\r\n    expect_enumerate_text_file();\r\n    expect_enumerate_non_text_file();\r\n    expect_enumerate_text_file(ARBITRARY_OTHER_TEXT_FILE_NAME);\r\n    expect_enumerate_end();\r\n\r\n    std::vector<std::string> files = text_files(ARBITRARY_DIRECTORY_NAME, scanner);\r\n\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(expected.begin(), expected.end(), files.begin(), files.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_SUITE_END();\r\n//]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-assertion.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[template operator_warning_for[assertion operator element]\n[important If you get a strange compile error when using [assertion],\ncheck that the appropriate [operator] and `operator<<` are defined for\nthe [element].  If you define these operators in your test\ncode, keep in mind argument-dependent lookup of types based on enclosing\nnamespaces and the namespaces opened by test suites.\nThe need to define `operator<<` can be eliminated by using\n[link test.reference.assertion.boost_test_dont_print_log_value =BOOST_TEST_DONT_PRINT_LOG_VALUE=].]\n]\n\n[template operator_warning[assertion operator]\n[operator_warning_for [assertion] [operator] arguments]\n]\n\n[section:assertion Test Assertions]\n\nAssertions are used to validate the result of exercising the system under\ntest.  When an assertion fails, a diagnostic message is created and the\nfailed assertion is recorded.  Different assertion levels allow you to\ncontrol how a failed assertion is interpreted by the test runner.\n\n[important When an assertion involves a user-defined datatype, a stream insertion\noperator (`operator<<`) must be defined for the user-defined datatype,\nor the assertion will fail to compile.  Asserting a comparison operation\non a value of a user-defined type will require the appropriate comparison\noperator (`operator<`, `operator==`, etc.) be defined for the type or the\nassertion will fail to compile.\nThe need to define `operator<<` can be eliminated by using\n[link test.reference.assertion.boost_test_dont_print_log_value =BOOST_TEST_DONT_PRINT_LOG_VALUE=].\n]\n\nThe [link test.guide.compilation.minimal_header minimal header] test\nframework does not provide the facilities described here.\n\n[section:levels Assertion Levels]\n\nWhen using the library or header-only version of __test__, many\nassertion macros are provided in three levels that determine the behavior\nwhen the assertion fails and how a failed assertion interacts with the\ntest runner.\n\n[table Assertion Levels\n[[Level] [Test Case Fails?] [Aborts Execution?]]\n[[=WARN=] [No] [No]]\n[[=CHECK=] [Yes] [no]]\n[[=REQUIRE=] [Yes] [Yes]]\n]\n\nThe =WARN= level issues a diagnostic message, but the\ntest case is not considered to have failed and continues\nexecuting.  The =CHECK= level issues a message to the test log on failure,\nmarks the test case as failed and continues executing.  The =REQUIRE=\nlevel issues a message to the test log on failure, marks the test case\nas failed and halts execution of the test case.\n\n[endsect]\n\n[section =BOOST_=[~level]=_BITWISE_EQUAL=]\n\n=BITWISE_=[~level]=_EQUAL(=[~lhs], [~rhs]=)= compares the two arguments\nfor bitwise equality and fails if they are not equal.  This can be useful\nwhen testing integral values that represent a logical or combination of\nbit flags.\n\n[heading Example]\n\n[example_bitwise_equal]\n\n[endsect]\n\n[section =BOOST_=[~level]=_CLOSE=]\n\n=BOOST_=[~level]=_CLOSE(=[~lhs], [~rhs], [~tolerance]=)= compares the\ntwo floating-point arguments and considers them equal if they agree within\nthe given [~tolerance].  The [~tolerance] is given as a percentage.\n\n[heading Example]\n\n[example_close]\n\n[/ TODO: link to floating-point algorithm explanation /]\n\n[endsect]\n\n[section =BOOST_=[~level]=_CLOSE_FRACTION=]\n\n=BOOST_=[~level]=_CLOSE_FRACTION(=[~lhs], [~rhs], [~tolerance]=)= compares\nthe two floating-point arguments and considers them equal if they agree\nwithin the given [~tolerance].  The [~tolerance] is given as a percentage.\n\n[heading Example]\n\n[example_close_fraction]\n\n[/ TODO: link to floating-point algorithm explanation /]\n\n[endsect]\n\n[section:boost_level_equal =BOOST_=[~level]=_EQUAL=]\n\n=BOOST_EQUAL(=[~lhs], [~rhs]=)= compares the two arguments with\n`operator==`.  The diagnostic message is constructed with `operator<<`\non the two arguments.\n\n[operator_warning =BOOST_EQUAL= `operator==`]\n\n[heading Examples]\n\n[example_equal]\n[example_equal_custom_compare]\n\n[endsect]\n\n[section =BOOST_=[~level]=_EQUAL_COLLECTIONS=]\n\n=BOOST_=[~level]=_EQUAL_COLLECTIONS(=[~lhs_begin], [~lhs_end], [~rhs_begin], [~rhs_end]=)=\ncompares two collections for equality.  Two collections are considered\nequal if they have the same number of elements and the elements compare\nequal by `operator==`.  The elements are obtained through the supplied\niterators on the collections.  The diagnostic message is constructed from\napplying `operator<<` to each of the elements in the collections.\n\n[operator_warning_for =BOOST_EQUAL_COLLECTIONS= `operator==` element type in the collection]\n\n[heading Example]\n\n[example_equal_collections]\n\n[endsect]\n\n[section:boost_level_exception =BOOST_=[~level]=_EXCEPTION=]\n\n=BOOST_=[~level]=_EXCEPTION(=[~expression], [~exception], [~predicate]=)=\nasserts that when [~expression] throws an exception of type [~exception],\nthe [~predicate] applied to the instance of the exception returns =true=.\nThis is used to verify not only that an exception of the correct type was\nthrown, but that the contents of the thrown exception meet the expectations\nof the predicate.\n\nThe [~predicate] can return =bool=, or __predicate_result__ which allows\nthe predicate to build up a detailed failure message.\n\n[heading Example]\n\n[example_exception]\n\n[endsect]\n\n[section:boost_fail =BOOST_FAIL=]\n\n=BOOST_FAIL(=[~message]=)= always fails and emits the given\n[~message] at the =REQUIRE= assertion level.  Other assertion macros\nare generally preferred over =BOOST_FAIL= because they emit better\ndiagnostics in the case of failure.\n\nThere are two situations\nwhere you might be tempted to use =BOOST_FAIL=: testing the situations\nwhere the system under test will throw exceptions or comparing against\nthe values computed by the system under test.\nFor testing exception generation, use __boost_require_throw__,\n__boost_require_no_throw__ or __boost_require_exception__.\nFor testing against values computed by the system under test, use the\ncomparing assertions.\n\n[heading Example]\n\n[example_fail]\n\n[endsect]\n\n[section =BOOST_=[~level]=_GE=]\n\n=BOOST_=[~level]=_GE(=[~lhs], [~rhs]=)= asserts that [~lhs] is greater\nthan or equal to [~rhs].  The comparison is made by applying `operator>=`\nto both arguments.  The diagnostic message is constructed from applying\n`operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_GE= `operator>=`]\n\n[heading Example]\n\n[example_ge]\n\n[endsect]\n\n[section =BOOST_=[~level]=_GT=]\n\n=BOOST_=[~level]=_GT(=[~lhs], [~rhs]=)= asserts that [~lhs] is greater than [~rhs].\nThe comparison is made by applying `operator>` to both arguments.\nThe diagnostic message is constructed from applying `operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_GT= `operator>`]\n\n[heading Example]\n\n[example_gt]\n\n[endsect]\n\n[section =BOOST_=[~level]=_LE=]\n\n=BOOST_=[~level]=_LE(=[~lhs], [~rhs]=)= asserts that [~lhs] is less\nthan or equal to [~rhs].  The comparison is made by applying `operator<=`\nto both arguments.  The diagnostic message is constructed from applying\n`operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_LE= `operator<=`]\n\n[heading Example]\n\n[example_le]\n\n[endsect]\n\n[section =BOOST_=[~level]=_LT=]\n\n=BOOST_=[~level]=_LT(=[~lhs], [~rhs]=)= asserts that [~lhs] is less\nthan [~rhs].  The comparison is made by applying `operator<`\nto both arguments.  The diagnostic message is constructed from applying\n`operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_LT= `operator<`]\n\n[heading Example]\n\n[example_lt]\n\n[endsect]\n\n[section:boost_level_message =BOOST_=[~level]=_MESSAGE=]\n\n=BOOST_=[~level]=_MESSAGE(=[~predicate], [~message]=)= emits [~message]\nif the supplied [~predicate] evaluates to false.  The [~message] is\napplied to an output stream with `operator<<` and the argument can contain\nadditional applications of `operator<<` for building up complex messages.\nThe predicate can return =bool= or __predicate_result__.\n\n[heading Example]\n\n[example_message]\n\n[endsect]\n\n[section =BOOST_=[~level]=_NE=]\n\n=BOOST_=[~level]=_NE(=[~lhs], [~rhs]=)= asserts that [~lhs] is not equal\nto [~rhs].  The comparison is made by applying `operator!=`\nto both arguments.  The diagnostic message is constructed from applying\n`operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_NE= `operator!=`]\n\n[heading Example]\n\n[example_ne]\n\n[endsect]\n\n[section:boost_level_no_throw =BOOST_=[~level]=_NO_THROW=]\n\n=BOOST_=[~level]=_NO_THROW(=[~expression]=)= asserts that [~expression]\ndoes not throw an exception.\n\n[heading Example]\n\n[example_no_throw]\n\n[endsect]\n\n[section =BOOST_=[~level]=_PREDICATE=]\n\n=BOOST_=[~level]=_PREDICATE(=[~predicate], [~args]=)= asserts that the\nsupplied [~predicate] applied to [~args] evaluates to true.  The supplied\n[~predicate] must have a return type of =bool= and argument types that\nare compatible with the argument list [~args].  Because =BOOST_=[~level]=_PREDICATE=\nis a macro, the [~args] must be supplied as a sequence of parenthesized\nvalues, with no comma separating the values.\n\n[heading Example]\n\n[example_predicate]\n\n[endsect]\n\n[section =BOOST_=[~level]=_SMALL=]\n\n=BOOST_=[~level]=_SMALL(=[~value], [~tolerance]=)= checks that the [~value]\nis within [~tolerance] of zero.\n\n[heading Example]\n\n[example_small]\n\n[/ TODO: link to floating-point algorithm explanation /]\n\n[endsect]\n\n[section:boost_level_throw =BOOST_=[~level]=_THROW=]\n\n=BOOST_=[~level]=_THROW(=[~expression], [~exception]=)= asserts that\n[~expression] throws an exception of type [~exception] or a type\nderived from [~exception].\n\n[heading Example]\n\n[example_throw]\n\n[endsect]\n\n[section:boost_test_dont_print_log_value =BOOST_TEST_DONT_PRINT_LOG_VALUE=]\n\n=BOOST_TEST_DONT_PRINT_LOG_VALUE(=[~type]=)= instructs the test framework\nto ignore values of type [~type] when constructing diagnostic messages.\nIt does this by defining an empty implementation of a print function\nspecialized for [~type].  Because the specialization is inside an\nimplementation namespace for __test__, the macro must be invoked at\nthe global namespace scope.  Therefore, it cannot be used inside a test\nsuite or any other namespace.\n\n[heading Example]\n\n[example_test_dont_print_log_value]\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-assertion.qbk.bak",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[template operator_warning_for[assertion operator element]\n[important If you get a strange compile error when using [assertion],\ncheck that the appropriate [operator] and `operator<<` are defined for\nthe [element].  If you define these operators in your test\ncode, keep in mind argument-dependent lookup of types based on enclosing\nnamespaces and the namespaces opened by test suites.\nThe need to define `operator<<` can be eliminated by using\n[link test.reference.assertion.boost_test_dont_print_log_value =BOOST_TEST_DONT_PRINT_LOG_VALUE=].]\n]\n\n[template operator_warning[assertion operator]\n[operator_warning_for [assertion] [operator] arguments]\n]\n\n[section:assertion Test Assertions]\n\nAssertions are used to validate the result of exercising the system under\ntest.  When an assertion fails, a diagnostic message is created and the\nfailed assertion is recorded.  Different assertion levels allow you to\ncontrol how a failed assertion is interpreted by the test runner.\n\n[important When an assertion involves a user-defined datatype, a stream insertion\noperator (`operator<<`) must be defined for the user-defined datatype,\nor the assertion will fail to compile.  Asserting a comparison operation\non a value of a user-defined type will require the appropriate comparison\noperator (`operator<`, `operator==`, etc.) be defiend for the type or the\nassertion will fail to compile.\nThe need to define `operator<<` can be eliminated by using\n[link test.reference.assertion.boost_test_dont_print_log_value =BOOST_TEST_DONT_PRINT_LOG_VALUE=].\n]\n\nThe [link test.guide.compilation.minimal_header minimal header] test\nframework does not provide the facilities described here.\n\n[section:levels Assertion Levels]\n\nWhen using the library or header-only version of __test__, many\nassertion macros are provided in three levels that determine the behavior\nwhen the assertion fails and how a failed assertion interacts with the\ntest runner.\n\n[table Assertion Levels\n[[Level] [Test Case Fails?] [Aborts Execution?]]\n[[=WARN=] [No] [No]]\n[[=CHECK=] [Yes] [no]]\n[[=REQUIRE=] [Yes] [Yes]]\n]\n\nThe =WARN= level issues a diagnostic message, but the\ntest case is not considered to have failed and continues\nexecuting.  The =CHECK= level issues a message to the test log on failure,\nmarks the test case as failed and continues executing.  The =REQUIRE=\nlevel issues a message to the test log on failure, marks the test case\nas failed and halts execution of the test case.\n\n[endsect]\n\n[section =BOOST_=[~level]=_BITWISE_EQUAL=]\n\n=BITWISE_=[~level]=_EQUAL(=[~lhs], [~rhs]=)= compares the two arguments\nfor bitwise equality and fails if they are not equal.  This can be useful\nwhen testing integral values that represent a logical or combination of\nbit flags.\n\n[heading Example]\n\n[example_bitwise_equal]\n\n[endsect]\n\n[section =BOOST_=[~level]=_CLOSE=]\n\n=BOOST_=[~level]=_CLOSE(=[~lhs], [~rhs], [~tolerance]=)= compares the\ntwo floating-point arguments and considers them equal if they agree within\nthe given [~tolerance].  The [~tolerance] is given as a percentage.\n\n[heading Example]\n\n[example_close]\n\n[/ TODO: link to floating-point algorithm explanation /]\n\n[endsect]\n\n[section =BOOST_=[~level]=_CLOSE_FRACTION=]\n\n=BOOST_=[~level]=_CLOSE_FRACTION(=[~lhs], [~rhs], [~tolerance]=)= compares\nthe two floating-point arguments and considers them equal if they agree\nwithin the given [~tolerance].  The [~tolerance] is given as a percentage.\n\n[heading Example]\n\n[example_close_fraction]\n\n[/ TODO: link to floating-point algorithm explanation /]\n\n[endsect]\n\n[section:boost_level_equal =BOOST_=[~level]=_EQUAL=]\n\n=BOOST_EQUAL(=[~lhs], [~rhs]=)= compares the two arguments with\n`operator==`.  The diagnostic message is constructed with `operator<<`\non the two arguments.\n\n[operator_warning =BOOST_EQUAL= `operator==`]\n\n[heading Examples]\n\n[example_equal]\n[example_equal_custom_compare]\n\n[endsect]\n\n[section =BOOST_=[~level]=_EQUAL_COLLECTIONS=]\n\n=BOOST_=[~level]=_EQUAL_COLLECTIONS(=[~lhs_begin], [~lhs_end], [~rhs_begin], [~rhs_end]=)=\ncompares two collections for equality.  Two collections are considered\nequal if they have the same number of elements and the elements compare\nequal by `operator==`.  The elements are obtained through the supplied\niterators on the collections.  The diagnostic message is constructed from\napplying `operator<<` to each of the elements in the collections.\n\n[operator_warning_for =BOOST_EQUAL_COLLECTIONS= `operator==` element type in the collection]\n\n[heading Example]\n\n[example_equal_collections]\n\n[endsect]\n\n[section:boost_level_exception =BOOST_=[~level]=_EXCEPTION=]\n\n=BOOST_=[~level]=_EXCEPTION(=[~expression], [~exception], [~predicate]=)=\nasserts that when [~expression] throws an exception of type [~exception],\nthe [~predicate] applied to the instance of the exception returns =true=.\nThis is used to verify not only that an exception of the correct type was\nthrown, but that the contents of the thrown exception meet the expectations\nof the predicate.\n\nThe [~predicate] can return =bool=, or __predicate_result__ which allows\nthe predicate to build up a detailed failure message.\n\n[heading Example]\n\n[example_exception]\n\n[endsect]\n\n[section:boost_fail =BOOST_FAIL=]\n\n=BOOST_FAIL(=[~message]=)= always fails and emits the given\n[~message] at the =REQUIRE= assertion level.  Other assertion macros\nare generally preferred over =BOOST_FAIL= because they emit better\ndiagnostics in the case of failure.\n\nThere are two situations\nwhere you might be tempted to use =BOOST_FAIL=: testing the situations\nwhere the system under test will throw exceptions or comparing against\nthe values computed by the system under test.\nFor testing exception generation, use __boost_require_throw__,\n__boost_require_no_throw__ or __boost_require_exception__.\nFor testing against values computed by the system under test, use the\ncomparing assertions.\n\n[heading Example]\n\n[example_fail]\n\n[endsect]\n\n[section =BOOST_=[~level]=_GE=]\n\n=BOOST_=[~level]=_GE(=[~lhs], [~rhs]=)= asserts that [~lhs] is greater\nthan or equal to [~rhs].  The comparison is made by applying `operator>=`\nto both arguments.  The diagnostic message is constructed from applying\n`operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_GE= `operator>=`]\n\n[heading Example]\n\n[example_ge]\n\n[endsect]\n\n[section =BOOST_=[~level]=_GT=]\n\n=BOOST_=[~level]=_GT(=[~lhs], [~rhs]=)= asserts that [~lhs] is greater than [~rhs].\nThe comparison is made by applying `operator>` to both arguments.\nThe diagnostic message is constructed from applying `operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_GT= `operator>`]\n\n[heading Example]\n\n[example_gt]\n\n[endsect]\n\n[section =BOOST_=[~level]=_LE=]\n\n=BOOST_=[~level]=_LE(=[~lhs], [~rhs]=)= asserts that [~lhs] is less\nthan or equal to [~rhs].  The comparison is made by applying `operator<=`\nto both arguments.  The diagnostic message is constructed from applying\n`operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_LE= `operator<=`]\n\n[heading Example]\n\n[example_le]\n\n[endsect]\n\n[section =BOOST_=[~level]=_LT=]\n\n=BOOST_=[~level]=_LT(=[~lhs], [~rhs]=)= asserts that [~lhs] is less\nthan [~rhs].  The comparison is made by applying `operator<`\nto both arguments.  The diagnostic message is constructed from applying\n`operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_LT= `operator<`]\n\n[heading Example]\n\n[example_lt]\n\n[endsect]\n\n[section:boost_level_message =BOOST_=[~level]=_MESSAGE=]\n\n=BOOST_=[~level]=_MESSAGE(=[~predicate], [~message]=)= emits [~message]\nif the supplied [~predicate] evaluates to false.  The [~message] is\napplied to an output stream with `operator<<` and the argument can contain\nadditional applications of `operator<<` for building up complex messages.\nThe predicate can return =bool= or __predicate_result__.\n\n[heading Example]\n\n[example_message]\n\n[endsect]\n\n[section =BOOST_=[~level]=_NE=]\n\n=BOOST_=[~level]=_NE(=[~lhs], [~rhs]=)= asserts that [~lhs] is not equal\nto [~rhs].  The comparison is made by applying `operator!=`\nto both arguments.  The diagnostic message is constructed from applying\n`operator<<` to the two arguments.\n\n[operator_warning =BOOST_=[~level]=_NE= `operator!=`]\n\n[heading Example]\n\n[example_ne]\n\n[endsect]\n\n[section:boost_level_no_throw =BOOST_=[~level]=_NO_THROW=]\n\n=BOOST_=[~level]=_NO_THROW(=[~expression]=)= asserts that [~expression]\ndoes not throw an exception.\n\n[heading Example]\n\n[example_no_throw]\n\n[endsect]\n\n[section =BOOST_=[~level]=_PREDICATE=]\n\n=BOOST_=[~level]=_PREDICATE(=[~predicate], [~args]=)= asserts that the\nsupplied [~predicate] applied to [~args] evaluates to true.  The supplied\n[~predicate] must have a return type of =bool= and argument types that\nare compatible with the argument list [~args].  Because =BOOST_=[~level]=_PREDICATE=\nis a macro, the [~args] must be supplied as a sequence of parenthesized\nvalues, with no comma separating the values.\n\n[heading Example]\n\n[example_predicate]\n\n[endsect]\n\n[section =BOOST_=[~level]=_SMALL=]\n\n=BOOST_=[~level]=_SMALL(=[~value], [~tolerance]=)= checks that the [~value]\nis within [~tolerance] of zero.\n\n[heading Example]\n\n[example_small]\n\n[/ TODO: link to floating-point algorithm explanation /]\n\n[endsect]\n\n[section:boost_level_throw =BOOST_=[~level]=_THROW=]\n\n=BOOST_=[~level]=_THROW(=[~expression], [~exception]=)= asserts that\n[~expression] throws an exception of type [~exception] or a type\nderived from [~exception].\n\n[heading Example]\n\n[example_throw]\n\n[endsect]\n\n[section:boost_test_dont_print_log_value =BOOST_TEST_DONT_PRINT_LOG_VALUE=]\n\n=BOOST_TEST_DONT_PRINT_LOG_VALUE(=[~type]=)= instructs the test framework\nto ignore values of type [~type] when constructing diagnostic messages.\nIt does this by defining an empty implementation of a print function\nspecialized for [~type].  Because the specialization is inside an\nimplementation namespace for __test__, the macro must be invoked at\nthe global namespace scope.  Therefore, it cannot be used inside a test\nsuite or any other namespace.\n\n[heading Example]\n\n[example_test_dont_print_log_value]\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-compilation.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section Configuration Macros]\n\n[table\n[[Macro] [Meaning]]\n[[[#test.reference.compilation.boost_test_alternative_init_api]=BOOST_TEST_ALTERNATIVE_INIT_API=]\n    [When defined, the alternative [link test.reference.test_classes.init_unit_test_func =init_unit_test_func=] test module initialization API is used.]]\n[[[#test.reference.compilation.boost_test_dyn_link]=BOOST_TEST_DYN_LINK=]\n    [When defined, the implementation is compiled as a shared library.\n    Defining =BOOST_TEST_DYN_LINK= also defines\n    =BOOST_TEST_ALTERNATIVE_INIT_API=.]]\n[[[#test.reference.compilation.boost_test_main]=BOOST_TEST_MAIN=]\n    [When defined, an implementation of main is included in the source file.]]\n[[[#test.reference.compilation.boost_test_module]=BOOST_TEST_MODULE=]\n    [When defined, it provides the name of the master test suite,\n    otherwise a default name is used.]]\n[[[#test.reference.compilation.boost_test_no_lib]=BOOST_TEST_NO_LIB=]\n    [When defined, no automatic linking is performed.]]\n[[[#test.reference.compilation.boost_test_no_main]=BOOST_TEST_NO_MAIN=]\n    [When defined, no implementation of main is provided in any configuration.\n    Static and shared libraries must have been built with this symbol\n    defined for it to take effect when using the library.  The test\n    executable must provide its own implementation of =main=;\n    [link test.reference.test_classes.unit_test_main =unit_test_main=] may\n    be used for this purpose.]]\n]\n\nWhen using any of these macros, they must be defined before including any\nheader from __test__.\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-runner-argument.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[template envar[name]\n[*Environment variable]: [^[name]]\n]\n\n[section:argument Command Line Arguments]\n\n[table Command Line Argument Summary\n[[Argument]                 [Description]]\n[[=--auto_start_dbg=]       [Automatically attach debugger in case of system failure]]\n[[=--build_info=]           [Print build information]]\n[[=--catch_system_errors=]  [Catch system errors]]\n[[=--detect_fp_exceptions=] [Detect floating-point exceptions]]\n[[=--detect_memory_leaks=]  [Detect memory leaks]]\n[[=--help=]                 [Print out a summary of test runner options]]\n[[=--log_format=]           [The format of the test log]]\n[[=--log_level=]            [The level of logging reported]]\n[[=--log_sink=]             [The log sink name]]\n[[=--output_format=]        [The output format]]\n[[=--random=]               [Random number seed]]\n[[=--report_format=]        [The test results report format]]\n[[=--report_level=]         [The test results report level]]\n[[=--report_sink=]          [The report sink name]]\n[[=--result_code=]          [Return result code]]\n[[=--run_test=]             [Tests to run]]\n[[=--show_progress=]        [Show execution progress]]\n[[=--use_alt_stack=]        [Use alternative stack]]\n[[=--wait_for_debugger=]    [Wait for the debugger to attach to the test runner.]]\n]\n\nThe functionality of each command-line option can also be invoked with an\nenvironment variable.  The description for each option gives the environment\nvariable associated with that option.\n\n[section:auto_start_dbg =--auto_start_dbg=]\n\nThis argument controls whether or not a debugger is attached to the test\nrunner when a fatal system error occurs.  A fatal system error includes\nUnix/POSIX signals, C++ exceptions and Win32 structured exceptions.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not attach a debugger to when a fatal system error occurs.]]\n[[=yes=] [Attach the default debugger when a fatal system error occurs.]]\n]\n\n[envar BOOST_TEST_AUTO_START_DBG]\n\n[endsect]\n\n[section =--build_info=]\n\nThis argument causes the test runner to report information about the\nbuild environment before running the tests.  If the argument is specified\nbut no value is given, then a value of =yes= is assumed.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not report build information.]]\n[[=yes=] [Report build information.]]\n]\n\n[envar BOOST_TEST_BUILD_INFO]\n\n[endsect]\n\n[section =--catch_system_errors=]\n\nThis argument controls whether or not the test runner catches fatal system\nerrors.\n\n[table\n[[Value] [Meaning]]\n[[=no=] [Do not handle fatal system errors.]]\n[[[*=yes=] (default)] [Handle fatal system errors.]]\n]\n\n[envar BOOST_TEST_CATCH_SYSTEM_ERRORS]\n\n[endsect]\n\n[section =--detect_fp_exceptions=]\n\nIf the execution environment supports floating-point exceptions, this\nargument controls whether or not the test runner will detect floating-point\nexceptions.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not detect floating-point exceptions.]]\n[[=yes=] [Detect floating-point exceptions, if supported.]]\n]\n\n[envar BOOST_TEST_DETECT_FP_EXCEPTIONS]\n\n[endsect]\n\n[section =--detect_memory_leaks=]\n\nIf the execution environment supports the detection of memory leaks,\nthis argument controls whether or not the test runner reports memory leaks.\nAfter running the tests, a memory leak report is issued showing the allocation\nnumber and the amount of memory leaked.\n\nValues greater than =1= for this argument cause a trap to the debugger for\na particular memory allocation number.  Currently, this option is only\nimplemented for Microsoft compilers.\n\n[table\n[[Value] [Meaning]]\n[[=0=] [Do not detect memory leaks.]]\n[[[*=1=] (default)] [Detect memory leaks and issue a memory leak report.]]\n[[[~number]] [Break on allocation [~number].]]\n]\n\n[envar BOOST_TEST_DETECT_MEMORY_LEAKS]\n\n[endsect]\n\n[section:log_format =--log_format=]\n\nThis argument controls the format of the test runner output.  The value\nis case insensitive.  See [link test.reference.runner.output.log test\nrunner log] for more information on the log.\n\n[table\n[[Value] [Meaning]]\n[[[*=HRF=] (default)] [Human readable format output.]]\n[[=XML=] [XML format output.]]\n]\n\n[envar BOOST_TEST_LOG_FORMAT]\n\n[endsect]\n\n[section:log_level =--log_level=]\n\nThis argument controls the level of test runner output.  The values are\ncumulative, with each increase in log level including all messages at\nlower levels.  By default, only errors are reported.\nSee [link test.reference.runner.output.log test\nrunner log] for more information on the log.\n\n[table\n[[Value] [Meaning]]\n[[=nothing=] [Do not report any information.]]\n[[=fatal_error=] [Report all user or system fatal errors, such as memory access violation.]]\n[[=system_error=] [Report system non-fatal errors, such as timeout or floating-point exception.]]\n[[=cpp_exception=] [Report uncaught C++ exceptions.]]\n[[[*=error=] (default)] [Report test failures.]]\n[[=warning=] [Report test warnings.]]\n[[=message=] [Report test messages; see __boost_test_message__.]]\n[[=test_suite=] [Report entering and leaving every test case and test suite.]]\n[[=success=] [Report all successful assertions.]]\n[[=all=] [Report everything.]]\n]\n\n[envar BOOST_TEST_LOG_LEVEL]\n\n[endsect]\n\n[section:log_sink =--log_sink=]\n\nThis argument controls the destination, or sink, of the test runner log.\nSee [link test.reference.runner.output.log test\nrunner log] for more information on the log.\n\n[table\n[[Value] [Meaning]]\n[[[*=stdout=] (default)] [The test runner log is sent to the standard output stream.]]\n[[=stderr=] [The test runner log is sent to the standard error stream.]]\n[[[~file]] [The test runner log is sent to the file [~file].]]\n]\n\n[envar BOOST_TEST_LOG_SINK]\n\n[endsect]\n\n[section:output_format =--output_format=]\n\nThis argument combines __log_format__ and __report_format__.\nSee [link test.reference.runner.output.log test\nrunner log] for more information on the log.\nSee [link test.reference.runner.output.report test\nrunner report] for more information on the report.\n\n[table\n[[Value] [Meaning]]\n[[[*=HRF=] (default)] [Human readable format output.]]\n[[=XML=] [XML format output.]]\n]\n\n[envar BOOST_TEST_OUTPUT_FORMAT]\n\n[endsect]\n\n[section =--random=]\n\nThis argument controls whether or not the test runner will execute tests\nin a random order.  This argument can also provide a seed for the random\nnumber generator used to run tests in a random order.\n\n[table\n[[Value] [Meaning]]\n[[[*=0=] (default)] [Run tests in registration order.]]\n[[=1=] [Run tests in a random order, using the current time as the seed.]]\n[[[~n]] [Run tests in a random order, using [~n] as the seed.]]\n]\n\n[envar BOOST_TEST_RANDOM]\n\n[endsect]\n\n[section:report_format =--report_format=]\n\nThis argument controls the format of the test report.\nSee [link test.reference.runner.output.report test\nrunner report] for more information on the report.\n\n[table\n[[Value] [Meaning]]\n[[[*=HRF=] (default)] [Human readable format output.]]\n[[=XML=] [XML format output.]]\n]\n\n[envar BOOST_TEST_REPORT_FORMAT]\n\n[endsect]\n\n[section:report_level =--report_level=]\n\nThis argument controls the level of the test report.  The levels are\ncumulative, with each successive level incorporating the output of all\nthe previous levels.\nSee [link test.reference.runner.output.report test\nrunner report] for more information on the report.\n\n[table\n[[Value] [Meaning]]\n[[=no=] [No test report.]]\n[[[*=confirm=] (default)] [Confirmation test report.]]\n[[=short=] [Short test report.]]\n[[=detailed=] [Detailed test report.]]\n]\n\n[envar BOOST_TEST_REPORT_LEVEL]\n\n[endsect]\n\n[section:report_sink =--report_sink=]\n\nThis argument controls the destination, or sink, of the test runner report.\nSee [link test.reference.runner.output.report test\nrunner report] for more information on the report.\n\n[table\n[[Value] [Meaning]]\n[[=stdout=] [The test report is sent to the standard output stream.]]\n[[[*=stderr=] (default)] [The test report is sent to the standard error stream.]]\n[[[~file]] [The test report is sent to the file [~file].]]\n]\n\n[envar BOOST_TEST_REPORT_SINK]\n\n[endsect]\n\n[section =--result_code=]\n\nThis argument controls whether or not the test runner returns an exit\ncode corresponding to a summary of the test execution or zero.  The summary\nresult code is determined as follows:\n\n[table\n[[Result Code] [Description]]\n[[0 (=boost::exit_success=)] [All executed tests passed.]]\n[[200 (=boost::exit_exception_failure=)] [Failure due to uncaught exception.]]\n[[201 (=boost::exit_test_failure=)] [One or more executed tests failed.]]\n]\n\n[table\n[[Value] [Meaning]]\n[[=no=] [Always return zero.]]\n[[[*=yes=] (default)] [Return a status code indicating the summary of the tests executed.]]\n]\n\n[envar BOOST_TEST_RESULT_CODE]\n\n[endsect]\n\n[section:run_test =--run_test=]\n\nThis argument controls which test cases will be executed.  The value is\na comma separated list of test specifiers.  Test cases are arranged as\nleaves on a tree structure, with every test case belonging to a test suite.\nThe test runner always creates a master test suite.  Named test suites are\nchildren of the master test suite or another named test suite.  Any test\ncase that is not the child of a named test suite is a child of the unnamed\nmaster test suite.\n\nTest specifiers select test cases or suites by naming the path from the\nunnamed master test suite to the case or suite, similar to a full path to\na file in a hierarchical directory structure.  A test specifier is one or\nmore path specifiers, separated by a slash (=/=).  A test specifier begins\nat the master test suite and proceeds down the test tree, naming suites or\ntest cases.\n\nThe argument __report_level__ set to =detailed= can be used to output the\nnames of all the test suites and test cases within those test suites.\n\n[table\n[[Path Specifier] [Tests Selected]]\n[[[~name]] [The test case or suite named [~name].]]\n[[=*=[~name]] [All test cases or suites whose name ends in [~name].]]\n[[[~name]=*=] [All test cases or suites whose name begins with [~name].]]\n[[=*=[~name]=*=] [All test cases or suites whose name contains [~name].]]\n[[=*=] [All test cases or suites.]]\n[[[~spec1]=,=[~spec2]=,=[~...]] [The test cases or suites with the given specifier.]]\n[[[~spec1]=/=[~spec2]] [The test cases or suites matched by [~spec2] in the\n    test suite matched by [~spec1].]]\n]\n\n[envar BOOST_TESTS_TO_RUN]\n\n[endsect]\n\n[section =--show_progress=]\n\nThis parameter instructs the test runner to print progress through the\ntest cases.  The test runner has no way of determining the length of time\neach test case will consume; the progress percentage is determined by\ncounting test cases.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not show test execution progress.]]\n[[=yes=] [Show test execution progress.]]\n]\n\n[envar BOOST_TEST_SHOW_PROGRESS]\n\n[endsect]\n\n[section =--use_alt_stack=]\n\nThis parameter instructs the test runner to use an alternate stack for\nsignals processing on platforms where this is supported.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not use an alternate stack.]]\n[[=yes=] [Use an alternate stack, where supported.]]\n]\n\n[envar BOOST_TEST_USE_ALT_STACK]\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-runner-argument.qbk.bak",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[template envar[name]\n[*Environment variable]: [^[name]]\n]\n\n[section:argument Command Line Arguments]\n\n[table Command Line Argument Summary\n[[Argument]                 [Description]]\n[[=--auto_start_dbg=]       [Automatically attach debugger in case of system failure]]\n[[=--build_info=]           [Print build information]]\n[[=--catch_system_errors=]  [Catch system errors]]\n[[=--detect_fp_exceptions=] [Detect floating-point exceptions]]\n[[=--detect_memory_leaks=]  [Detect memory leaks]]\n[[=--help=]                 [Print out a summary of test runner options]]\n[[=--log_format=]           [The format of the test log]]\n[[=--log_level=]            [The level of logging reported]]\n[[=--log_sink=]             [The log sink name]]\n[[=--output_format=]        [The output format]]\n[[=--random=]               [Random number seed]]\n[[=--report_format=]        [The test results report format]]\n[[=--report_level=]         [The test results report level]]\n[[=--report_sink=]          [The report sink name]]\n[[=--result_code=]          [Return result code]]\n[[=--run_test=]             [Tests to run]]\n[[=--show_progress=]        [Show execution progress]]\n[[=--use_alt_stack=]        [Use alternative stack]]\n[[=--wait_for_debugger=]    [Wait for the debugger to attach to the test runner.]]\n]\n\nThe functionality of each command-line option can also be invoked with an\nenvironment variable.  The description for each option gives the environment\nvariable associated with that option.\n\n[section:auto_start_dbg =--auto_start_dbg=]\n\nThis argument controls whether or not a debugger is attached to the test\nrunner when a fatal system error occurs.  A fatal system error includes\nUnix/POSIX signals, C++ exceptions and Win32 structured exceptions.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not attach a debugger to when a fatal system error occurs.]]\n[[=yes=] [Attach the default debugger when a fatal system error occurs.]]\n]\n\n[envar BOOST_TEST_AUTO_START_DBG]\n\n[endsect]\n\n[section =--build_info=]\n\nThis argument causes the test runner to report information about the\nbuild environment before running the tests.  If the argument is specified\nbut no value is given, then a value of =yes= is assumed.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not report build information.]]\n[[=yes=] [Report build information.]]\n]\n\n[envar BOOST_TEST_BUILD_INFO]\n\n[endsect]\n\n[section =--catch_system_errors=]\n\nThis argument controls whether or not the test runner catches fatal system\nerrors.\n\n[table\n[[Value] [Meaning]]\n[[=no=] [Do not handle fatal system errors.]]\n[[[*=yes=] (default)] [Handle fatal system errors.]]\n]\n\n[envar BOOST_TEST_CATCH_SYSTEM_ERRORS]\n\n[endsect]\n\n[section =--detect_fp_exceptions=]\n\nIf the execution environment supoprts floating-point exceptions, this\nargument controls whether or not the test runner will detect floating-point\nexceptions.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not detect floating-point exceptions.]]\n[[=yes=] [Detect floating-point exceptions, if supported.]]\n]\n\n[envar BOOST_TEST_DETECT_FP_EXCEPTIONS]\n\n[endsect]\n\n[section =--detect_memory_leaks=]\n\nIf the execution environment supports the detection of memory leaks,\nthis argument controls whether or not the test runner reports memory leaks.\nAfter running the tests, a memory leak report is issued showing the allocation\nnumber and the amount of memory leaked.\n\nValues greater than =1= for this argument cause a trap to the debugger for\na particular memory allocation number.  Currently, this option is only\nimplemented for Microsoft compilers.\n\n[table\n[[Value] [Meaning]]\n[[=0=] [Do not detect memory leaks.]]\n[[[*=1=] (default)] [Detect memory leaks and issue a memory leak report.]]\n[[[~number]] [Break on allocation [~number].]]\n]\n\n[envar BOOST_TEST_DETECT_MEMORY_LEAKS]\n\n[endsect]\n\n[section:log_format =--log_format=]\n\nThis argument controls the format of the test runner output.  The value\nis case insensitive.  See [link test.reference.runner.output.log test\nrunner log] for more information on the log.\n\n[table\n[[Value] [Meaning]]\n[[[*=HRF=] (default)] [Human readable format output.]]\n[[=XML=] [XML format output.]]\n]\n\n[envar BOOST_TEST_LOG_FORMAT]\n\n[endsect]\n\n[section:log_level =--log_level=]\n\nThis argument controls the level of test runner output.  The values are\ncumulative, with each increase in log level including all messages at\nlower levels.  By default, only errors are reported.\nSee [link test.reference.runner.output.log test\nrunner log] for more information on the log.\n\n[table\n[[Value] [Meaning]]\n[[=nothing=] [Do not report any information.]]\n[[=fatal_error=] [Report all user or system fatal errors, such as memory access violation.]]\n[[=system_error=] [Report system non-fatal errors, such as timeout or floating-point exception.]]\n[[=cpp_exception=] [Report uncaught C++ exceptions.]]\n[[[*=error=] (default)] [Report test failures.]]\n[[=warning=] [Report test warnings.]]\n[[=message=] [Report test messages; see __boost_test_message__.]]\n[[=test_suite=] [Report entering and leaving every test case and test suite.]]\n[[=success=] [Report all successful assertions.]]\n[[=all=] [Report everything.]]\n]\n\n[envar BOOST_TEST_LOG_LEVEL]\n\n[endsect]\n\n[section:log_sink =--log_sink=]\n\nThis argument controls the destination, or sink, of the test runner log.\nSee [link test.reference.runner.output.log test\nrunner log] for more information on the log.\n\n[table\n[[Value] [Meaning]]\n[[[*=stdout=] (default)] [The test runner log is sent to the standard output stream.]]\n[[=stderr=] [The test runner log is sent to the standard error stream.]]\n[[[~file]] [The test runner log is sent to the file [~file].]]\n]\n\n[envar BOOST_TEST_LOG_SINK]\n\n[endsect]\n\n[section:output_format =--output_format=]\n\nThis argument combines __log_format__ and __report_format__.\nSee [link test.reference.runner.output.log test\nrunner log] for more information on the log.\nSee [link test.reference.runner.output.report test\nrunner report] for more information on the report.\n\n[table\n[[Value] [Meaning]]\n[[[*=HRF=] (default)] [Human readable format output.]]\n[[=XML=] [XML format output.]]\n]\n\n[envar BOOST_TEST_OUTPUT_FORMAT]\n\n[endsect]\n\n[section =--random=]\n\nThis argument controls whether or not the test runner will execute tests\nin a random order.  This argument can also provide a seed for the random\nnumber generator used to run tests in a random order.\n\n[table\n[[Value] [Meaning]]\n[[[*=0=] (default)] [Run tests in registration order.]]\n[[=1=] [Run tests in a random order, using the current time as the seed.]]\n[[[~n]] [Run tests in a random order, using [~n] as the seed.]]\n]\n\n[envar BOOST_TEST_RANDOM]\n\n[endsect]\n\n[section:report_format =--report_format=]\n\nThis argument controls the format of the test report.\nSee [link test.reference.runner.output.report test\nrunner report] for more information on the report.\n\n[table\n[[Value] [Meaning]]\n[[[*=HRF=] (default)] [Human readable format output.]]\n[[=XML=] [XML format output.]]\n]\n\n[envar BOOST_TEST_REPORT_FORMAT]\n\n[endsect]\n\n[section:report_level =--report_level=]\n\nThis argument controls the level of the test report.  The levels are\ncumulative, with each successive level incorporating the output of all\nthe previous levels.\nSee [link test.reference.runner.output.report test\nrunner report] for more information on the report.\n\n[table\n[[Value] [Meaning]]\n[[=no=] [No test report.]]\n[[[*=confirm=] (default)] [Confirmation test report.]]\n[[=short=] [Short test report.]]\n[[=detailed=] [Detailed test report.]]\n]\n\n[envar BOOST_TEST_REPORT_LEVEL]\n\n[endsect]\n\n[section:report_sink =--report_sink=]\n\nThis argument controls the destination, or sink, of the test runner report.\nSee [link test.reference.runner.output.report test\nrunner report] for more information on the report.\n\n[table\n[[Value] [Meaning]]\n[[=stdout=] [The test report is sent to the standard output stream.]]\n[[[*=stderr=] (default)] [The test report is sent to the standard error stream.]]\n[[[~file]] [The test report is sent to the file [~file].]]\n]\n\n[envar BOOST_TEST_REPORT_SINK]\n\n[endsect]\n\n[section =--result_code=]\n\nThis argument controls whether or not the test runner returns an exit\ncode corresponding to a summary of the test execution or zero.  The summary\nresult code is determined as follows:\n\n[table\n[[Result Code] [Description]]\n[[0 (=boost::exit_success=)] [All executed tests passed.]]\n[[200 (=boost::exit_exception_failure=)] [Failure due to uncaught exception.]]\n[[201 (=boost::exit_test_failure=)] [One or more executed tests failed.]]\n]\n\n[table\n[[Value] [Meaning]]\n[[=no=] [Always return zero.]]\n[[[*=yes=] (default)] [Return a status code indicating the summary of the tests executed.]]\n]\n\n[envar BOOST_TEST_RESULT_CODE]\n\n[endsect]\n\n[section:run_test =--run_test=]\n\nThis argument controls which test cases will be executed.  The value is\na comma separated list of test specifiers.  Test cases are arranged as\nleaves on a tree structure, with every test case belonging to a test suite.\nThe test runner always creates a master test suite.  Named test suites are\nchildren of the master test suite or another named test suite.  Any test\ncase that is not the child of a named test suite is a child of the unnamed\nmaster test suite.\n\nTest specifiers select test cases or suites by naming the path from the\nunnamed master test suite to the case or suite, similar to a full path to\na file in a hierarchical directory structure.  A test specifier is one or\nmore path specifiers, separated by a slash (=/=).  A test specifier begins\nat the master test suite and proceeds down the test tree, naming suites or\ntest cases.\n\nThe argument __report_level__ set to =detailed= can be used to output the\nnames of all the test suites and test cases within those test suites.\n\n[table\n[[Path Specifier] [Tests Selected]]\n[[[~name]] [The test case or suite named [~name].]]\n[[=*=[~name]] [All test cases or suites whose name ends in [~name].]]\n[[[~name]=*=] [All test cases or suites whose name begins with [~name].]]\n[[=*=[~name]=*=] [All test cases or suites whose name contains [~name].]]\n[[=*=] [All test cases or suites.]]\n[[[~spec1]=,=[~spec2]=,=[~...]] [The test cases or suites with the given specifier.]]\n[[[~spec1]=/=[~spec2]] [The test cases or suites matched by [~spec2] in the\n    test suite matched by [~spec1].]]\n]\n\n[envar BOOST_TESTS_TO_RUN]\n\n[endsect]\n\n[section =--show_progress=]\n\nThis parameter instructs the test runner to print progress through the\ntest cases.  The test runner has no way of determining the length of time\neach test case will consume; the progress percentage is determined by\ncounting test cases.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not show test execution progress.]]\n[[=yes=] [Show test execution progress.]]\n]\n\n[envar BOOST_TEST_SHOW_PROGRESS]\n\n[endsect]\n\n[section =--use_alt_stack=]\n\nThis parameter instructs the test runner to use an alternate stack for\nsignals processing on platforms where this is supported.\n\n[table\n[[Value] [Meaning]]\n[[[*=no=] (default)] [Do not use an alternate stack.]]\n[[=yes=] [Use an alternate stack, where supported.]]\n]\n\n[envar BOOST_TEST_USE_ALT_STACK]\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-runner-output.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:output Test Output]\n\n[section:log Test Log]\n\nThe test log contains detailed information on every assertion in every test\ncase.\nThe log can be formatted as plain human readable text or as XML and can be\nsent to the standard output stream, the standard error stream or a file.\n\nThe amount of detail in the log is set with the __log_level__ option.\nThe format of the log is set with the __log_format__ option.\nThe destination of the log is set with the __log_sink__ option.\nThe __output_format__ option sets both the log format and the report format.\n\nThe XML format for the test log conforms to the schema\n[@boost:/libs/test/doc/src/UTF.log.xsd UTF.log.xsd].\n\n[endsect]\n\n[section:report Test Report]\n\nThe report contains summary information about the test cases\nexecuted and the count of failures.\nThe report can be formatted as plain human readable text or as XML and can be\nsent to the standard output stream, standard error stream or a file.\n\nThe amount of detail in the report is controlled by the __report_level__\noption.\nThe format of the report can be changed with the __report_format__ option.\nThe destination of the report can be set with the __report_sink__ option.\nThe __output_format__ option sets both the report format and the log format.\n\nThe XML format for the test report conforms to the schema\n[@boost:/libs/test/doc/src/UTF.report.xsd UTF.report.xsd].\n\n[endsect]\n\n[section:boost_test_checkpoint =BOOST_TEST_CHECKPOINT=]\n\n=BOOST_TEST_CHECKPOINT(=[~message]=)= registers a test case checkpoint\nand associated [~message] with the test runner.  A checkpoint includes\nthe source file and line number where the macro was invoked.\nIf the test case is aborted unexpectedly, the source location and\nmessage associated with the last registered checkpoint is emitted into\nthe log.  Checkpoints can be used to identify the location of an unexpected\nfailure within a block of test case code.  The [~message] is applied to\nan output stream with `operator<<` and can include other invocations of\n`operator<<`.\n\n[example_checkpoint]\n\n[endsect]\n\n[section:boost_test_message =BOOST_TEST_MESSAGE=]\n\n=BOOST_TEST_MESSAGE(=[~message]=)= unconditionally writes the [~message]\ninto the test runner log file.  Unlike __boost_test_checkpoint__ no\nfile and line number information is written into the log file.  The\n[~message] is applied to an output stream with `operator<<` and can\ninclude other invocations of `operator<<`.\n\n[example_test_message]\n\n[endsect]\n\n[section =BOOST_TEST_PASSPOINT=]\n\n=BOOST_TEST_PASSPOINT()= is similar to __boost_test_checkpoint__, but \nonly registers a source file location with the test runner.\n\n[example_passpoint]\n \n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-runner.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:runner Test Runner]\n\n[include:test ref-runner-argument.qbk]\n\n[include:test ref-runner-output.qbk]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-test-case.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:test_case Test Cases]\n\nA test case is a named body of code providing the three phases of a test:\nsetup, exercise and verify.  A test case is most conveniently created using\none of the provided test case macros listed in the following table.\n\n[table Test Case Macros\n[[Macro] [Description]]\n[[=BOOST_AUTO_TEST_CASE(=[~name]=)=]\n    [Creates test case [~name] and automatically registers it with the test\n    runner.]]\n[[=BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(=[~name], [~count]=)=]\n    [Informs the test runner that test case [~name] should result in\n    [~count] failures.]]\n[[=BOOST_AUTO_TEST_CASE_TEMPLATE(=[~name], [~T], [~types]=)=]\n    [Automatically registers a test case [~name] parameterized by the\n    template argument [~T] over the collection of [~types].]]\n[[=BOOST_FIXTURE_TEST_CASE(=[~name], [~fixture]=)=]\n    [Creates test case [~name] derived from the fixture [~fixture] and\n    automatically registers it with the test runner.]]\n[[=BOOST_PARAM_TEST_CASE(=[~fn], [~begin], [~end]=)=]\n    [Manually creates a parameterized test case using the supplied callable\n    object [~fn] and parameter iterators [~begin] and [~end].]]\n[[=BOOST_PARAM_CLASS_TEST_CASE(=[~fn], [~instance], [~begin], [~end]=)=]\n    [Manually creates a parameterized test case using the supplied callable\n    object [~fn], class instance [~instance] and parameter iterators\n    [~begin] and [~end].]]\n[[=BOOST_TEST_CASE(=[~fn]=)=]\n    [Manually creates a test case using the supplied callable object [~fn].]]\n[[=BOOST_TEST_CASE_TEMPLATE(=[~name], [~types]=)=]\n    [Manually creates a set of test cases from the template test case\n    [~name] for each type in [~types].]]\n[[=BOOST_TEST_CASE_TEMPLATE_FUNCTION(=[~name], [~T]=)=]\n    [Manually creates a template test case [~name] parameterized by the\n    template argument [~T].]]\n]\n\n[section:boost_auto_test_case =BOOST_AUTO_TEST_CASE=]\n\n=BOOST_AUTO_TEST_CASE(=[~name]=)= creates a test case class, a test case\ninvocation function, a test case unique identifier, registers the invocation\nfunction as a test case and begins the definition of the test method on\nthe test class.  The test case class [~name] is derived from\n=BOOST_AUTO_TEST_CASE_FIXTURE= and contains a single method named\n=test_method=.  The test invocation function instantiates the test case\nclass and invokes the test case method.  Test log checkpoints are made\nbefore the test case class is instantiated and bracketing the test\nmethod invocation.  This provides diagnostic checkpoints should a runtime\nerror cause a test case to be aborted before any assertions are made.\n\n[heading Example Source Code]\n\n* Tutorials:\n * [link test.tutorials.hello_test Hello, Test!]\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/hello_test/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/hello_test/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/hello_test/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[section:boost_auto_test_case_expected_failures =BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES=]\n\n=BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(=[~name], [~n]=)= is used to\ndecorate a test case with an expected failure count of [~n].  It should\nappear immediately preceding the macro that defines the test case, such as\n__boost_auto_test_case__ or __boost_fixture_test_case__.  It can be used\nfor test cases declared at file scope or within a test suite.  This macro\nshould only be used in the most exceptional of circumstances.  Unit tests\nare designed to provide a safety net of regression tests against our code.\nIf we allow tests to stay failing, we are less motivated to correct them.\n\nAs a temporary measure, we may wish to annotate certain tests as known\nfailures.  The count [~n] is the number of expected failed assertions\nduring the execution of the test case.  When using the [link\ntest.reference.assertion.levels =CHECK=] level assertions, the total\nfailure count can be larger than one since the test case continues executing\npast a failed assertion.  When using =REQUIRE= level assertions, the total\nfailure count will only be one as execution of the test case terminates on\nthe first failed assertion.\n\nIf =CHECK= level assertions are used and the number of failures is less\nthan or equal to [~n], the test runner will return a status code of =0=.\nIf the number of failures is greater than [~n], the test runner will\nreturn a status code of =201=.  If =REQUIRE= level assertions are used,\nthe number of expected failures can be at most one and the test runner\nwill return a status code of =200= when one failed assertion is found.\n\n[import examples/auto_test_case_expected_failures.cpp]\n[expected_failures]\n\n[note When using the compiler formatted test output, Visual Studio\ninterprets the failed assertion output as a detected error, it will fail\nthe Post-Build event mechanism recommended in [link\ntest.guide.test_case_design Test Case Design and Maintenance].]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/auto_test_case_expected_failures.cpp auto_test_case_expected_failures.cpp]\n\n[endsect]\n\n[section:boost_auto_test_case_template =BOOST_AUTO_TEST_CASE_TEMPLATE=]\n\n=BOOST_AUTO_TEST_CASE_TEMPLATE(=[~name], [~var], [~types]=)= declares a\ntest case [~name] parameterized by a single template argument [~var]\nthat is evaluated for each type in [~types].  This allows you to write a\ntest case that exercises an invariant across a collection of types.  The\nmacro expands into one test case for each type in [~types], with the\ntemplate argument [~var] assigned to each type.  The [~types] argument\nmust be a Boost.MPL type list and must be defined as a =typedef=.\n\n[import examples/auto_test_case_template.cpp]\n[auto_test_case_template]\n\n[heading Example Source Code]\n\n* Tests:\n * [@boost:/libs/test/doc/src/examples/auto_test_case_template.cpp auto_test_case_template.cpp]\n\n[endsect]\n\n[section:boost_fixture_test_case =BOOST_FIXTURE_TEST_CASE=]\n\n=BOOST_FIXTURE_TEST_CASE(=[~name], [~fixture]=)= defines a test case class\n[~name] that derives from [~fixture].  If the test case is declared within\na test suite that also has a test fixture, then to get the cumulative\neffect of both fixtures the test case fixture should derive from the test\nsuite's fixture.  Otherwise, the test case fixture will replace the test\nsuite fixture for a test case defined with =BOOST_FIXTURE_TEST_CASE=.\n\n[heading Example Source Code]\n\n* Tutorials:\n * [link test.tutorials.testing_with_fixtures Testing With Fixtures]\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/testing_with_fixtures/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[section:boost_global_fixture =BOOST_GLOBAL_FIXTURE=]\n\n=BOOST_GLOBAL_FIXTURE(=[~name]=)= declares a global fixture that is\nconstructed before executing any test cases and is destroyed after\nexecuting all test cases.  If more than one global fixture is defined in\na single source file, the fixtures are constructed in the order they\nappear in the source file and destroyed in the reverse order.  If global\nfixtures are defined in multiple source files, the order in which global\nfixtures are initialized between source files is implementation dependent.\n\nBecause global fixtures are not created and destroyed for each test case,\nthey represent shared state that prevents test cases from executing\nindependently from each other.  For this reason, test case fixtures\ncreated with __boost_fixture_test_case__ and test suite fixtures created\nwith __boost_fixture_test_suite__ are preferred over global fixtures.\n\n[import examples/global_fixture.cpp][global_fixture]\n\n[heading Example Source Code]\n\n* Tests:\n * [@boost:/libs/test/doc/src/examples/another_global_fixture.cpp another_global_fixture.cpp]\n * [@boost:/libs/test/doc/src/examples/global_fixture.cpp global_fixture.cpp]\n\n[endsect]\n\n[section:boost_param_test_case =BOOST_PARAM_TEST_CASE=]\n\n=BOOST_PARAM_TEST_CASE(=[~fn], [~begin], [~end]=)= creates a series of\ntest cases that invoking the callable object [~fn] on the items in the\ncollection defined by [~begin] and [~end].  The test case returned by\n=BOOST_PARAM_TEST_CASE= must be added to a test suite in an initialization\nfunction for the tests to be executed.  The iterators [~begin] and [~end]\nmust be valid at the time the test case executes and not just at the time\nthe test case is created.\n\n[import examples/param_test_case.cpp][param_test_case]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/param_test_case.cpp param_test_case.cpp]\n\n[endsect]\n\n[section:boost_param_class_test_case =BOOST_PARAM_CLASS_TEST_CASE=]\n\n=BOOST_PARAM_CLASS_TEST_CASE(=[~memfn], [~instance], [~begin], [~end]=)=\nworks similarly to __boost_param_test_case__.  It creates a collection of\ntest cases that invoke the member function [~memfn] on the instance pointer\n[~instance].  The member function is passed an item obtained by iterating\nthe collection defined by the [~begin] and [~end] iterators.  The [~instance]\npointer must be passed as a =boost::shared_ptr= to ensure the lifetime\nof the instance exceeds that of any test case using the instance.\nThe test case returned by =BOOST_PARAM_CLASS_TEST_CASE= must be added to\na test suite in an initialization function for the tests to be executed.  \n\n[import examples/param_class_test_case.cpp][param_class_test_case]\n\n[note The single [~instance] is shared among all test cases and therefore\nshould not keep any shared state that may couple independent test cases.\nIn this example, the output string stream is created fresh inside each\ntest method and not shared between calls to the method.]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/param_class_test_case.cpp param_class_test_case.cpp]\n\n[endsect]\n\n[section:boost_test_case =BOOST_TEST_CASE=]\n\n=BOOST_TEST_CASE(=[~fn]=)= creates a new test case named \"fn\" that executes\nthe callable function [~fn].  The test case returned by =BOOST_TEST_CASE=\nmust be added to a test suite in an initialization function for the tests\nto be executed.  \n\n[import examples/test_case.cpp][test_case]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/test_case.cpp test_case.cpp]\n\n[endsect]\n\n[section:boost_test_case_template =BOOST_TEST_CASE_TEMPLATE=]\n\n=BOOST_TEST_CASE_TEMPLATE(=[~name], [~types]=)= manually creates a set of\ntest cases from the template test case [~name] for each type in [~types].\nThe test case returned by =BOOST_TEST_CASE_TEMPLATE= must be added to a\ntest suite in an initialization function for the tests to be executed.\nThe test case function is defined with the\n__boost_test_case_template_function__ macro.\n\n[import examples/test_case_template.cpp][test_case_template]\n\n[heading Example Source Code]\n\n* Tests:\n * [@boost:/libs/test/doc/src/examples/test_case_template.cpp test_case_template.cpp]\n\n[endsect]\n\n[section:boost_test_case_template_function =BOOST_TEST_CASE_TEMPLATE_FUNCTION=]\n\n=BOOST_TEST_CASE_TEMPLATE_FUNCTION(=[~name], [~T]=)= defines a test\ncase function named [~name] that is parameterized by a type parameter\n[~T].  The defined functions are then available for registration as\nparameterized test cases with __boost_test_case_template__.\n\n[test_case_template_function]\n\n[heading Example Source Code]\n\n* Tests:\n * [@boost:/libs/test/doc/src/examples/test_case_template.cpp test_case_template.cpp]\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-test-case.qbk.bak",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:test_case Test Cases]\n\nA test case is a named body of code providing the three phases of a test:\nsetup, exercise and verify.  A test case is most conveniently created using\none of the provided test case macros listed in the following table.\n\n[table Test Case Macros\n[[Macro] [Description]]\n[[=BOOST_AUTO_TEST_CASE(=[~name]=)=]\n    [Creates test case [~name] and automatically registers it with the test\n    runner.]]\n[[=BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(=[~name], [~count]=)=]\n    [Informs the test runner that test case [~name] should result in\n    [~count] failures.]]\n[[=BOOST_AUTO_TEST_CASE_TEMPLATE(=[~name], [~T], [~types]=)=]\n    [Automatically registers a test case [~name] parameterized by the\n    template argument [~T] over the collection of [~types].]]\n[[=BOOST_FIXTURE_TEST_CASE(=[~name], [~fixture]=)=]\n    [Creates test case [~name] derived from the fixture [~fixture] and\n    automatically registers it with the test runner.]]\n[[=BOOST_PARAM_TEST_CASE(=[~fn], [~begin], [~end]=)=]\n    [Manually creates a parameterized test case using the supplied callable\n    object [~fn] and parameter iterators [~begin] and [~end].]]\n[[=BOOST_PARAM_CLASS_TEST_CASE(=[~fn], [~instance], [~begin], [~end]=)=]\n    [Manually creates a parameterized test case using the supplied callable\n    object [~fn], class instance [~instance] and parameter iterators\n    [~begin] and [~end].]]\n[[=BOOST_TEST_CASE(=[~fn]=)=]\n    [Manually creates a test case using the supplied callable object [~fn].]]\n[[=BOOST_TEST_CASE_TEMPLATE(=[~name], [~types]=)=]\n    [Manually creates a set of test cases from the template test case\n    [~name] for each type in [~types].]]\n[[=BOOST_TEST_CASE_TEMPLATE_FUNCTION(=[~name], [~T]=)=]\n    [Manually creates a template test case [~name] parameterized by the\n    template argument [~T].]]\n]\n\n[section:boost_auto_test_case =BOOST_AUTO_TEST_CASE=]\n\n=BOOST_AUTO_TEST_CASE(=[~name]=)= creates a test case class, a test case\ninvocation function, a test case unique identifier, registers the invocation\nfunction as a test case and begins the definition of the test method on\nthe test class.  The test case class [~name] is derived from\n=BOOST_AUTO_TEST_CASE_FIXTURE= and contains a single method named\n=test_method=.  The test invocation function instantiates the test case\nclass and invokes the test case method.  Test log checkpoints are made\nbefore the test case class is instantiated and bracketing the test\nmethod invocation.  This provides diagnostic checkpoints should a runtime\nerror cause a test case to be aborted before any assertions are made.\n\n[heading Example Source Code]\n\n* Tutorials:\n * [link test.tutorials.hello_test Hello, Test!]\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/hello_test/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/hello_test/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/hello_test/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[section:boost_auto_test_case_expected_failures =BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES=]\n\n=BOOST_AUTO_TEST_CASE_EXPECTED_FAILURES(=[~name], [~n]=)= is used to\ndecorate a test case with an expected failure count of [~n].  It should\nappear immediately preceding the macro that defines the test case, such as\n__boost_auto_test_case__ or __boost_fixture_test_case__.  It can be used\nfor test cases declared at file scope or within a test suite.  This macro\nshould only be used in the most exceptional of circumstances.  Unit tests\nare designed to provide a safety net of regression tests against our code.\nIf we allow tests to stay failing, we are less motivated to correct them.\n\nAs a temporary measure, we may wish to annotate certain tests as known\nfailures.  The count [~n] is the number of expected failed assertions\nduring the execution of the test case.  When using the [link\ntest.reference.assertion.levels =CHECK=] level assertions, the total\nfailure count can be larger than one since the test case continues executing\npast a failed assertion.  When using =REQUIRE= level assertions, the total\nfailure count will only be one as execution of the test case terminates on\nthe first failed assertion.\n\nIf =CHECK= level assertions are used and the number of failures is less\nthan or equal to [~n], the test runner will return a status code of =0=.\nIf the number of failures is greather than [~n], the test runner will\nreturn a status code of =201=.  If =REQUIRE= level assertions are used,\nthe number of expected failures can be at most one and the test runner\nwill return a status code of =200= when one failed assertion is found.\n\n[import examples/auto_test_case_expected_failures.cpp]\n[expected_failures]\n\n[note When using the compiler formatted test output, Visual Studio\ninterprets the failed assertion output as a detected error, it will fail\nthe Post-Build event mechanism recommended in [link\ntest.guide.test_case_design Test Case Design and Maintenance].]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/auto_test_case_expected_failures.cpp auto_test_case_expected_failures.cpp]\n\n[endsect]\n\n[section:boost_auto_test_case_template =BOOST_AUTO_TEST_CASE_TEMPLATE=]\n\n=BOOST_AUTO_TEST_CASE_TEMPLATE(=[~name], [~var], [~types]=)= declares a\ntest case [~name] parameterized by a single template argument [~var]\nthat is evaluated for each type in [~types].  This allows you to write a\ntest case that exercises an invariant across a collection of types.  The\nmacro expands into one test case for each type in [~types], with the\ntemplate argument [~var] assigned to each type.  The [~types] argument\nmust be a Boost.MPL type list and must be defined as a =typedef=.\n\n[import examples/auto_test_case_template.cpp]\n[auto_test_case_template]\n\n[heading Example Source Code]\n\n* Tests:\n * [@boost:/libs/test/doc/src/examples/auto_test_case_template.cpp auto_test_case_template.cpp]\n\n[endsect]\n\n[section:boost_fixture_test_case =BOOST_FIXTURE_TEST_CASE=]\n\n=BOOST_FIXTURE_TEST_CASE(=[~name], [~fixture]=)= defines a test case class\n[~name] that derives from [~fixture].  If the test case is declared within\na test suite that also has a test fixture, then to get the cumulative\neffect of both fixtures the test case fixture should derive from the test\nsuite's fixture.  Otherwise, the test case fixture will replace the test\nsuite fixture for a test case defined with =BOOST_FIXTURE_TEST_CASE=.\n\n[heading Example Source Code]\n\n* Tutorials:\n * [link test.tutorials.testing_with_fixtures Testing With Fixtures]\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/testing_with_fixtures/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[section:boost_global_fixture =BOOST_GLOBAL_FIXTURE=]\n\n=BOOST_GLOBAL_FIXTURE(=[~name]=)= declares a global fixture that is\nconstructed before executing any test cases and is destroyed after\nexecuting all test cases.  If more than one global fixture is defined in\na single source file, the fixtures are constructed in the order they\nappear in the source file and destroyed in the reverse order.  If global\nfixtures are defined in multiple source files, the order in which global\nfixtures are initialized between source files is implementation dependent.\n\nBecause global fixtures are not created and destroyed for each test case,\nthey represent shared state that prevents test cases from executing\nindependently from each other.  For this reason, test case fixtures\ncreated with __boost_fixture_test_case__ and test suite fixtures created\nwith __boost_fixture_test_suite__ are preferred over global fixtures.\n\n[import examples/global_fixture.cpp][global_fixture]\n\n[heading Example Source Code]\n\n* Tests:\n * [@boost:/libs/test/doc/src/examples/another_global_fixture.cpp another_global_fixture.cpp]\n * [@boost:/libs/test/doc/src/examples/global_fixture.cpp global_fixture.cpp]\n\n[endsect]\n\n[section:boost_param_test_case =BOOST_PARAM_TEST_CASE=]\n\n=BOOST_PARAM_TEST_CASE(=[~fn], [~begin], [~end]=)= creates a series of\ntest cases that invoking the callable object [~fn] on the items in the\ncollection defined by [~begin] and [~end].  The test case returned by\n=BOOST_PARAM_TEST_CASE= must be added to a test suite in an initialization\nfunction for the tests to be executed.  The iterators [~begin] and [~end]\nmust be valid at the time the test case executes and not just at the time\nthe test case is created.\n\n[import examples/param_test_case.cpp][param_test_case]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/param_test_case.cpp param_test_case.cpp]\n\n[endsect]\n\n[section:boost_param_class_test_case =BOOST_PARAM_CLASS_TEST_CASE=]\n\n=BOOST_PARAM_CLASS_TEST_CASE(=[~memfn], [~instance], [~begin], [~end]=)=\nworks similarly to __boost_param_test_case__.  It creates a collection of\ntest cases that invoke the member function [~memfn] on the instance pointer\n[~instance].  The member function is passed an item obtained by iterating\nthe collection defined by the [~begin] and [~end] iterators.  The [~instance]\npointer must be passed as a =boost::shared_ptr= to ensure the lifetime\nof the instance exceeds that of any test case using the instance.\nThe test case returned by =BOOST_PARAM_CLASS_TEST_CASE= must be added to\na test suite in an initialization function for the tests to be executed.  \n\n[import examples/param_class_test_case.cpp][param_class_test_case]\n\n[note The single [~instance] is shared among all test cases and therefore\nshould not keep any shared state that may couple independent test cases.\nIn this example, the output string stream is created fresh inside each\ntest method and not shared between calls to the method.]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/param_class_test_case.cpp param_class_test_case.cpp]\n\n[endsect]\n\n[section:boost_test_case =BOOST_TEST_CASE=]\n\n=BOOST_TEST_CASE(=[~fn]=)= creates a new test case named \"fn\" that executes\nthe callable function [~fn].  The test case returned by =BOOST_TEST_CASE=\nmust be added to a test suite in an initialization function for the tests\nto be executed.  \n\n[import examples/test_case.cpp][test_case]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/test_case.cpp test_case.cpp]\n\n[endsect]\n\n[section:boost_test_case_template =BOOST_TEST_CASE_TEMPLATE=]\n\n=BOOST_TEST_CASE_TEMPLATE(=[~name], [~types]=)= manually creates a set of\ntest cases from the template test case [~name] for each type in [~types].\nThe test case returned by =BOOST_TEST_CASE_TEMPLATE= must be added to a\ntest suite in an initialization function for the tests to be executed.\nThe test case function is defined with the\n__boost_test_case_template_function__ macro.\n\n[import examples/test_case_template.cpp][test_case_template]\n\n[heading Example Source Code]\n\n* Tests:\n * [@boost:/libs/test/doc/src/examples/test_case_template.cpp test_case_template.cpp]\n\n[endsect]\n\n[section:boost_test_case_template_function =BOOST_TEST_CASE_TEMPLATE_FUNCTION=]\n\n=BOOST_TEST_CASE_TEMPLATE_FUNCTION(=[~name], [~T]=)= defines a test\ncase function named [~name] that is parameterized by a type parameter\n[~T].  The defined functions are then available for registration as\nparameterized test cases with __boost_test_case_template__.\n\n[test_case_template_function]\n\n[heading Example Source Code]\n\n* Tests:\n * [@boost:/libs/test/doc/src/examples/test_case_template.cpp test_case_template.cpp]\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-test-classes.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:test_classes Test Classes]\n\nMost of the time you will not need to interact with the classes in __test__\nbecause the macro facilities for assertions, test cases and test suites\nhide all the details of the classes.\nIf you are adapting legacy test code to __test__ you may need to interact\nwith these classes in order to leverage existing test code without\nsignificant refactoring of the legacy test code.\n\nThe [link test.reference.test_classes.predicate_result =predicate_result=]\nclass is used to combine a boolean result from a predicate with a custom\nfailure message for reporting additional detail in the context of a failed\nassertion.\nThe [link test.reference.test_classes.test_unit =test_unit=],\n[link test.reference.test_classes.test_case =test_case=],\n[link test.reference.test_classes.test_suite =test_suite=] and\n[link test.reference.test_classes.master_test_suite_t =master_test_suite_t=]\nclasses provide the interface to test suites and their test cases for the\ntest runner.\nThe [link test.reference.test_classes.test_observer =test_observer=],\n[link test.reference.test_classes.unit_test_log_t =unit_test_log_t=]\nand [link test.reference.test_classes.unit_test_log_formatter =unit_test_log_formatter=]\nclasses provide low-level interaction with the test runner log.\n\n[section:predicate_result =predicate_result=]\n\nThe =predicate_result= class combines a boolean result from a predicate\nwith a detailed context message for a failed predicate evaluation.  Usually\nthis class is only used in the internal implementation of the test framework,\nbut a user can define their own custom predicates that return a =predicate_result=\nto support detailed failure messages when an assertion fails.\n\n=predicate_result= is constructable and assignable from =bool=.\nThe =message()= method returns an output string stream that can be used\nto build up a context message.\n\n[import ../../../../boost/test/predicate_result.hpp]\n[predicate_result_decl]\n\nSee __boost_require_message__ for an example using =predicate_result=.\n\n[endsect]\n\n[section:test_unit =test_unit=]\n\nThe =test_unit= class forms the basis of the hierarchical tree of test\ncases.\nTest applications will usually create instances of =test_case=\nor =test_suite=, both of which derive from =test_unit=.\n\n[import ../../../../boost/test/unit_test_suite_impl.hpp][test_unit_decl]\n\n[endsect]\n\n[section:test_case =test_case=]\n\nThe =test_case= class represents a single test case.\nA test case must be added to a test suite reachable from the master test\nsuite in order for the test runner to run the test case.\n\n[test_case_decl]\n\n[endsect]\n\n[section:test_suite =test_suite=]\n\nThe =test_suite= class represents a group of test cases and suites in\nthe test tree hierarchy.\n\n[test_suite_decl]\n\n[endsect]\n\n[section:master_test_suite_t =master_test_suite_t=]\n\nThe master test suite of type =master_test_suite_t= is the starting point\nfor the test runner.\n\n[master_test_suite_t_decl]\n\nYou can obtain a reference to the master test suite with the\n=master_test_suite()= function:\n\n[import ../../../../boost/test/framework.hpp][master_test_suite_decl]\n\n[endsect]\n\n[section:test_observer =test_observer=]\n\nThe =test_observer= class encapsulates observers of test execution.  It\nprovides a simple /null/ style observer behavior.\n\n[import ../../../../boost/test/test_observer.hpp][test_observer_decl]\n\n[endsect]\n\n[section:unit_test_log_t =unit_test_log_t=]\n\nThe =unit_test_log_t= class encapsulates the unit test log.  You obtain\na reference to the single global unit test log instance with the\n=unit_test_log= member.\n\n[import ../../../../boost/test/unit_test_log.hpp][unit_test_log_t_decl]\n\n[endsect]\n\n[section:unit_test_log_formatter =unit_test_log_formatter=]\n\nThe =unit_test_log_formatter= class encapsulates formatting of log events\nfor an output stream.\n\n[import ../../../../boost/test/unit_test_log_formatter.hpp][unit_test_log_formatter_decl]\n\n[endsect]\n\n[section:init_unit_test_func =init_unit_test_func=]\n\nThe =init_unit_test_func= function typedef identifies the signature of\nthe user supplied initialization function.  The initialization function\ncan be used to add custom test cases and test suites to the test tree.\n\n[init_unit_test_func_decl]\n\n[endsect]\n\n[section:unit_test_main =unit_test_main=]\n\nThe =unit_test_main= function provides an implementation of =main= that\ncan be used by a test executable compiled with __boost_test_no_main__.\n\n[import ../../../../boost/test/unit_test.hpp][unit_test_main_decl]\n\n=unit_test_main= initializes the test framework, traverses the test\ntree and reports the result as a the return value of the function.\nUnexpected exceptions and system errors (signals, etc.) are caught and\nmapped to appropriate return values by the function.\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/ref-test-suite.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:test_suite Test Suites]\n\nA test suite is an ordered collection of test cases and other test suites.\nThe test cases in a suite are executed in the order in which they are\nadded to the suite.  When test cases are automatically registered, they\nare added to the test suite in the order of their definition in the source\nfile.\n\n[section:boost_auto_test_suite =BOOST_AUTO_TEST_SUITE=]\n\nThe =BOOST_AUTO_TEST_SUITE(=[~name]=)= macro defines an automatically\nregistered test suite named [~name] and opens a namespace named [~name].\n\nA test suite can be nested\nwithin another test suite.  Each test suite begun with\n=BOOST_AUTO_TEST_SUITE= must be ended with [link\ntest.reference.test_suite.boost_auto_test_suite_end =BOOST_AUTO_TEST_SUITE_END=]\nThe new test suite is registered within its enclosing test suite, or the\nmaster test suite if there is no enclosing test suite.\n\n[heading Example Source Code]\n\n* Tutorials:\n * [link test.tutorials.running_selected_tests Running Selected Tests]\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[section:boost_auto_test_suite_end =BOOST_AUTO_TEST_SUITE_END=]\n\nThe =BOOST_AUTO_TEST_SUITE_END()= macro ends the test suite most recently\ndefined with [link test.reference.test_suite.boost_auto_test_suite =BOOST_AUTO_TEST_SUITE=]\nor [link test.reference.test_suite.boost_fixture_test_suite =BOOST_FIXTURE_TEST_SUITE=].\nThe corresponding namespace created when the test suite was defined is\nclosed by =BOOST_AUTO_TEST_SUITE_END=.\n\n[heading Example Source Code]\n\n* Tutorials:\n * [link test.tutorials.running_selected_tests Running Selected Tests]\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[section:boost_fixture_test_suite =BOOST_FIXTURE_TEST_SUITE=]\n\nThe =BOOST_FIXTURE_TEST_SUITE(=[~suite], [~fixture]=)= macro begins the\ntest suite named [~suite] and uses [~fixture] as a test fixture to be\nused as the base class of all test case classes created in the suite with\n=BOOST_AUTO_TEST_CASE=.\n\n[heading Example Source Code]\n\n* Tutorials:\n * [link test.tutorials.running_selected_tests Running Selected Tests]\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[section:boost_test_module =BOOST_TEST_MODULE=]\n\nThe =BOOST_TEST_MODULE= macro is used to define the name of the master\ntest suite.  If =BOOST_TEST_MODULE= is defined, it should be defined in\nexactly one source file.  It can be defined to a list of preprocessor\ntokens or a string literal.  If a string literal is used, surrounding\nquotation marks (=\"=), will not appear in the name of the master test\nsuite.\n\n[example_test_module]\n\n[heading Example Source Code]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/assertions.cpp assertions.cpp]\n\n[endsect]\n\n[section:boost_test_suite =BOOST_TEST_SUITE=]\n\nThe =BOOST_TEST_SUITE(=[~name]=)= macro is used to create a new test suite\nnamed [~name].  The new suite must be added to the master test suite in\norder for any test cases in the suite to be executed.\n\n[register_test_suite]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/manual_registration.cpp manual_registration.cpp]\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/reference.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:reference Reference]\n\n[import examples/assertions.cpp]\n[import examples/assertion_failures.cpp]\n\n[include:test ref-compilation.qbk]\n[include:test ref-test-case.qbk]\n[include:test ref-test-suite.qbk]\n[include:test ref-test-classes.qbk]\n[include:test ref-assertion.qbk]\n[include:test ref-runner.qbk]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/system_under_test/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias system_under_test :\n    hello//hello\n    scanner//scanner\n    ;\n\nbuild-project hello ;\nbuild-project scanner ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/system_under_test/hello/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nlib hello : hello.cpp : <link>static ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/system_under_test/hello/hello.cpp",
    "content": "#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    if (stream.bad())\n    {\n        throw std::runtime_error(\"bad stream\");\n    }\n    stream << \"Hello, world!\\n\";\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/system_under_test/hello/hello.hpp",
    "content": "//[ hello_test_sut_hpp\n#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/system_under_test/scanner/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nlib scanner : scanner.cpp : <link>static ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/system_under_test/scanner/directory_scanner.hpp",
    "content": "#if !defined(DIRECTORY_SCANNER_H)\n#define DIRECTORY_SCANNER_H\n\n#include <string>\n\n//[directory_scanner\nclass directory_scanner\n{\npublic:\n    virtual ~directory_scanner() {}\n\n    virtual void begin(std::string const &directory) = 0;\n\n    virtual bool has_next() const = 0;\n\n    virtual std::string next() const = 0;\n};\n//]\n\n#endif\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/system_under_test/scanner/filesystem_directory_scanner.hpp",
    "content": "#if !defined(FILESYSTEM_DIRECTORY_SCANNER_H)\n#define FILESYSTEM_DIRECTORY_SCANNER_H\n\n#include \"directory_scanner.hpp\"\n#include <boost/filesystem.hpp>\n\n//[filesystem_directory_scanner\nclass filesystem_directory_scanner : public directory_scanner\n{\npublic:\n    filesystem_directory_scanner() {}\n    virtual ~filesystem_directory_scanner() {}\n\n    virtual void begin(std::string const &directory)\n    {\n        current = boost::filesystem::directory_iterator(directory);\n    }\n\n    virtual bool has_next() const\n    {\n        return current != end;\n    }\n\n    virtual std::string next() const\n    {\n        if (has_next())\n        {\n            std::string const result = (*current).path().filename().string();\n            do\n            {\n                ++current;\n            }\n            while (has_next() && !boost::filesystem::is_regular_file((*current).path()));\n            return result;\n        }\n        throw std::runtime_error(\"no next path\");\n    }\n\nprivate:\n    mutable boost::filesystem::directory_iterator current;\n    boost::filesystem::directory_iterator end;\n};\n//]\n\n#endif\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/system_under_test/scanner/scanner.cpp",
    "content": "#include \"scanner.hpp\"\r\n#include \"filesystem_directory_scanner.hpp\"\r\n\r\n//[text_files_dependency_impl\r\nextern std::vector<std::string>\r\ntext_files(std::string const &directory,\r\n    directory_scanner &scanner)\r\n{\r\n    std::vector<std::string> files;\r\n    scanner.begin(directory);\r\n    while (scanner.has_next())\r\n    {\r\n        std::string file(scanner.next());\r\n        if (file.length() >= 4 &&\r\n            file.substr(file.length() - 4) == \".txt\")\r\n        {\r\n            files.push_back(file);\r\n        }\r\n    }\r\n    return files;\r\n}\r\n//]\r\n\r\n//[text_files_impl\r\nextern std::vector<std::string>\r\ntext_files(std::string const& directory)\r\n{\r\n    filesystem_directory_scanner scanner;\r\n    return text_files(directory, scanner);\r\n}\r\n//]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/system_under_test/scanner/scanner.hpp",
    "content": "#if !defined(SCANNER_HPP)\n#define SCANNER_HPP\n\n#include <string>\n#include <vector>\n\n//[text_files_decl\nextern std::vector<std::string> text_files(std::string const& directory);\n//]\n\n//[text_files_dependency_decl\nclass directory_scanner;\n\nextern std::vector<std::string> text_files(\n    std::string const& directory,\n    directory_scanner& scanner);\n//]\n\n#endif\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/test.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[library Boost.Test\n    [quickbook 1.5]\n    [authors [Thomson, Richard]]\n    [copyright 2013 Richard Thomson]\n    [/ purpose Unit Testing Library]\n    [license\n        Distributed under the Boost Software License, Version 1.0.\n        (See accompanying file LICENSE_1_0.txt or copy at\n        [@http://www.boost.org/LICENSE_1_0.txt])\n    ]\n    [id test]\n    [source-mode c++]\n    [dirname test]\n]\n\n[/ April 23, 2013 ]\n\n[/ TODO: Stuff that needs to be fixed by these docs:\n\nhttps://svn.boost.org/trac/boost/ticket/2600\ndocument method test_unit::depends_on \n\nhttps://svn.boost.org/trac/boost/ticket/7136\nCorrect documentation for BOOST_<level>_CLOSE_FRACTION is not reflected into released documents\n\n]\n\n[/ Some symbols ]\n\n[def __test__ Boost.Test]\n\n[/ Some web links ]\n\n[def __test_driven_development__ [@http://en.wikipedia.org/wiki/Test-driven_development test-driven development]]\n[def __xunit_patterns__ [@http://xunitpatterns.com xUnit Test Patterns]]\n\n[/ Internal links to the reference ]\n\n[def __boost_fail__             [link test.reference.assertion.boost_fail =BOOST_FAIL=]]\n[def __boost_require_equal__    [link test.reference.assertion.boost_level_equal =BOOST_REQUIRE_EQUAL=]]\n[def __boost_require_exception__ [link test.reference.assertion.boost_level_exception =BOOST_REQUIRE_EXCEPTION=]]\n[def __boost_require_message__  [link test.reference.assertion.boost_level_message =BOOST_REQUIRE_MESSAGE=]]\n[def __boost_require_no_throw__ [link test.reference.assertion.boost_level_no_throw =BOOST_REQUIRE_NO_THROW=]]\n[def __boost_require_throw__    [link test.reference.assertion.boost_level_throw =BOOST_REQUIRE_THROW=]]\n\n[def __boost_test_alternative_init_api__\n                                [link test.reference.compilation.boost_test_alternative_init_api =BOOST_TEST_ALTERNATIVE_INIT_API=]]\n[def __boost_test_dyn_link__    [link test.reference.compilation.boost_test_dyn_link =BOOST_TEST_DYN_LINK=]]\n[def __boost_test_main__        [link test.reference.compilation.boost_test_main =BOOST_TEST_MAIN=]]\n[def __boost_test_no_lib__      [link test.reference.compilation.boost_test_no_lib =BOOST_TEST_NO_LIB=]]\n[def __boost_test_no_main__     [link test.reference.compilation.boost_test_no_main =BOOST_TEST_NO_MAIN=]]\n\n[def __auto_start_dbg__         [link test.reference.runner.argument.auto_start_dbg =--auto_start_dbg=]]\n[def __log_format__             [link test.reference.runner.argument.log_format =--log_format=]]\n[def __log_level__              [link test.reference.runner.argument.log_level =--log_level=]]\n[def __log_sink__               [link test.reference.runner.argument.log_sink =--log_sink=]]\n[def __output_format__          [link test.reference.runner.argument.output_format =--output_format=]]\n[def __report_format__          [link test.reference.runner.argument.report_format =--report_format=]]\n[def __report_level__           [link test.reference.runner.argument.report_level =--report_level=]]\n[def __report_sink__            [link test.reference.runner.argument.report_sink =--report_sink=]]\n[def __run_test__               [link test.reference.runner.argument.run_test =--run_test=]]\n[def __boost_test_checkpoint__  [link test.reference.runner.output.boost_test_checkpoint =BOOST_TEST_CHECKPOINT=]]\n[def __boost_test_message__     [link test.reference.runner.output.boost_test_message =BOOST_TEST_MESSAGE=]]\n\n[def __boost_auto_test_case__   [link test.reference.test_case.boost_auto_test_case =BOOST_AUTO_TEST_CASE=]]\n[def __boost_fixture_test_case__ [link test.reference.test_case.boost_fixture_test_case =BOOST_FIXTURE_TEST_CASE=]]\n[def __boost_param_test_case__  [link test.reference.test_case.boost_param_test_case =BOOST_PARAM_TEST_CASE=]]\n[def __boost_test_case__        [link test.reference.test_case.boost_test_case =BOOST_TEST_CASE=]]\n[def __boost_test_case_template__ [link test.reference.test_case.boost_test_case_template =BOOST_TEST_CASE_TEMPLATE=]]\n[def __boost_test_case_template_function__ [link test.reference.test_case.boost_test_case_template_function =BOOST_TEST_CASE_TEMPLATE_FUNCTION=]]\n\n[def __boost_auto_test_suite__  [link test.reference.test_suite.boost_auto_test_suite =BOOST_AUTO_TEST_SUITE=]]\n[def __boost_fixture_test_suite__ [link test.reference.test_suite.boost_fixture_test_suite =BOOST_FIXTURE_TEST_SUITE=]]\n[def __boost_test_suite__       [link test.reference.test_suite.boost_test_suite =BOOST_TEST_SUITE=]]\n\n[def __predicate_result__       [link test.reference.test_classes.predicate_result =predicate_result=]]\n[def __unit_test_main__         [link test.reference.test_classes.unit_test_main =unit_test_main=]]\n\n[/ Some images ]\n\n[def __note__                   [$./images/note.png]]\n[def __tip__                    [$./images/tip.png]]\n[def __important__              [$./images/important.png]]\n[def __caution__                [$./images/caution.png]]\n[def __danger__                 [$./images/alert.png]]\n\nThis is the documentation for __test__, a library designed to support\nautomated testing of software generally and unit testing specifically.\n\n[/----------------------------------------------------------------------]\n[section Motivation]\n\nAutomated tests are an important part of verifying software.  At the\ndeveloper level, automated tests provide confidence that changes made to\nthe software do not result in new defects.  At the customer level,\nautomated tests provide confidence that new features meet expectations\nand existing features continue to function unchanged.\n\n__test__ is a library that supports the automated testing of software,\nprimarily aimed at satisfying the needs of the developer.\n\n[endsect]\n\n[/----------------------------------------------------------------------]\n[section How To Read This Documentation]\n\nThis documentation provides material for both new users and advanced\nusers.  If you are completely new to automated testing, you may wish\nto read Wikipedia's article on __test_driven_development__ and consult the\nonline book __xunit_patterns__.  The amount of information available on\nautomated testing has exploded in the past decade and these are only\nsome suggested starting points and not intended to be an exhaustive\nlist.\n\nTo get started quickly writing your first test, read the\n[link test.tutorials tutorial] sections.  For advice on designing and\nmaintaining your tests, read the section on\n[link test.guide.test_case_design test case design].  For advanced uses of the\nlibrary, consult the [link test.reference reference].\n\n[endsect]\n\n[include:test tutorials.qbk]\n[include:test user-guide.qbk]\n[include:test reference.qbk]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias tutorials :\n    hello_test//tutorial_hello_test\n    running_selected_tests\n    testing_with_exceptions\n    testing_with_fixtures ;\n\nbuild-project hello_test ;\nbuild-project running_selected_tests ;\nbuild-project testing_with_exceptions ;\nbuild-project testing_with_fixtures ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/1/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias tutorial_hello_test.1 : hello.1 hello_test.1 ;\n\nlib hello.1 : sut/hello.cpp : <link>static ;\nrun-fail test/test_hello.cpp hello.1 : : : <include>sut : hello_test.1 ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/1/hello_test~1.output",
    "content": "[pre\r\nRunning 1 test case...\r\nsrc/tutorials/hello_test/1/test/test_hello.cpp(13): fatal error in \"hello_world_inserts_text\": critical check \"Hello, world!\\\\n\" == dest.str() failed [Hello, world!\r\n != \\]\r\n\r\n*** 1 failure detected in test suite \"Master Test Suite\"\r\n \r\nEXIT STATUS: 201 \r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/1/sut/hello.cpp",
    "content": "//[ hello_test_sut_cpp1\n#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/1/sut/hello.hpp",
    "content": "//[ hello_test_sut_hpp1\n#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/1/test/test_hello.cpp",
    "content": "//[ hello_test_test_cpp1\n#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <sstream>\n\nBOOST_AUTO_TEST_CASE(hello_world_inserts_text)\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/2/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias tutorial_hello_test.2 : hello.2 hello_test.2 ;\n\nlib hello.2 : sut/hello.cpp : <link>static ;\nrun-fail test/test_hello.cpp hello.2 : : : <include>sut : hello_test.2 ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/2/hello_test~2.output",
    "content": "[pre\r\nRunning 1 test case...\r\nsrc/tutorials/hello_test/2/test/test_hello.cpp(13): fatal error in \"hello_world_inserts_text\": critical check \"Hello, world!\\\\n\" == dest.str() failed [Hello, world!\r\n != Hello, world!\\]\r\n\r\n*** 1 failure detected in test suite \"Master Test Suite\"\r\n \r\nEXIT STATUS: 201 \r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/2/sut/hello.cpp",
    "content": "//[ hello_test_sut_cpp2\n#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    stream << \"Hello, world!\";\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/2/sut/hello.hpp",
    "content": "//[ hello_test_sut_hpp2\n#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/2/test/test_hello.cpp",
    "content": "//[ hello_test_test_cpp2\n#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <sstream>\n\nBOOST_AUTO_TEST_CASE(hello_world_inserts_text)\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/3/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias tutorial_hello_test.3 : hello.3 hello_test.3 ;\n\nlib hello.3 : sut/hello.cpp : <link>static ;\nrun test/test_hello.cpp hello.3 : : : <include>sut : hello_test.3 ;\n\u001a"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/3/hello_test~3.output",
    "content": "[pre\r\nRunning 1 test case...\r\n\r\n*** No errors detected\r\n \r\nEXIT STATUS: 0 \r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/3/sut/hello.cpp",
    "content": "//[ hello_test_sut_cpp3\n#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    stream << \"Hello, world!\" << std::endl;\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/3/sut/hello.hpp",
    "content": "//[ hello_test_sut_hpp3\n#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/3/test/test_hello.cpp",
    "content": "//[ hello_test_test_cpp2\n#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <sstream>\n\nBOOST_AUTO_TEST_CASE(hello_world_inserts_text)\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias tutorial_hello_test :\n    1//tutorial_hello_test.1\n    2//tutorial_hello_test.2\n    3//tutorial_hello_test.3\n    hello.tutorial_hello_test\n    hello_test\n    ;\n\nbuild-project 1 ;\nbuild-project 2 ;\nbuild-project 3 ;\n\nlib hello.tutorial_hello_test : sut/hello.cpp : <link>static ;\nrun test/test_hello.cpp hello.tutorial_hello_test : : : <include>sut : hello_test ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/hello_test.output",
    "content": "[pre\r\nRunning 1 test case...\r\n\r\n*** No errors detected\r\n \r\nEXIT STATUS: 0 \r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/sut/hello.cpp",
    "content": "//[ hello_test_sut_cpp\n#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    stream << \"Hello, world!\\n\";\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/sut/hello.hpp",
    "content": "//[ hello_test_sut_hpp\n#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/hello_test/test/test_hello.cpp",
    "content": "//[ hello_test_test_cpp\n#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <sstream>\n\nBOOST_AUTO_TEST_CASE(hello_world_inserts_text)\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/1/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias running_selected_tests.1 :\n    hello.running_selected_tests.1\n    test_hello.running_selected_tests.1\n    ;\n\nlib hello.running_selected_tests.1 : sut/hello.cpp : <link>static ;\nrun test/test_hello.cpp hello.running_selected_tests.1\n    : --run_test=hello_world_inserts_text,hello_world_stream_with_badbit_throws_runtime_error\n    : : <include>sut : test_hello.running_selected_tests.1 ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/1/report_level_detailed.output",
    "content": "[pre\r\n> test_hello --report_level=detailed\r\nRunning 2 test cases...\r\n\r\nTest suite \"Master Test Suite\" passed with:\r\n  2 assertions out of 2 passed\r\n  2 test cases out of 2 passed\r\n\r\n  Test case \"hello_world_inserts_text\" passed with:\r\n    1 assertion out of 1 passed\r\n\r\n  Test case \"hello_world_stream_with_badbit_throws_runtime_error\" passed with:\r\n    1 assertion out of 1 passed\r\n\r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/1/sut/hello.cpp",
    "content": "#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    if (stream.bad())\n    {\n        throw std::runtime_error(\"bad stream\");\n    }\n    stream << \"Hello, world!\\n\";\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/1/sut/hello.hpp",
    "content": "#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/1/test/test_hello.cpp",
    "content": "#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\n//[running_selected_tests_test_cpp_1\nstruct hello_world_fixture\n{\n    std::ostringstream dest;\n};\n\n#define HELLO_WORLD_TEST_CASE(name_) \\\n    BOOST_FIXTURE_TEST_CASE(hello_world_##name_, hello_world_fixture)\n\nHELLO_WORLD_TEST_CASE(inserts_text)\n{\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nHELLO_WORLD_TEST_CASE(stream_with_badbit_throws_runtime_error)\n{\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/1/test_hello~running_selected_tests~1.output",
    "content": "[pre\r\n> test_hello --run_test=hello_world_inserts_text,hello_world_stream_with_badbit_throws_runtime_error\r\nRunning 2 test cases...\r\n\r\n*** No errors detected\r\n \r\nEXIT STATUS: 0 \r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/2/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias running_selected_tests.2 :\n    hello.running_selected_tests.2\n    test_hello.running_selected_tests.2\n    ;\n\nlib hello.running_selected_tests.2 : sut/hello.cpp : <link>static ;\nrun test/test_hello.cpp hello.running_selected_tests.2\n    : --run_test=test_hello\n    : : <include>sut : test_hello.running_selected_tests.2 ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/2/report_level_detailed.output",
    "content": "[pre\r\n> test_hello --report_level=detailed\r\nRunning 2 test cases...\r\n\r\nTest suite \"Master Test Suite\" passed with:\r\n  2 assertions out of 2 passed\r\n  2 test cases out of 2 passed\r\n\r\n  Test suite \"test_hello\" passed with:\r\n    2 assertions out of 2 passed\r\n    2 test cases out of 2 passed\r\n\r\n    Test case \"hello_world_inserts_text\" passed with:\r\n      1 assertion out of 1 passed\r\n\r\n    Test case \"hello_world_stream_with_badbit_throws_runtime_error\" passed with:\r\n      1 assertion out of 1 passed\r\n\r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/2/run_test_hello_inserts_text.output",
    "content": "[pre\r\n> test_hello --run_test=test_hello/hello_world_inserts_text\r\nRunning 1 test case...\r\n\r\n*** No errors detected\r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/2/run_test_hello_star_inserts_text.output",
    "content": "[pre\r\n> test_hello --run_test=hello_world/*inserts_text\r\nRunning 1 test case...\r\n\r\n*** No errors detected\r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/2/sut/hello.cpp",
    "content": "#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    if (stream.bad())\n    {\n        throw std::runtime_error(\"bad stream\");\n    }\n    stream << \"Hello, world!\\n\";\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/2/sut/hello.hpp",
    "content": "#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/2/test/test_hello.cpp",
    "content": "#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\n//[running_selected_tests_test_cpp_2\nstruct hello_world_fixture\n{\n    std::ostringstream dest;\n};\n\nBOOST_AUTO_TEST_SUITE(test_hello);\n\n#define HELLO_WORLD_TEST_CASE(name_) \\\n    BOOST_FIXTURE_TEST_CASE(hello_world_##name_, hello_world_fixture)\n\nHELLO_WORLD_TEST_CASE(inserts_text)\n{\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nHELLO_WORLD_TEST_CASE(stream_with_badbit_throws_runtime_error)\n{\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n\nBOOST_AUTO_TEST_SUITE_END();\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/2/test_hello~running_selected_tests~2.output",
    "content": "[pre\r\n> test_hello --run_test=test_hello\r\nRunning 2 test cases...\r\n\r\n*** No errors detected\r\n \r\nEXIT STATUS: 0 \r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias running_selected_tests :\n    1//running_selected_tests.1\n    2//running_selected_tests.2\n    ;\n\nbuild-project 1 ;\nbuild-project 2 ;\n\nlib hello.running_selected_tests : sut/hello.cpp : <link>static ;\nrun test/test_hello.cpp hello.running_selected_tests : : : <include>sut : test_hello ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/report_level_detailed.output",
    "content": "[pre\r\n> test_hello.exe --report_level=detailed\r\nRunning 2 test cases...\r\n\r\nTest suite \"Master Test Suite\" passed with:\r\n  2 assertions out of 2 passed\r\n  2 test cases out of 2 passed\r\n\r\n  Test suite \"test_hello\" passed with:\r\n    2 assertions out of 2 passed\r\n    2 test cases out of 2 passed\r\n\r\n    Test case \"inserts_text\" passed with:\r\n      1 assertion out of 1 passed\r\n\r\n    Test case \"stream_with_badbit_throws_runtime_error\" passed with:\r\n      1 assertion out of 1 passed\r\n\r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.cpp",
    "content": "#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    if (stream.bad())\n    {\n        throw std::runtime_error(\"bad stream\");\n    }\n    stream << \"Hello, world!\\n\";\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.hpp",
    "content": "#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/running_selected_tests/test/test_hello.cpp",
    "content": "//[ running_selected_tests_test_cpp\n#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\nstruct hello_world_fixture\n{\n    std::ostringstream dest;\n};\n\nBOOST_FIXTURE_TEST_SUITE(test_hello, hello_world_fixture);\n\nBOOST_AUTO_TEST_CASE(inserts_text)\n{\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nBOOST_AUTO_TEST_CASE(stream_with_badbit_throws_runtime_error)\n{\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n\nBOOST_AUTO_TEST_SUITE_END();\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/1/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias testing_with_exceptions.1 :\n    hello.testing_with_exceptions.1\n    test_hello.testing_with_exceptions.1\n    ;\n\nlib hello.testing_with_exceptions.1 : sut/hello.cpp : <link>static ;\nrun-fail test/test_hello.cpp hello.testing_with_exceptions.1 : : : <include>sut : test_hello.testing_with_exceptions.1 ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/1/sut/hello.cpp",
    "content": "//[ testing_with_exceptions_sut_cpp_1\n#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    stream << \"Hello, world!\\n\";\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/1/sut/hello.hpp",
    "content": "//[ testing_with_exceptions_sut_hpp_1\n#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/1/test/test_hello.cpp",
    "content": "#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\nBOOST_AUTO_TEST_CASE(hello_world_inserts_text)\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\n//[ hello_world_stream_with_badbit_throws_runtime_error_1\nBOOST_AUTO_TEST_CASE(hello_world_stream_with_badbit_throws_runtime_error)\n{\n    std::ostringstream dest;\n    dest.clear(std::ios_base::badbit);\n\n    hello_world(dest);\n\n    BOOST_FAIL(\"std::runtime_error not thrown\");\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/1/test_hello~testing_with_exceptions~1.output",
    "content": "[pre\r\nRunning 2 test cases...\r\nsrc/tutorials/testing_with_exceptions/1/test/test_hello.cpp(24): fatal error in \"hello_world_stream_with_badbit_throws_runtime_error\": std::runtime_error not thrown\r\n\r\n*** 1 failure detected in test suite \"Master Test Suite\"\r\n \r\nEXIT STATUS: 201 \r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/2/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias testing_with_exceptions.2 :\n    hello.testing_with_exceptions.2\n    test_hello.testing_with_exceptions.2\n    ;\n\nlib hello.testing_with_exceptions.2 : sut/hello.cpp : <link>static ;\nrun-fail test/test_hello.cpp hello.testing_with_exceptions.2 : : : <include>sut : test_hello.testing_with_exceptions.2 ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/2/sut/hello.cpp",
    "content": "#include \"hello.hpp\"\n\n//[ testing_with_exceptions_sut_hello_cpp_2\nvoid hello_world(std::ostream& stream)\n{\n    if (stream.bad())\n    {\n        throw std::runtime_error(\"bad stream\");\n    }\n    stream << \"Hello, world!\\n\";\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/2/sut/hello.hpp",
    "content": "//[ testing_with_exceptions_sut_hpp_1\n#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/2/test/test_hello.cpp",
    "content": "#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\nBOOST_AUTO_TEST_CASE(hello_world_inserts_text)\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\n//[ hello_world_stream_with_badbit_throws_runtime_error_1\nBOOST_AUTO_TEST_CASE(hello_world_stream_with_badbit_throws_runtime_error)\n{\n    std::ostringstream dest;\n    dest.clear(std::ios_base::badbit);\n\n    hello_world(dest);\n\n    BOOST_FAIL(\"std::runtime_error not thrown\");\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/2/test_hello~testing_with_exceptions~2.output",
    "content": "[pre\r\nRunning 2 test cases...\r\nunknown location(0): fatal error in \"hello_world_stream_with_badbit_throws_runtime_error\": std::runtime_error: bad stream\r\nsrc/tutorials/testing_with_exceptions/2/test/test_hello.cpp(13): last checkpoint\r\n\r\n*** 1 failure detected in test suite \"Master Test Suite\"\r\n \r\nEXIT STATUS: 201 \r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias testing_with_exceptions :\n    1//testing_with_exceptions.1\n    2//testing_with_exceptions.2\n    test_hello.testing_with_exceptions\n    ;\n\nlib hello.testing_with_exceptions : sut/hello.cpp : <link>static ;\nrun test/test_hello.cpp hello.testing_with_exceptions : : : <include>sut : test_hello.testing_with_exceptions ;\n\nbuild-project 1 ;\nbuild-project 2 ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/sut/hello.cpp",
    "content": "//[ testing_with_exceptions_sut_cpp\n#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    if (stream.bad())\n    {\n        throw std::runtime_error(\"bad stream\");\n    }\n    stream << \"Hello, world!\\n\";\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/sut/hello.hpp",
    "content": "//[ testing_with_exceptions_sut_hpp\n#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/test/test_hello.cpp",
    "content": "#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\nBOOST_AUTO_TEST_CASE(hello_world_inserts_text)\n{\n    std::ostringstream dest;\n\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\n//[ hello_world_stream_with_badbit_throws_runtime_error\nBOOST_AUTO_TEST_CASE(hello_world_stream_with_badbit_throws_runtime_error)\n{\n    std::ostringstream dest;\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_exceptions/test_hello~testing_with_exceptions.output",
    "content": "[pre\r\nRunning 2 test cases...\r\n\r\n*** No errors detected\r\n \r\nEXIT STATUS: 0 \r\n]\r\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_fixtures/1/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias testing_with_fixtures.1 :\n    hello.testing_with_fixtures.1\n    test_hello.testing_with_fixtures.1\n    ;\n\nlib hello.testing_with_fixtures.1 : sut/hello.cpp : <link>static ;\nrun test/test_hello.cpp hello.testing_with_fixtures.1 : : : <include>sut : test_hello.testing_with_fixtures.1 ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_fixtures/1/sut/hello.cpp",
    "content": "#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    if (stream.bad())\n    {\n        throw std::runtime_error(\"bad stream\");\n    }\n    stream << \"Hello, world!\\n\";\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_fixtures/1/sut/hello.hpp",
    "content": "#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_fixtures/1/test/test_hello.cpp",
    "content": "#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\n//[testing_with_fixtures_test_cpp_1\nstruct hello_world_fixture\n{\n    hello_world_fixture()\n        : dest()\n    { }\n    ~hello_world_fixture()\n    { }\n\n    std::ostringstream dest;\n};\n\nBOOST_FIXTURE_TEST_CASE(hello_world_inserts_text, hello_world_fixture)\n{\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nBOOST_FIXTURE_TEST_CASE(hello_world_stream_with_badbit_throws_runtime_error, hello_world_fixture)\n{\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_fixtures/Jamfile.v2",
    "content": "# Jamfile.v2\n#\n# Copyright (c) 2013\n# Richard Thomson\n#\n# Distributed Under the Boost Software License, Version 1.0. (See\n# accompanying file LICENSE_1_0.txt or copy at\n# http://www.boost.org/LICENSE_1_0.txt)\n\nalias testing_with_fixtures :\n    1//testing_with_fixtures.1\n    test_hello.testing_with_fixtures\n    ;\n\nlib hello.testing_with_fixtures : sut/hello.cpp : <link>static ;\nrun test/test_hello.cpp hello.testing_with_fixtures : : : <include>sut : test_hello.testing_with_fixtures ;\n\nbuild-project 1 ;\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.cpp",
    "content": "#include \"hello.hpp\"\n\nvoid hello_world(std::ostream& stream)\n{\n    if (stream.bad())\n    {\n        throw std::runtime_error(\"bad stream\");\n    }\n    stream << \"Hello, world!\\n\";\n}\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.hpp",
    "content": "#if !defined(HELLO_HPP)\n#define HELLO_HPP\n\n#include <ostream>\n\nextern void hello_world(std::ostream& stream);\n\n#endif\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials/testing_with_fixtures/test/test_hello.cpp",
    "content": "#define BOOST_TEST_MAIN\n#include <boost/test/included/unit_test.hpp>\n#include \"hello.hpp\"\n#include <ios>\n#include <sstream>\n\n//[testing_with_fixtures_test_cpp\nstruct hello_world_fixture\n{\n    std::ostringstream dest;\n};\n\n#define HELLO_WORLD_TEST_CASE(name_) \\\n    BOOST_FIXTURE_TEST_CASE(hello_world_##name_, hello_world_fixture)\n\nHELLO_WORLD_TEST_CASE(inserts_text)\n{\n    hello_world(dest);\n\n    BOOST_REQUIRE_EQUAL(\"Hello, world!\\n\", dest.str());\n}\n\nHELLO_WORLD_TEST_CASE(stream_with_badbit_throws_runtime_error)\n{\n    dest.clear(std::ios_base::badbit);\n\n    BOOST_REQUIRE_THROW(hello_world(dest), std::runtime_error);\n}\n//]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/tutorials.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:tutorials Tutorials]\n\nThese tutorials will get you started using __test__.  They are intended\nto be read in order and proceed from the basics of [link test.tutorials.hello_test\nwriting your first test] to [link test.tutorials.running_selected_tests\nrunning selected tests].  Once you've finished with the tutorials, you\nmay want to read about [link test.guide.test_case_design test case design]\nfor some suggestions on testing various situations in C++.  The full\ndetails of the framework are provided in the [link test.reference reference]\nsection.\n\n[/----------------------------------------------------------------------]\n[section:hello_test Hello, Test!]\nSuppose we wish to test that the following function, declared in =hello.hpp=\nand supplied by a static library =hello=, inserted the text\n=Hello, world!\\n= to the given =stream=:\n\n[import tutorials/hello_test/1/sut/hello.hpp]\n[hello_test_sut_hpp1]\n\nWe can accomplish this with the following test, saving it in =test_hello.cpp=:\n\n[import tutorials/hello_test/1/test/test_hello.cpp]\n[hello_test_test_cpp1]\n\nWe compile =test_hello.cpp= and link it against the static library =hello=\nusing the build environment for our platform to produce an executable.\nNo other source files or libraries are needed.\nWhen we run the executable, it will execute our test case.\n\nSuppose that our implementation of =hello_world= looks like this:\n\n[import tutorials/hello_test/1/sut/hello.cpp]\n[hello_test_sut_cpp1]\n\nWhen we run the unit test executable we obtain output similar to the\nfollowing:[footnote\nThe test runner output here is generated from the =run-fail= rule in\nBoost.Build which includes the output from the executable and appends\nthe exit code of the process to the output.]\n\n[include tutorials/hello_test/1/hello_test~1.output]\n\nOops, it looks like we forgot to implement =hello_world=!.  Let's fix that\nby changing =hello.cpp= to the following:\n\n[import tutorials/hello_test/2/sut/hello.cpp]\n[hello_test_sut_cpp2]\n\nWe can now rebuild our library, relink our unit test executable and re-run\nthe test:\n\n[include tutorials/hello_test/2/hello_test~2.output]\n\nOops, looks like we forgot to insert the newline character.  Let's fix that\nby changing =hello.cpp= to the following:\n\n[import tutorials/hello_test/3/sut/hello.cpp]\n[hello_test_sut_cpp3]\n\nWe rebuild our library, relink our unit test executable again and re-run\nthe test:\n\n[include tutorials/hello_test/3/hello_test~3.output]\n\nNow all our tests are passing and we know that =hello_world= does what\nwe expect it to do.  We used =std::endl= to insert the newline character\nand it also flushes the output stream after inserting the newline.  If\nwe didn't want the output stream to be flushed, we can change =hello_world=\nto use a character literal:\n\n[import tutorials/hello_test/sut/hello.cpp]\n[hello_test_sut_cpp]\n\nWe rebuild and re-run the test to verify that our change didn't break\nanything:\n\n[include tutorials/hello_test/hello_test.output]\n\n[heading Some Observations]\n\nNow that we've seen __test__ in action, let's take a closer look at\nwhat we have just done:\n\n* The entire unit test framework was brought into our test application\n  with a single include =<boost/test/included/unit_test.hpp>=.  We didn't\n  link against any libraries or introduce any run-time dependencies.\n* We didn't write an implementation of =main=, but our test executable\n  linked and ran.  Why?  The preprocessor symbol __boost_test_main__\n  instructed __test__ to supply an implementation of =main= that executes\n  all tests registered with the framework.\n* The macro __boost_auto_test_case__ registered our unit test case with\n  the framework and provides the necessary preamble for the implementation\n  of the testing function.\n* The argument to __boost_auto_test_case__ is the name of our test case and\n  is a C++ identifier, not a string.\n* The test was structured in three phases: setup, exercise, and verify.\n  * Our setup phase created an output string stream in order to capture\n    the output of =hello_world=, the system under test.\n  * The exercise phase called the system under test, our function =hello_world=.\n  * The verify phase checked that the function provided the expected output\n    using the assertion macro __boost_require_equal__.\n  * To make the phases of the test obvious, we used blank lines to separate them.\n* A failing test emits a message that provides information about the\n  location of the failed assertion and the detail of the failure.\n* The above sequence is a typical example of test-driven development,\n  proceeding through stages of \"red\", \"green\" and \"refactor\".\n  * We wrote a failing test and just enough implementation to compile the\n    test (\"red\").\n  * We then wrote the implementation and ran the test to verify our\n    implementation.  We made a simple mistake, so we corrected that and\n    re-ran the test to verify our implementation by passing the test (\"green\").\n  * Once our implementation was correct, we looked at possible improvements\n    we might make to the code; in our case we eliminated the side-effect\n    of flushing the output stream (\"refactor\").\n* The test code and production code, or system under test, are kept\n  separate.  The production code was in a library and the test code was\n  in an executable.\n* No news is good news!  We don't see any noise from test cases when\n  they pass and the test executable emits only a summary of all test\n  cases when all tests pass.\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/hello_test/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/hello_test/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/hello_test/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[/----------------------------------------------------------------------]\n[section:testing_with_exceptions Testing with Exceptions]\n\nWhen we're testing a system, we want to test the failure cases\nas well as the success cases.  This means forcing the system under test\ndown an error path by orchestrating bad inputs or synthesizing errors\nfrom code collaborating with the system under test.\n\nLet's add the requirement that [link test.tutorials.hello_test =hello_world=]\nshould throw the a =std::runtime_error= exception if the supplied stream\nhas the =badbit= set on the stream.\n\nWe can add a test case for this:\n\n[import tutorials/testing_with_exceptions/1/test/test_hello.cpp]\n[hello_world_stream_with_badbit_throws_runtime_error_1]\n\n[note The [@http://en.cppreference.com/w/cpp/io/basic_ios/clear =clear=\nmember function] on a stream clears all state bits and sets the state to\nthe value of the argument.]\n\nInstead of an assertion macro like __boost_require_equal__, we're using\nthe __boost_fail__ macro that guarantees test failure.  If the call to\n=hello_world= doesn't throw a =runtime_error= exception and continues\nto the next line of code, then this test case fails:\n\n[include tutorials/testing_with_exceptions/1/test_hello~testing_with_exceptions~1.output]\n\nNow let's enhance the implementation to support this requirement:\n\n[import tutorials/testing_with_exceptions/2/sut/hello.cpp]\n[testing_with_exceptions_sut_hello_cpp_2]\n\nWe run our test and get something similar to the following:\n\n[include tutorials/testing_with_exceptions/2/test_hello~testing_with_exceptions~2.output]\n\nNow the test is still failing, so what did we do wrong?  The\nexception from our system under test unwound the call stack back into the\nunit test framework, which caught the exception and reported this as a\nfailure.  We need to tell the test framework that an exception is expected\nin this situation.  We can use __boost_require_throw__ to tell the test\nframework that an expression is expected to throw a particular type of\nexception.  If the exception isn't thrown or an exception of a different\ntype is thrown, then the test fails.  Our test now looks like this:\n\n[import tutorials/testing_with_exceptions/test/test_hello.cpp]\n[hello_world_stream_with_badbit_throws_runtime_error]\n\nNow our test case is passing:\n\n[include tutorials/testing_with_exceptions/test_hello~testing_with_exceptions.output]\n\n[heading Some Observations]\n\n* We gave our test case a name that revealed the essence of what it tests\n  so that when it fails, we know immediately from the name of the test what\n  requirement has been invalidated.  Using intention revealing names for\n  test cases is just as important as using intention revealing names for\n  methods, functions and classes.\n* We kept each scenario we wanted to test separate and independent from\n  each other.  This keeps our tests robust; the state of one test does\n  not interfere with any other test.\n* Now that we have two test cases, we can see that there is some duplication\n  between them: the construction of an output string stream.  It isn't much\n  right now, just a single line, but duplication between tests is something\n  we'll need to watch.\n* Every time we modify or add a test, we have to recompile our single\n  test file =test_hello.cpp=, which is including the entire unit test\n  framework source.  This leads to a lengthy compile every time we\n  have to change the tests.\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/testing_with_exceptions/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/testing_with_exceptions/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/testing_with_exceptions/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[/----------------------------------------------------------------------]\n[section:testing_with_fixtures Testing with Fixtures]\n\nWhen we added our second test case in the\n[link test.tutorials.testing_with_exceptions previous tutorial], we\nended up with some duplicated setup between the two test cases.  This is\na common occurrence in unit testing.  We have some prerequisites for the\nsystem under test that must be prepared in order to exercise the system.\nIn our case, it is a single output string stream that we use for capturing\nthe output of our =hello_world= function.\n\n__test__ provides a facility called a fixture for encapsulating repeated\nsetup and tear down code between test cases.  In our example, there isn't\nany explicit tear down code because the output string streams are created\non the stack and destroyed when execution exits the test case.  We have a\nlittle bit of repeated setup code that we can move to a fixture that is\nused by both our test cases.  Let's put that repeated code in a fixture:\n\n[import tutorials/testing_with_fixtures/1/test/test_hello.cpp]\n[testing_with_fixtures_test_cpp_1]\n\nA fixture is simply a class or struct that is inherited by the test case.\nWe connect the test case to the fixture by using __boost_fixture_test_case__\ninstead of __boost_auto_test_case__.  The latter simply connects each test\ncase to an empty fixture.  After refactoring the test cases to use a\nfixture, we run the tests to make sure the tests still pass.\n\nWhen using a fixture, the order of construction and destruction is as\nfollows when a test case is executed:\n\n# The fixture is constructed.\n# The test case class is constructed.\n# The test case test method is executed\n# The test case class is destroyed.\n# The fixture is destroyed.\n\nThis process happens for each test case that is executed, ensuring that\neach test case has a fresh fixture and remains independent of other test\ncases.\n\nIn most cases, the setup will be a little more involved than just creating\nan instance variable and there will be some work done in the constructor of\nthe fixture.  We could simply use the default constructor and destructor of\nour fixture in this case.  We've written the constructor and destructor\nexplicitly to emphasize that this is where setup and tear down occur.\n\nNow that we've transformed the test cases to use a fixture, it seems\nwe've simply traded one piece of repetition, the construction of the\noutput string stream, for another: the repeated use of the fixture\nname and system under test in our test cases.  We can use a custom test\ncase macro to get rid of this duplication:\n\n[import tutorials/testing_with_fixtures/test/test_hello.cpp]\n[testing_with_fixtures_test_cpp]\n\nEvery test case has to have a unique name within the scope of its\ndeclaration, either the global namespace or a custom namespace, which is\nwhy we've been prefixing our test case names with the name of the system\nunder test, =hello_world=.  Once we accumulate a few tests, the chances\nfor a clash between test names increases.\n\nWith our custom test case macro, we reduce the chance for a test case\nname clash by ensuring that every test case name is prefixed by the\nname of the system under test.  We ensure that every test case\nfor =hello_world= uses the same fixture and we gain some readability of\nthe test cases by eliminating the distracting repetition.  If we change\nthe name of the fixture, then we need only edit the custom test case\nmacro that supplies the fixture name.\n\nIn the next tutorial, we'll see an alternative way of eliminating this\nduplication of the prefixes of test case names.\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/testing_with_fixtures/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/testing_with_fixtures/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[/----------------------------------------------------------------------]\n[section:running_selected_tests Running Selected Tests]\n\nAs we continue to add unit tests for a library, we can get quite a large\nnumber of tests.  If they are true unit tests and each test exercises a\nsingle class isolated from its collaborators, then most of the tests are\nnot relevant to the changes we are making.  The test executable accepts\na number of command-line arguments that allow us to control the behavior\nof the test framework, including which tests to run.\n\nWe can list the available tests in a test executable with __report_level__\nset to detailed:\n\n[include tutorials/running_selected_tests/1/report_level_detailed.output]\n\n[caution The arguments to the test executable, such as __report_level__,\nuse an underscore (=_=) to separate words, not a dash (=-=).]\n\nSuppose we are continuing to make changes to =hello_world= and we want\nto run only the tests that apply to that function.  We can easily identify\nthe relevant tests in the output of __report_level__ because we have used\na test naming convention of prefixing all test case names with the name\nof the system under test, =hello_world=.\n\nUsing the __run_test__ argument, we can specify a comma-separated list\nof test case names to run:\n\n[include tutorials/running_selected_tests/1/test_hello~running_selected_tests~1.output]\n\nWow, that's really a mouthfull!  Even with command recall, typing this\ncommand for the first time will require typing the exact names of all the\ntest cases for =hello_world=.  As we add more test cases, we'll have to\nextend the command line argument to account for each new test case.\n\nWe can solve this problem by using test suites, which organize tests into\na named group:\n\n[import tutorials/running_selected_tests/2/test/test_hello.cpp]\n[running_selected_tests_test_cpp_2]\n\nNow __report_level__ outputs the following:\n\n[include tutorials/running_selected_tests/2/report_level_detailed.output]\n\nThe indentation shows that the test cases for =hello_world= are organized\nunder the test suite named =test_hello_world=.\n\n[note We can't name the suite =hello_world= because that would conflict\nwith the name of our system under test, as both are declared in the same\nglobal namespace.]\n\nNow we can supply the name of the test suite to __run_test__ to run all\nthe test cases in the suite:\n\n[include tutorials/running_selected_tests/2/test_hello~running_selected_tests~2.output]\n\nAs we add more test cases to the suite, we don't have to change the\ncommand we are using to run the tests and we don't need to remember the\nexact names of the test cases.\n\nSuites arrange test cases into a hierarchy.  You can have suites within\nsuites to provide larger groupings to test a collection of related classes\ntogether.  Once a test case is part of a suite, we must use the name of\nthe enclosing suite with the name of the test case if we wish to run a\nsingle test case within the suite by name:\n\n[include tutorials/running_selected_tests/2/run_test_hello_inserts_text.output]\n\nThe names of the enclosing suites are separated from each other and from\nthe test case name with a slash (=/=).  The names supplied to __run_test__\nalso allow for wildcard matching:\n\n[include tutorials/running_selected_tests/2/run_test_hello_star_inserts_text.output]\n\nJust as we can use a fixture with a test case to eliminate repeated setup\nand tear down, we can use a fixture with a test suite.  All test cases\nin the test suite will derive from the test suite's fixture.  If a test\ncase in a test suite with a fixture specifies its own fixture, then the\ntest case derives from the fixture specified on the test case and not on\nthe test suite.  If you want the test case to use both fixtures, then\nmake your test case fixture derive from the test suite fixture.\n\nWe can use a test suite fixture for =test_hello= to take care of the\nduplicated setup between test cases.  Since our test cases are now within\nthe scope of a suite, we don't need to give them a unique prefix anymore.\nRefactoring the tests to use a suite fixture and discarding the prefix\ngives us the following code:\n\n[import tutorials/running_selected_tests/test/test_hello.cpp]\n[running_selected_tests_test_cpp]\n\nNow __report_level__ outputs the following:\n\n[include tutorials/running_selected_tests/report_level_detailed.output]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/sut/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/tutorials/running_selected_tests/test/test_hello.cpp test_hello.cpp]\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/user-compilation.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:compilation Compilation and Usage Variants]\n\n__test__ is available in several forms:\n\n* a single, minimal header\n* a header-only form\n* a static library\n* a shared library\n\nThe minimal header can be useful in situations where you don't already\nhave the library built and want to quickly explore a test with a minimal\namount of fuss.  Once you need to create multiple unit tests, you will\nquickly outgrow the minimal header.\n\nThe header only form is useful when you don't want to be bothered with\ncompiling the library.  Once you have multiple compilation units with\nunit tests in each compilation unit, you will grow tired of the compilation\ncost involved with the header only form of the framework.\n\nThe static library form is the easiest to integrate into your build system\nas it doesn't require any installation of runtime files in order to execute\nyour tests.  This runtime simplicity comes at the cost of increased link\ntimes and executable sizes.\n\nThe dynamic library form requires the most effort for successful\ntest execution, but provides faster link times than the static library,\nfaster compile times than the header only form and provides all the features\nof the framework compared to the minimal header.\n\n[caution __test__ is not a thread-safe library.  Care should be taken when\nautomated tests create multiple threads and interact with data structures\npassed to __test__ macros or functions.]\n\n[section:minimal_header Minimal Header]\n\nA lightweight, minimal version of the testing framework can be obtained\nby including =<boost/test/minimal.hpp>=.  This header provides only the\nfollowing macros:\n\n[table\n[[Macro] [Meaning]]\n[[=BOOST_CHECK(=['expression]=)=]\n    [If ['expression] is false, the test fails and test execution continues.]]\n[[=BOOST_REQUIRE(=['expression]=)=]\n    [If ['expression] is false, the test fails and test execution terminates.]]\n[[=BOOST_ERROR(=['message]=)=]\n    [Report ['message], fail the test and continue test execution.]]\n[[=BOOST_FAIL(=['message]=)=]\n    [Report ['message], fail the test and terminate test execution.]]\n]\n\nThe header supplies an implementation of =main= that executes a single\ntest case by calling a free function named =test_main= with the following\nsignature:\n\n```\nint test_main(int argc, char *argv[]);\n```\n\nThe arguments =argc= and =argv= are passed to =test_main= from the\nimplementation of =main= supplied by the test framework.  No command-line\nargument processing is performed by =main=.  A summary report of errors\nrecorded by the test case is printed out after executing the test case.\nIf any exception is thrown by the test case, it is caught by =main=\nand treated as an error from the test case.\n\n```\n#include <boost/test/minimal.hpp>\n\nint test_main(int argc, char *argv[])\n{\n    // test case\n}\n```\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* An example of using the minimal test framework:\n * [@boost:/libs/test/doc/src/examples/compilation/minimal/test_hello.cpp test_hello.cpp].\n\n[endsect]\n\n[section =main=]\n\nTo use the implementation of =main= provided by __test__, exactly one\nsource file must define __boost_test_main__ before including\n=<boost/test/unit_test.hpp>=.  If multiple source files define\n__boost_test_main__, then a multiply defined symbol error will occur\nduring linking.\n\nIf __boost_test_no_main__ is defined, then no implementation of =main=\nwill be provided and the test executable must provide an initialization\nfunction.  The exact initialization function that must be provided varies\ndepending on how the library is compiled.  The details are shown in the\ndiscussion of each compilation variation.\n\nWhen __test__ is compiled as a library, __boost_test_no_main__ must be\ndefined when the library is compiled for it to work properly in those\ncircumstances.\n\n[endsect]\n\n[section:header_only Header Only]\n\nThe entire unit test framework can be incorporated into an executable by\nincluding the file =<boost/test/included/unit_test.hpp>=.  Because the\nentire implementation is incorporated into the source file including\nthis header, only a single source file in the test executable can\ninclude this header.\n\nAdditional source files must define __boost_test_no_lib__ before\nincluding =<boost/test/unit_test.hpp>= to prevent any automatic linking\nto a shared library.  If additional source files attempt to include\n=<boost/test/included/unit_test.hpp>=, a multiply defined symbol error\nwill occur during linking.\n\n```\n// In exactly one source file:\n#include <boost/test/included/unit_test.hpp>\n\n// test cases (optional)\n```\n```\n// In additional source files\n#define BOOST_TEST_NO_LIB\n#include <boost/test/unit_test.hpp>\n\n// test cases\n```\n\nIf __boost_test_no_main__ is defined, then an implementation of =main=\nmust be provided that executes the test cases.  This is most readily\ndone by delegating to __unit_test_main__.\n\n```\n// In exactly one source file\n#define BOOST_TEST_NO_MAIN\n#include <boost/test/unit_test.hpp>\n\nboost::unit_test::test_suite *init_function(int argc, char *argv[])\n{\n    // create test cases and suites and return a pointer to any enclosing\n    // suite, or 0.\n    return 0;\n}\n\nint main(int argc, char* argv[])\n{\n    return ::boost::unit_test::unit_test_main(&init_function, argc, argv);\n}\n```\n\n[heading Example Source Code]\n\nThe [link test.tutorials tutorials] all use the header-only version of\n__test__.\n\n[endsect]\n\n[section Static Library]\n\nTo build __test__ as a static library, first build the boost build tools,\nas described in the [@boost:/more/getting_started/index.html Getting Started]\ndocumentation.  After you have bootstrapped the build tools, build the test\nlibrary with by invoking =b2= with arguments similar to the following:\n\n``b2 --with-test link=static``\n\nThis will place the resulting libraries in =stage/lib= at the top level\nof the boost tree.\n\nIn a static library configuration, __test__ is compiled into a single\nstatic library named =boost_unit_test_framework= and the test executable\nis linked against that library.\nExactly one compilation unit in the test executable should define\n__boost_test_main__, in order run the tests.\n\n```\n// In exactly one source file\n#define BOOST_TEST_MAIN\n#include <boost/test/unit_test.hpp>\n\n// test cases (optional)\n```\n\nAdditional source files simply include the main unit test header and\ndefine more test cases and/or suites.\n\n```\n// In additional source files\n#include <boost/test/unit_test.hpp>\n\n// test cases\n```\n\nTo compile the library with no implementation of =main=, add\n__boost_test_no_main__ to the =cxxflags= property for b2:\n\n``b2 --with-test link=static define=BOOST_TEST_NO_MAIN``\n\nWhen the library is compiled with __boost_test_no_main__ defined, one\nsource file must provide a definition for =main=.  The simplest is\nto delegate to __unit_test_main__ and provide an implementation of an\ninitialization function that manually adds test cases and suites to the\ntest tree.\nAny test cases or test suites added with\n__boost_auto_test_case__, __boost_fixture_test_case__,\n__boost_auto_test_suite__ or __boost_fixture_test_suite__ are automatically\nadded.\n\n```\n// In exactly one source file\n#define BOOST_TEST_NO_MAIN\n#include <boost/test/unit_test.hpp>\n\nboost::unit_test::test_suite *init_function(int argc, char *argv[])\n{\n    // create test cases and suites and return a pointer to any enclosing\n    // suite, or 0.\n    return 0;\n}\n\nint main(int argc, char *argv[])\n{\n    return boost::unit_test::unit_test_main(init_function, argc, argv);\n}\n```\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp].\n* An example of using the standard implementation of =main=:\n * [@boost:/libs/test/doc/src/examples/compilation/static/main.cpp main.cpp]\n * [@boost:/libs/test/doc/src/examples/compilation/static/test_hello.cpp test_hello.cpp].\n* An example of using a custom =main=:\n * [@boost:/libs/test/doc/src/examples/compilation/static_main/main.cpp main.cpp]\n * [@boost:/libs/test/doc/src/examples/compilation/static_main/test_hello.cpp test_hello.cpp].\n\n[endsect]\n\n[section Shared Library]\n\nTo build __test__ as a shared library, first build the boost build tools,\nas described in the [@boost:/more/getting_started/index.html Getting Started]\ndocumentation.  After you have bootstrapped the build tools, build the test\nlibrary with by invoking =b2= with arguments similar to the following:\n\n``b2 --with-test link=shared``\n\nThis will place the resulting libraries in =stage/lib= at the top level\nof the boost tree.\n\nIn a shared library configuration, __test__ is compiled into a single\nshared library named =boost_unit_test_framework= and the test executable\nis linked against that library to import symbols from the library.\nThe __test__ shared library must\nbe available to the runtime loader in order for the tests to execute.\nEvery compilation unit that includes a header from __test__ must define\n__boost_test_dyn_link__ first so that declarations are properly annotated\n as imported symbols.  When __boost_test_dyn_link__ is defined, __test__\nalso defines __boost_test_alternative_init_api__.\n\nExactly one compilation unit in the test executable should define\n__boost_test_main__, in order run the tests.\n\n```\n// In exactly one compilation unit\n#define BOOST_TEST_DYN_LINK\n#define BOOST_TEST_MAIN\n#include <boost/test/unit_test.hpp>\n\n// test cases (optional)\n```\n\nAdditional source files define __boost_test_dyn_link__, include the\nmain unit test header and define more test cases and/or suites.\n\n```\n// In additional source files\n#define BOOST_TEST_DYN_LINK\n#include <boost/test/unit_test.hpp>\n\n// test cases\n```\n\nTo compile the library with no implementation of =main=, add\n__boost_test_no_main__ to the =cxxflags= property for b2:\n\n``b2 --with-test link=shared define=BOOST_TEST_NO_MAIN``\n\nWhen the library is compiled with __boost_test_no_main__ defined, one\nsource file must provide a definition for =main=.  The simplest is\nto delegate to __unit_test_main__ and provide an implementation of an\ninitialization function that manually adds test cases and suites to the\ntest tree.\nAny test cases or test suites added with\n__boost_auto_test_case__, __boost_fixture_test_case__,\n__boost_auto_test_suite__ or __boost_fixture_test_suite__ are automatically\nadded.\n\n```\n// In exactly one source file\n#define BOOST_TEST_NO_MAIN\n#include <boost/test/unit_test.hpp>\n\nbool init_function()\n{\n    // create test cases and suites and return a boolean indicating\n    // success (true) or failure (false).\n    return true;\n}\n\nint main(int argc, char* argv[])\n{\n    return ::boost::unit_test::unit_test_main(&init_function, argc, argv);\n}\n```\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* An example of using the standard implementation of =main=:\n * [@boost:/libs/test/doc/src/examples/compilation/dynamic/main.cpp main.cpp]\n * [@boost:/libs/test/doc/src/examples/compilation/dynamic/test_hello.cpp test_hello.cpp].\n* An example of using a custom =main=:\n * [@boost:/libs/test/doc/src/examples/compilation/dynamic_main/main.cpp main.cpp]\n * [@boost:/libs/test/doc/src/examples/compilation/dynamic_main/test_hello.cpp test_hello.cpp].\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/src/user-guide.qbk",
    "content": "[/==============================================================================\n    Copyright (C) 2013 Richard Thomson\n\n    Distributed under the Boost Software License, Version 1.0. (See accompanying\n    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)\n===============================================================================/]\n\n[section:guide User's Guide]\n\n[include:test user-compilation.qbk]\n\n[section:test_case_design Test Case Design and Maintenance]\n\n[@http://xunitpatterns.com/Goals%20of%20Test%20Automation.html xUnit\nPatterns][footnote The term ['xUnit] is a generic term for unit testing\nframeworks, such as jUnit.  The advice in ['xUnit Patterns] applies equally\nwell to __test__.], by Gerard Meszaros, presents several high level\nobjectives for automated tests and individual goals for achieving those\nobjectives:\n\n* Objective: Tests should help us improve quality.\n * Goal: [link tests_as_specifications Tests as specifications]\n * Goal: [link bug_repellant Bug repellant]\n * Goal: [link defect_localization Defect localization]\n* Objective: Tests should help us understand the system under test.\n * Goal: [link tests_as_documentation Tests as documentation]\n* Objective: Tests should reduce, not increase, risk.\n * Goal: [link tests_as_safety_net Tests as safety net]\n * Goal: [link do_no_harm Do No Harm]\n* Objective: Tests should be easy to run.\n * Goal: [link fully_automated_test Fully Automated Test]\n * Goal: [link self_checking_test Self-Checking Test]\n * Goal: [link repeatable_test Repeatable Test]\n* Objective: Tests should be easy to write and maintain.\n * Goal: [link simple_tests Simple Tests]\n * Goal: [link expressive_tests Expressive Tests]\n * Goal: [link separation_of_concerns Separation of Concerns]\n* Objective: Tests should require minimal maintenance as the system evolves\n  around them.\n * Goal: [link robust_test Robust Test]\n\nIn this section, we will discuss how the facilities in __test__ can support\nthese goals; see ['xUnit Patterns] for the description and rationale of\nthese goals.\n\n[#tests_as_specifications][heading Goal: Tests as Specifications]\n\nTests can serve as specifications for the system under test if we write\nthe test for the system first, using test-driven development.  We imagine\nthe perfect system that does exactly what we need and write a test as if\nthat system existed.  In order to achieve a failing test, we write just\nenough of the implementation to make the test compile.\n\nA good way to ensure that the implementation causes a test failure is for\ncalled methods and functions to throw an exception indicating that the\nmethod or function called is not implemented:\n```\n#include <stdexcept>\n\nvoid free_function()\n{\n    throw std::runtime_error(\"free_function not implemented.\");\n}\n```\nWe get a failing test right away, while still satisfying just enough syntax\nto satisfy the compiler.\n\n[#bug_repellant][heading Goal: Bug Repellant]\n\nIt is well known that the longer a bug remains undetected in a software,\nthe more expensive it is to fix.[footnote\n[@https://en.wikipedia.org/wiki/Software_testing#Economics Software Testing:\nEconomics]]  If we are practicing test-driven development, then we find\nbugs in our implementation as soon as we code them.  The time to find a\nbug in this manner can be as little as seconds and was demonstrated in\nthe tutorial [link test.tutorials.hello_test \"Hello, Test!\"].\n\nThe easiest way to achieve this rapid feedback is to run the tests as part\nof the build.  The details vary depending on your build system.\n\nIn Visual Studio 2012, this is most readily achieved by setting a post-build\nbuild event as shown below.  Because [^$(TargetPath)] may contain spaces,\nthe variable is surrounded by double quotes to ensure that the entire path\nto the executable is found.  The description is given generically using\n[^$(TargetName)] so that this build event can be copied to any test\nproject's properties and be used without modification.  Take\ncare that you define the build event for all configurations and all\nplatforms used by your build system so that the unit tests always run.  \n\n[$../src/user-vs2012-build-event.png]\n\nIf you are using a =Makefile= to compile your code, create a phony\ntarget that depends on your unit test executable and specify the\ncommand to execute your unit test and create the phony target if\nthe test passes.  This will ensure that the unit tests continue to run\nas long as they fail because the phony target will only be updated\nwhen the tests pass.\n\nIf you are using Boost.Build and Jamfiles to compile your code, you can\nuse the rules in the =testing= module to incorporate your unit tests\ninto your build.  The =unit-test= rule will build an executable and run\nit, failing the build when the executable returns a non-zero exit status.\nOther rules in the =testing= module may also be useful.\n\n[#defect_localization][heading Goal: Defect Localization]\n\nIf we keep our test cases focused on only a single behavior in our\nsystem under test, then there is only a single cause for any particular\nunit test to fail.  We saw this in [link\ntest.tutorials.testing_with_exceptions \"Testing With Exceptions\"] when\nwe added a new test case to =hello_world= for a bad stream.  By choosing\n[@http://c2.com/cgi/wiki?IntentionRevealingNames intention revealing names]\nfor our test cases, we can identify the source of the failure simply by\nreading the name of the failed test case.\n\nSince each test case excercises only one scenario for the system under\ntest, we must make at least one test case for each possible scenario.  We\ncan use the [@http://en.wikipedia.org/wiki/Cyclomatic_complexity cyclomatic\ncomplexity] as a rough proxy for the number of tests cases needed for any\nparticular method or function to ensure that we have sufficient\n[@http://en.wikipedia.org/wiki/Code_coverage coverage] of the system under\ntest.\n\n[#tests_as_documentation][heading Goal: Tests as Documentation]\n\nWhen confronted with a new software component or a new code base, how do\nwe understand its behavior?  We can read the documentation, but ultimately\nthe behavior is defined by the code executed.  Comments and documentation\ncan lag the actual implementation.  Sometimes, the only answer to our\nquestions about a software component come from the implementation.  If\nthe component is only available to us in binary form, we don't have the\nluxury of consulting the source code in order to answer our questions.\n\nUnit tests can serve as a form of executable documentation for software\ncomponents.  They tell us how the system responds to the scenarios\norchestrated by the test cases.\n\nWhen faced with a confusing aspect of a software component, we can answer\nquestions about the behavior of the component by writing a unit test that\ndescribes our hypothesis about the component's behavior.  If the unit test\npasses, we have verified our hypothesis.  If the unit test fails, our\nhypothesis was incorrect; either way, we have learned something about the\ncomponent.  We can use unit tests to document subtle and unexpected\nbehaviors of components.  Unit tests are also the perfect documentation\nfor a bug report on a component maintained by others.\n\n[#tests_as_safety_net][heading Goal: Tests as Safety Net]\n\nWhen we start building a software system, we are able to keep all the\ndetails of the system in our mind because the system is small.  As the size\nof the system increases, it becomes harder and harder to keep all the\ndetails of the system in mind as we make modifications.  A comprehensive\nsuite of unit tests over the system give us an automated regression test\nthat gives us the confidence of knowing that our changes are not introducing\nany problems elsewhere in the code.\n\n[#do_no_harm][heading Goal: Do No Harm]\n\nAutomated tests should only reduce risk, not introduce risk into the\nsystem.  To achieve this, we want to keep all test code separated from\nproduction code.  The easiest way to do this is to put the system under\ntest into a library (static or shared) and link the test executable\nagainst the library.  We saw this in the tutorial\n[link test.tutorials.hello_test \"Hello, Test!\"], when we separated the\nsystem under test into the =hello= library and the test code into\n=test_hello.cpp=.\n\n[#fully_automated_test][heading Goal: Fully Automated Test]\n\n__test__ supports fully automated tests by allowing us to supply the\ninputs to the system under test in each test case in order to drive\nthe system into the scenario of interest.  Test cases should never\nrely on user input, or they will not be fully automated tests that\ncan run unattended.\n\n[#self_checking_test][heading Goal: Self-Checking Test]\n\n__test__ supports self-checking tests through its rich set of\n[link test.reference.assertion assertions].  Each test case supplies the\ninputs to the system under test and validates the behavior of the system\nusing assertions.  Self-checking tests report only bad news and good news\nresults in no notifications.  The default output from the test runner only\nreports failing tests and a summary of all tests executed.  The test\nrunner also returns a non-zero status code when a test fails, allowing\neasy failure of [@http://en.wikipedia.org/wiki/Continuous_integration\ncontinuous integration] builds.\n\n[#repeatable_test][heading Goal: Repeatable Test]\n\nWe should get the same results from automated tests every time we run\nthem, provided the implementation of the system under test has not changed\nbetween runs.  In the context of unit testing, this implies that a test\ncase must control all the collaborators that can influence the system.\n\nThe most troublesome collaborators are among the following:\n* current date and time\n* device input\n* file system\n* system services (Windows registry, networking, etc.)\n* C style apis\n\nIn the book \"Working Effectively with Legacy Code\", Michael Feathers\ndescribed a number of techniques for decoupling the system under test\nfrom such troublesome collaborators that can cause unit tests to\nspuriously fail.  All the techniques are variations on a theme: introduce\na level of indirection to decouple the system under test from a collaborator.\nC++ offers [@http://en.wikipedia.org/wiki/Template_metaprogramming#Static_polymorphism\nstatic polymorphism] via templates as well as the usual dynamic\npolymorphism via interfaces to decouple a system under test from a\ncollaborator.\n\n[#simple_tests][heading Goal: Simple Tests]\n\nWe keep tests simple by exercising only one scenario for each test case.\nSimple test cases read linearly through the phases of setup, exercise and\nverify.  Trying to exercise too much functionality in a single test case\ncan introduce unnecessary complexity into the test.\n\nDuplication between test cases can make tests hard to read by distracting\nus from the steady rhythm of setup, exercise and verify of test cases.\nYou may find it useful to apply the\n[@http://en.wikipedia.org/wiki/Rule_of_three_(computer_programming) rule of\nthree] when writing test cases to decide when to extract duplication into\na fixture.\n\n[#expressive_tests][heading Goal: Expressive Tests]\n\nSometimes low-level setup details get in the way of a test reading\nclearly.  This could be the result of a complicated data structure needed\nin order to exercise the system down a particular code path.  Similarly,\nthe verification of a result produced by the system under test may involve\na series of assertions that make the test hard to follow.  __test__\nprovides fixtures as a way to localize these distracting details by\nextracting setup and assertion methods into the fixture.\n\nOver time we build up a series of methods in the fixture that allow us\nto express domain concepts succinctly and clearly in the tests, making\nthem more expressive of the scenario in the domain.  Fixtures can be\ncombined through aggregation or inheritance in order to express combinations\nand hierarchies of domain concepts.\n\n[#separation_of_concerns][heading Goal: Separation of Concerns]\n\nWe keep test code separated from production code with the packaging\nmechanisms provided by C++.  Production code is supplied to the test\nexecutable as a library, either static or dynamic.  The test code resides\nin separate source files from the production code.  The production code\nconsumed by the test code is compiled with the exact same preprocessor\nsettings as the production code to ensure that tests do not influence\nthe production code.\n\nWe keep concerns separated in our tests by testing each concern in its own\ntest case.  Each test case exercises a single scenario and our tests\nexercise the responsibilities or classes individually.  If we are\npracticing test-driven development, we keep the\n[@http://en.wikipedia.org/wiki/Single_responsibility_principle single\nresponsibility principle] in mind as we are creating the system to satisfy\nthe evolving tests.  When our tests start involving more than one concern,\nit can be a sign that our system under test is covering more than one\nresponsibility.\n\n[#robust_test][heading Goal: Robust Test]\n\nTest cases are robust when small changes to the system under test result\nin a small number of test cases failing.  If a small change to the system\nresults in many test cases failing, then our tests are not robust.  If\nour tests cases do not sufficiently isolate the system under test from its\ncollaborators, then a change to one part of the system can cause tests on\nseemingly unrelated parts of the system to fail.  If we have repeated\nassertions in many test cases for the same system under test, then many\ntest cases can fail if that single assertion fails.  Each of these\nsituations is a case of overlap between test cases; in the first case,\nthe overlap is between the parts of the production code unrelated to the\nsystem under test that we exercise and in the second case, the overlap is\nbetween test cases on the system under test. \n\n[endsect]\n\n[section:acceptance_tests Acceptance Tests and Unit Tests]\n\nUnit testing helps us to find bugs \"in the small\"; little implementation\ndetails that we got wrong while we were building a function, a method\nor a class.  When we test each class as an isolated unit, we can miss\nerrors in the way two classes interact or in the way a whole ensemble\nof classes cooperate in an integrated system.\n\nAn acceptance test is an automated test that exercises our system as an\nintegrated whole and not as a collection of isolated units.  In a unit\ntest, we decouple ourselves from the execution environment in order to\ntest a piece of code in isolation.  In an acceptance test, we run the\nwhole system and provide controlled inputs to the system.  This may\nconsist of prepared input data files, prepared input databases and so-on.\n\nUsing these two forms of automated testing, we can use them as a vise\nto squeeze bugs between the two forms of automated tests.  Unit tests\npush from below and acceptance tests push from above.\n\nWhile the facilities in __test__ can be used to create an automated\nacceptance test, the tools are fairly low-level for the kinds of high-level\ncriteria that an acceptance test would use.  Acceptance tests are usually\ndefined by the [@http://en.wikipedia.org/wiki/Product_owner#Roles product\nowner] or customer and will describe acceptance criteria in the language\nclosest to the problem domain and farthest away from the details of the\nimplementation.\n\nA better approach for automated acceptance tests would be a tool such as\n[@http://www.fitnesse.org FitNesse] that is designed for automated\nacceptance testing.\n\n[endsect]\n\n[section:testing_file_io Testing File I/O]\n\nA common problem encountered in unit testing is interaction with the\nfile system: scanning directories, creating files, opening files, reading\nfiles, writing files, creating symbolic links and so-on.  Interacting\ndirectly with the file system when executing unit tests can lead to\na failure of tests to be [link robust_test robust] or [link repeatable_test\nrepeatable].  We also want our unit tests to be fast; an execution time of\n100 milliseconds is considered a slow unit test.  Interacting directly with the file\nsystem can make our unit tests take too long to execute.\n\nThe simplest approach is to wrap file system operations in an interface\nand perform all operations through the interface.  Consider the following\nexample of a function that returns a vector of filenames ending in \".txt\"\nin a given directory:\n\n[import system_under_test/scanner/scanner.hpp][text_files_decl]\n\nHow can we unit test =text_files= without relying on the actual contents\nof the file system?  We can decouple =text_files= from the file system by\nintroducing an interface:\n\n[text_files_dependency_decl]\n\nWe've used a forward declaration of =directory_scanner= where =text_files=\nis declared.  The interface looks like this:\n\n[import system_under_test/scanner/directory_scanner.hpp][directory_scanner]\n\nThe interface =directory_scanner= is used to isolate the free function\n=text_files= from directly interacting with the file system.  In the\nunit tests, we use an implementation of =directory_scanner= that senses\nhow =text_files= uses the interface and allows us to control the data\nmade available to =text_files=.  The tests can use a hand-crafted\nfake implementation or an implementation from a mock library.  The fake\nmight look something like this:\n\n[import examples/file_system.cpp][fake_directory_scanner]\n\nThe tests for =text_files= use the =fake_directory_scanner= to specify\nthe configuration of the file system for the different test cases:\n\n[test_scanner]\n\nIn production code, we use an implementation of =directory_scanner= that\ninteracts directly with the file system using Boost.FileSystem.\n\n[import system_under_test/scanner/filesystem_directory_scanner.hpp][filesystem_directory_scanner]\n\nWe've wrapped just enough of Boost.FileSystem for our needs;\nBoost.FileSystem has a very large surface area and we don't need to put\nan interface around the entire thing, just enough to satisfy the needs\nof =text_files=.\n\nIf we don't want production code to have to worry about supplying an\ninstance of =filesystem_directory_scanner= to =text_files=, we can use\noverloading on =text_files= and use simple delegation to supply the\ndependency:\n\n[import system_under_test/scanner/scanner.cpp][text_files_impl]\n\nSeeing this, you might wonder if we need to unit test the overload we\njust created?  Because we are using simple delegation here, there isn't\nsufficient complexity to warrant unit testing.  However, we have no unit\ntests for =filesystem_directory_scanner=, which does have control\nstructures.  We will want some sort of automated tests around this code\nto verify that it functions properly.  We can use\n[link test.guide.acceptance_tests acceptance tests] to verify the system\nas a whole, exercising all the components end-to-end and not just in\nisolation.\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/scanner/scanner.hpp scanner.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/scanner/scanner.cpp scanner.cpp]\n * [@boost:/libs/test/doc/src/system_under_test/scanner/directory_scanner.hpp directory_scanner.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/scanner/filesystem_directory_scanner.hpp filesystem_directory_scanner.hpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/file_system.cpp file_system.cpp]\n\n[endsect]\n\n[section Mocking Collaborators]\n\nIn [link test.guide.testing_file_io testing file I/O], we showed an example\nof creating a class =fake_directory_scanner= that acted as a simple test\ndouble for an interface.  Such simple fake objects are fine at first, but\nthey're full of boring boiler plate code and after a while it becomes\ntedious to write them by hand.\n\nFor collaborators defined by a pure virtual base class, also known as\nan interface, there are mock object frameworks that alleviate the need to\nwrite the repetitive boiler plate code.  One such mock object framework\nthat is designed to work with __test__ is the\n[@http://turtle.sourceforge.net Turtle mock object framework].\n\nHere is an example of the file system tests written using turtle:\n\n[import examples/turtle_mock.cpp]\n[mock_directory_scanner]\n\nDefining the mock object is considerably simpler than writing a fake\nobject by hand.  Turtle uses variadic argument macros and template\nbased type deduction to infer the type signature of the methods simply\nfrom the number of arguments each method takes.  This alleviates us from\nhaving to repeat all of this information from the interface into the\nimplementation of the test double.\n\nNow we can rewrite our tests to use a mock object configured for each test\ncase:\n\n[test_scanner_with_mocks]\n\nThe tests themselves are largely unchanged and what is different is the\nintention revealing methods we placed in the test fixture.\nMock object frameworks generally provide a rich set\nof methods on the mock object for setting the expectations on the\nnumber of times a method is called, such as =once()=, the expected\narguments to a method, such as =with()=, and the return value of a method,\nsuch as =returns()=.\n\nWith a turtle mock, the expectations are verified when the mock object\nis destroyed.  The mock is a member in our fixture and will be destroyed\nat the end of every test case.\n\n[heading Example Source Code]\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/scanner/scanner.hpp scanner.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/scanner/scanner.cpp scanner.cpp]\n * [@boost:/libs/test/doc/src/system_under_test/scanner/directory_scanner.hpp directory_scanner.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/scanner/filesystem_directory_scanner.hpp filesystem_directory_scanner.hpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/turtle_mock.cpp turtle_mock.cpp]\n\n[endsect]\n\n[section Testing =main=]\n\nIf there is considerable logic in an appliation's =main= function, this\ncan be difficult to unit test.  The\n[@http://en.wikipedia.org/wiki/One_definition_rule One Definition Rule]\nprevents us from having the application's =main= and the unit test\nexecutable's =main= in the same executable.  Furthermore, even if we\ncould perform some trick to resolve the multiply defined symbol[footnote\nWe could abuse the C++ preprocessor or use object file symbol\nmodification.], we would still need to figure out how to link the test\nexecutable with the application's =main= function to test the code.\n\nWhen it becomes difficult to test code where it is currently, such as\nin the body of =main=, the simplest thing to do is to move the code\nsomewhere else that makes it easy to test.  Here is one way to accomplish\nthis:\n\n# rename =main= to =app_main=.\n# move =app_main= to a library.\n# create a simple delegating =main= that calls =app_main=.\n# write tests for =app_main= by linking against the library.\n\nThe delegating =main= looks like this:\n```\nextern int app_main(int argc, char* argv[]);\n\nint main(int argc, char* argv[])\n{\n    return app_main(argc, argv);\n}\n```\nIf you don't already have a library for =app_main=, then create one\nand add all the other application code to the library as well.  The\nbuild logic for making the executable will consist of compiling a\nsingle source file containing your delegating implementation of =main=\nand linking against a library containing the rest of the application.\nThis will give you a starting point for writing unit tests for anything\nin your application.\n\n[endsect]\n\n[section Testing Protected or Private Members]\n\nWhen testing a large class, you may find yourself wanting to test\nprotected or private members of the class.  The best approach is to\ntest those members by testing the public members of the class.  If\nusing the public members of a class requires considerable setup in\norder to force execution down a particular path that exercises the\nprotected or private member in question, then you may wish to refactor\nthe code to enhance testability.\n\nThe most expedient technique for protected members is to raise their\nvisibility through derivation.  Suppose we have a base class `B` with\na protected member `p` that we wish to test:\n```\nclass B\n{\n// ... other stuff in B\nprotected:\n    bool p();\n};\n```\nWe can derive a class `D` in the test code from the class `B` in the\nproduction code that raises the visibility of `p`:\n```\nclass D : public B\n{\n// ... other stuff needed to build a D from a B\npublic:\n    using B::p;\n};\n```\nNow we can write a test for `D::p`.\n\nWhile this certainly seems expedient, it's annoying to write these derived\nclasses simply for the purposes of hoisting members into public visibility.\nIt also just feels dirty.  We're taking implementation details that are\nsupposed to be hidden from consumers of the class and we're exposing them.\nIf we are not diligent and watchful, this class `D` in the test\nproject that was only intended for testing may find itself showing up in\nthe production code.\n\nMaybe the problem isn't one of visibility but that we simply aren't\nlistening closely enough to the code in the first place.  As Herb Sutter\nshows us in [@http://www.gotw.ca/gotw/076.htm Uses and Abuses of Access\nRights], the \"Liar\", the \"Pickpocket\", the \"Cheat\" and the \"Language\nLawyer\" can all find ways to subvert the access protections afforded to\na class.\n\nWhen we are tempted to test non-public methods of a class, it's because we\nfeel that there is sufficient complexity in these non-public methods to\nwarrant testing them.  What if that complexity is trying to tell us\nsomething?  If our class is so complex, isn't it possible that it's\nviolating the\n[@http://en.wikipedia.org/wiki/Single_responsibility_principle Single\nResponsibility Principle]?  Maybe the class is trying to encompass several\nresponsibilities and should be decomposed into two or more classes, each\nwith a single responsibility.  We could perform the\n[@http://www.refactoring.com/catalog/extractClass.html Extract Class]\nrefactoring to create two classes with appropriate public interfaces and\nthen write tests against those new public interfaces.\n\nAnother choice is to refactor the original class using the\n[@http://en.wikipedia.org/wiki/Opaque_pointer \"pimpl idiom\"], elevate\nthe visibility to public of all the methods on the implementation class\nand write tests against the implementation class.  This has the same\ndownsides as the derive-and-elevate approach and we're still ignoring\nthe whispers of the code.\n\nWhen your code is hard to test, your code is telling you something.\nListen to the code!\n\n[endsect]\n\n[section Manually Registering Test Cases and Suites]\n\n[heading Registering Test Cases]\n\nYou may have an existing body of tests that you wish to register with\n__test__ manually.  You can use __boost_test_case__ to register a \nfunction taking no arguments and returning =void= as a test case:\n\n[import examples/manual_registration.cpp][register_function]\n\nYou can use a test case method on a fixture class by registering a\nfunction that creates an instance of the fixture and invokes the test\nmethod.  This assures that a fresh fixture is created for each test\ncase, ensuring that each test executes independently of other tests.\n\n[hello_fixture]\n[register_method_function_instance]\n\nYou can register a method on a class as a test case by using Boost.Bind\nto bind the method to a static instance of the class.  This can cause\noen test case to influence the execution of another test case because\nthey share the static fixture.\n\n[register_method_static_instance]\n\nA static instance of the class is used so that the instance exists at the\ntime the test case is invoked.  Test case invocation happens after\nregistration, so using a local instance in the registration function is\ninsufficient.\n\n[heading Registering Test Suites]\n\nA new test suite is created with the __boost_test_suite__ macro.  The\nnew suite must be added to the master test suite to execute its tests.\nAny number of test suites can be added in a hierarchy of suites and\nany test case can be added to any test suite.\n\n[register_test_suite]\n\n[heading Example Source Code]\n\n* System under test:\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.hpp hello.hpp]\n * [@boost:/libs/test/doc/src/system_under_test/hello/hello.cpp hello.cpp]\n* Tests:\n * [@boost:/libs/test/doc/src/examples/manual_registration.cpp manual_registration.cpp]\n\n[endsect]\n\n[endsect]\n"
  },
  {
    "path": "files/test_driven/Boost.Test Documentation Rewrite/libs/test/doc/todo.txt",
    "content": "- Document floating-point comparison algorithms\r\n- BOOST_REQUIRE_CLOSE\r\n- BOOST_REQUIRE_CLOSE_FRACTION\r\n- BOOST_REQUIRE_SMALL\r\n- --run_test comma and slash confusion\r\n"
  },
  {
    "path": "files/test_driven/ReadMe.txt",
    "content": "Here's how you can work through this workshop following along at\r\nyour computer.\r\n\r\nPrerequisites:\r\n\r\n1. Download and install CMake 2.8\r\n2. Download and unpack boost 1.55 somewhere on your local machine.\r\n   You do not need built libraries for this workshop.\r\n3. Download and unpack Turtle 1.2.5 somewhere on your local machine.\r\n   Turtle is a header-only library.\r\n\r\nUnderstanding the slides:\r\n\r\nEach slide has a folder icon in the upper right with a number on it\r\nidentifying the snapshot that corresponds to the code on the slide.\r\nMany snapshots are associated with multiple slides as the explanation\r\nproceeds.\r\n\r\nEach slide has an icon in the lower-right corner that indicates if the\r\ncode is currently failing (red X), passing (green check mark) or being\r\nrefactored (green triangular cyclic arrow).  The changes being made\r\nin each slide are shown in blue and error messages are shown in yellow.\r\n\r\nBootstrapping your workspace:\r\n\r\n1. Create a directory for your workspace on your local machine.\r\n2. Start by copying the contents of the snapshot directory 0 to your\r\n   workspace.  Follow along with the slides and edit LocalPaths.txt at\r\n   the appropriate time.  This is the only file you should need to edit by\r\n   hand.  Snapshot 0 contains an initial version of this file with a\r\n   path that is almost certainly wrong for your machine.\r\n3. As directed in the sldies, run CMake to bootstrap your build.\r\n4. CMake should then automatically regenerate your build every time\r\n   CMakeLists.txt or LocalPaths.txt changes when you build the code.\r\n   If not, you can re-run the CMake command to regenerate your build\r\n   from the CMakeLists.txt and LocalPaths.txt files.\r\n5. As you proceed through the workshop, copy the contents of the numbered\r\n   snapshot to your workspace, overwriting all files.  LocalPaths.txt,\r\n   which contains paths specific to your local machine, is only present\r\n   in snapshot 0 and will not be overwritten from other snapshots.\r\n\r\nWorking the hangman game exercise problem:\r\n\r\nUse a CMake build recipe similar to the one used in the slides to get your\r\nbuild going ASAP -- just copy the workspace CMakeLists.txt and\r\nLocalPaths.txt to your exercise workspace and edit appropriately. Consult\r\nthe Boost.Test documentation rewrite included with the presentation and\r\nthe Turtle documentation included in it's distribution for a reference to\r\nassertion macros and more options for the mock object framework.\r\n"
  },
  {
    "path": "files/test_driven/snapshots/00/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/00/LocalPaths.txt",
    "content": "set(BOOST_INCLUDEDIR D:/Code/boost/boost_1_55_0)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/00/factors/factors.cpp",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/00/factors/factors.h",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/00/test/test_factors.cpp",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/01/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/01/factors/factors.cpp",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/01/factors/factors.h",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/01/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n"
  },
  {
    "path": "files/test_driven/snapshots/02/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/02/factors/factors.cpp",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/02/factors/factors.h",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/02/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n"
  },
  {
    "path": "files/test_driven/snapshots/03/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/03/factors/factors.cpp",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/03/factors/factors.h",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/03/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nBOOST_AUTO_TEST_CASE(one_yields_empty)\r\n{\r\n  vector<int> expected;\r\n\r\n  vector<int> actual = prime_factors(1);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/04/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/04/factors/factors.cpp",
    "content": ""
  },
  {
    "path": "files/test_driven/snapshots/04/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/04/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nBOOST_AUTO_TEST_CASE(one_yields_empty)\r\n{\r\n  vector<int> expected;\r\n\r\n  vector<int> actual = prime_factors(1);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/05/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/05/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n#include <stdexcept>\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  throw std::runtime_error(\"not implemented\");\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/05/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/05/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nBOOST_AUTO_TEST_CASE(one_yields_empty)\r\n{\r\n  vector<int> expected;\r\n\r\n  vector<int> actual = prime_factors(1);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/06/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/06/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  return std::vector<int>();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/06/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/06/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nBOOST_AUTO_TEST_CASE(one_yields_empty)\r\n{\r\n  vector<int> expected;\r\n\r\n  vector<int> actual = prime_factors(1);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/07/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/07/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  return std::vector<int>();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/07/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/07/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nBOOST_AUTO_TEST_CASE(one_yields_empty)\r\n{\r\n  vector<int> expected;\r\n\r\n  vector<int> actual = prime_factors(1);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(two_yields_2)\r\n{\r\n  vector<int> expected;\r\n  expected.push_back(2);\r\n\r\n  vector<int> actual = prime_factors(2);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/08/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/08/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    primes.push_back(2);\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/08/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/08/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nBOOST_AUTO_TEST_CASE(one_yields_empty)\r\n{\r\n  vector<int> expected;\r\n\r\n  vector<int> actual = prime_factors(1);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(two_yields_2)\r\n{\r\n  vector<int> expected;\r\n  expected.push_back(2);\r\n\r\n  vector<int> actual = prime_factors(2);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/09/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/09/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    primes.push_back(2);\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/09/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/09/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(one_yields_empty)\r\n{\r\n  fixture f;\r\n\r\n  f.actual = prime_factors(1);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    begin(f.expected), end(f.expected),\r\n    begin(f.actual), end(f.actual));\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(two_yields_2)\r\n{\r\n  vector<int> expected;\r\n  expected.push_back(2);\r\n\r\n  vector<int> actual = prime_factors(2);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/10/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/10/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    primes.push_back(2);\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/10/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/10/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(one_yields_empty)\r\n{\r\n  fixture f;\r\n\r\n  f.prime_factors(1);\r\n\r\n  f.verify_expected_factors();\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(two_yields_2)\r\n{\r\n  vector<int> expected;\r\n  expected.push_back(2);\r\n\r\n  vector<int> actual = prime_factors(2);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/11/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/11/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    primes.push_back(2);\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/11/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/11/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(two_yields_2)\r\n{\r\n  vector<int> expected;\r\n  expected.push_back(2);\r\n\r\n  vector<int> actual = prime_factors(2);\r\n\r\n  BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n    expected.begin(), expected.end(),\r\n    actual.begin(), actual.end());\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/12/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/12/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    primes.push_back(2);\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/12/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/12/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n\r\n  verify_expected_factors();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/13/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/13/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    primes.push_back(2);\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/13/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/13/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n\r\n  verify_expected_factors();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/14/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/14/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    primes.push_back(n);\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/14/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/14/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n\r\n  verify_expected_factors();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/15/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/15/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    primes.push_back(n);\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/15/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/15/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n\r\n  verify_expected_factors();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/16/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/16/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    if (n % 2 == 0) {\r\n      primes.push_back(2);\r\n      n /= 2;\r\n    }\r\n    if (n > 1) {\r\n      primes.push_back(n);\r\n    }\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/16/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/16/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n\r\n  verify_expected_factors();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/17/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/17/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    if (n % 2 == 0) {\r\n      primes.push_back(2);\r\n      n /= 2;\r\n    }\r\n    if (n > 1) {\r\n      primes.push_back(n);\r\n    }\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/17/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/17/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n\r\n  verify_expected_factors();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/18/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/18/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    if (n % 2 == 0) {\r\n      primes.push_back(2);\r\n      n /= 2;\r\n    }\r\n    if (n > 1) {\r\n      primes.push_back(n);\r\n    }\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/18/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/18/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n\r\n  verify_expected_factors();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/19/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/19/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    while (n % 2 == 0) {\r\n      primes.push_back(2);\r\n      n /= 2;\r\n    }\r\n    if (n > 1) {\r\n      primes.push_back(n);\r\n    }\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/19/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/19/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  void verify_expected_factors() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n\r\n  verify_expected_factors();\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n\r\n  verify_expected_factors();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/20/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/20/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    while (n % 2 == 0) {\r\n      primes.push_back(2);\r\n      n /= 2;\r\n    }\r\n    if (n > 1) {\r\n      primes.push_back(n);\r\n    }\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/20/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/20/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/21/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/21/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  if (n > 1) {\r\n    while (n % 2 == 0) {\r\n      primes.push_back(2);\r\n      n /= 2;\r\n    }\r\n    if (n > 1) {\r\n      primes.push_back(n);\r\n    }\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/21/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/21/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/22/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/22/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    while (n % candidate == 0) {\r\n      primes.push_back(candidate);\r\n      n /= candidate;\r\n    }\r\n    ++candidate;\r\n  }\r\n  if (n > 1) {\r\n    primes.push_back(n);\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/22/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/22/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/23/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/23/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    while (n % candidate == 0) {\r\n      primes.push_back(candidate);\r\n      n /= candidate;\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/23/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/23/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/24/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/24/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/24/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/24/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/25/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/25/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/25/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/25/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/25/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include \"mediator.h\"\r\n"
  },
  {
    "path": "files/test_driven/snapshots/26/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/26/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/26/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/26/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/26/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/26/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include \"mediator.h\"\r\n"
  },
  {
    "path": "files/test_driven/snapshots/27/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/27/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/27/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/27/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/27/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/27/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include \"mediator.h\"\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  // ?what_type? dialog;\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n\r\n  // ?how? verify that ok button is initially disabled\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/28/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/28/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/28/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/28/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog) { }\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/28/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/28/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include \"mediator.h\"\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  prime_factors_dialog dialog;\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n\r\n  BOOST_REQUIRE(!\"verify that ok button is initially disabled\");\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/29/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/29/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/29/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/29/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog) { }\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/29/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/29/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include \"mediator.h\"\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  prime_factors_dialog dialog;\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n\r\n  BOOST_REQUIRE(!\"verify that ok button is initially disabled\");\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/30/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\ntarget_include_directories(test_factors PRIVATE factors ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/30/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/30/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/30/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog) { }\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/30/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/30/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  prime_factors_dialog dialog;\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n\r\n  BOOST_REQUIRE(!\"verify that ok button is initially disabled\");\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/31/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\nset(TURTLE_INCLUDE D:/Code/turtle)\r\ntarget_include_directories(test_factors\r\n    PRIVATE factors ${TURTLE_INCLUDE} ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/31/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/31/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/31/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog) { }\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/31/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/31/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  prime_factors_dialog dialog;\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n\r\n  BOOST_REQUIRE(!\"verify that ok button is initially disabled\");\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/32/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\nset(TURTLE_INCLUDE D:/Code/turtle)\r\ntarget_include_directories(test_factors\r\n    PRIVATE factors ${TURTLE_INCLUDE} ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/32/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/32/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/32/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog) { }\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/32/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/32/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nMOCK_BASE_CLASS(mock_dialog, prime_factors_dialog)\r\n{\r\n  MOCK_METHOD(enable_ok_button, 1);\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/33/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\nset(TURTLE_INCLUDE D:/Code/turtle)\r\ntarget_include_directories(test_factors\r\n    PRIVATE factors ${TURTLE_INCLUDE} ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/33/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/33/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/33/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog) {\r\n    dialog.enable_ok_button(false);\r\n  }\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/33/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/33/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nMOCK_BASE_CLASS(mock_dialog, prime_factors_dialog)\r\n{\r\n  MOCK_METHOD(enable_ok_button, 1);\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/34/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\nset(TURTLE_INCLUDE D:/Code/turtle)\r\ntarget_include_directories(test_factors\r\n    PRIVATE factors ${TURTLE_INCLUDE} ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/34/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/34/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/34/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog) {\r\n    dialog.enable_ok_button(false);\r\n  }\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/34/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/34/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nMOCK_BASE_CLASS(mock_dialog, prime_factors_dialog)\r\n{\r\n  MOCK_METHOD(enable_ok_button, 1);\r\n  MOCK_METHOD(value_text, 0);\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_enabled_with_valid_integer)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(true);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"123\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/35/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\nset(TURTLE_INCLUDE D:/Code/turtle)\r\ntarget_include_directories(test_factors\r\n    PRIVATE factors ${TURTLE_INCLUDE} ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/35/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/35/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/35/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\n#include <string>\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n  virtual std::string value_text() const = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog)\r\n      : dialog_(dialog) {\r\n    dialog.enable_ok_button(false);\r\n  }\r\n  void value_changed() {\r\n    dialog_.enable_ok_button(true);\r\n  }\r\n\r\nprivate:\r\n  prime_factors_dialog& dialog_;\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/35/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/35/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nMOCK_BASE_CLASS(mock_dialog, prime_factors_dialog)\r\n{\r\n  MOCK_METHOD(enable_ok_button, 1);\r\n  MOCK_METHOD(value_text, 0);\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_enabled_with_valid_integer)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(true);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"123\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/36/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\nset(TURTLE_INCLUDE D:/Code/turtle)\r\ntarget_include_directories(test_factors\r\n    PRIVATE factors ${TURTLE_INCLUDE} ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/36/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/36/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/36/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\n#include <string>\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n  virtual std::string value_text() const = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog)\r\n      : dialog_(dialog) {\r\n    dialog.enable_ok_button(false);\r\n  }\r\n  void value_changed() {\r\n    dialog_.enable_ok_button(true);\r\n  }\r\n\r\nprivate:\r\n  prime_factors_dialog& dialog_;\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/36/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/36/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nMOCK_BASE_CLASS(mock_dialog, prime_factors_dialog)\r\n{\r\n  MOCK_METHOD(enable_ok_button, 1);\r\n  MOCK_METHOD(value_text, 0);\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_enabled_with_valid_integer)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(true);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"123\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(empty_text_disables_button)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).at_least(1).with(false);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/37/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\nset(TURTLE_INCLUDE D:/Code/turtle)\r\ntarget_include_directories(test_factors\r\n    PRIVATE factors ${TURTLE_INCLUDE} ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/37/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/37/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/37/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\n#include <string>\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n  virtual std::string value_text() const = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog)\r\n      : dialog_(dialog) {\r\n    dialog.enable_ok_button(false);\r\n  }\r\n  void value_changed() {\r\n    dialog_.enable_ok_button(dialog_.value_text().length() > 0);\r\n  }\r\n\r\nprivate:\r\n  prime_factors_dialog& dialog_;\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/37/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/37/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nMOCK_BASE_CLASS(mock_dialog, prime_factors_dialog)\r\n{\r\n  MOCK_METHOD(enable_ok_button, 1);\r\n  MOCK_METHOD(value_text, 0);\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_enabled_with_valid_integer)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(true);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"123\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(empty_text_disables_button)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).at_least(1).with(false);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/38/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\nset(TURTLE_INCLUDE D:/Code/turtle)\r\ntarget_include_directories(test_factors\r\n    PRIVATE factors ${TURTLE_INCLUDE} ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/38/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/38/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/38/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\n#include <string>\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n  virtual std::string value_text() const = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog)\r\n      : dialog_(dialog) {\r\n    dialog.enable_ok_button(false);\r\n  }\r\n  void value_changed() {\r\n    dialog_.enable_ok_button(dialog_.value_text().length() > 0);\r\n  }\r\n\r\nprivate:\r\n  prime_factors_dialog& dialog_;\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/38/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/38/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nMOCK_BASE_CLASS(mock_dialog, prime_factors_dialog)\r\n{\r\n  MOCK_METHOD(enable_ok_button, 1);\r\n  MOCK_METHOD(value_text, 0);\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_enabled_with_valid_integer)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(true);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"123\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(empty_text_disables_button)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).at_least(1).with(false);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(not_a_number_disables_button)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).at_least(1).with(false);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"junk\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/39/CMakeLists.txt",
    "content": "cmake_minimum_required(VERSION 2.8)\r\nproject(prime_factors CXX)\r\n\r\nadd_library(factors STATIC\r\n    factors/factors.cpp factors/factors.h factors/mediator.h)\r\n\r\ninclude(LocalPaths.txt)\r\n\r\nset(Boost_USE_STATIC_LIBS ON)\r\nset(Boost_USE_MULTITHREADED ON)\r\nset(Boost_USE_STATIC_RUNTIME OFF)\r\nfind_package(Boost 1.55)\r\n\r\nadd_executable(test_factors\r\n    test/test_factors.cpp test/test_mediator.cpp)\r\n\r\nadd_dependencies(test_factors factors)\r\nset(TURTLE_INCLUDE D:/Code/turtle)\r\ntarget_include_directories(test_factors\r\n    PRIVATE factors ${TURTLE_INCLUDE} ${Boost_INCLUDE_DIRS})\r\ntarget_link_libraries(test_factors factors)\r\nadd_custom_command(TARGET test_factors\r\n    POST_BUILD\r\n    COMMAND test_factors)\r\n"
  },
  {
    "path": "files/test_driven/snapshots/39/factors/factors.cpp",
    "content": "#include \"factors.h\"\r\n\r\nextern std::vector<int> prime_factors(int n)\r\n{\r\n  std::vector<int> primes;\r\n  int candidate = 2;\r\n  while (n > 1) {\r\n    for (; n % candidate == 0; n /= candidate) {\r\n      primes.push_back(candidate);\r\n    }\r\n    ++candidate;\r\n  }\r\n  return primes;\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/39/factors/factors.h",
    "content": "#if !defined(FACTORS_H)\r\n#define FACTORS_H\r\n\r\n#include <vector>\r\n\r\nextern std::vector<int> prime_factors(int n);\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/39/factors/mediator.h",
    "content": "#if !defined(MEDIATOR_H)\r\n#define MEDIATOR_H\r\n\r\n#include <string>\r\n#include <sstream>\r\n\r\nclass prime_factors_dialog\r\n{\r\npublic:\r\n  virtual ~prime_factors_dialog() { }\r\n  virtual void enable_ok_button(bool enabled) = 0;\r\n  virtual std::string value_text() const = 0;\r\n};\r\n\r\nclass prime_factors_mediator\r\n{\r\npublic:\r\n  prime_factors_mediator(prime_factors_dialog& dialog)\r\n      : dialog_(dialog) {\r\n    dialog.enable_ok_button(false);\r\n  }\r\n  void value_changed() {\r\n    std::istringstream stream(dialog_.value_text());\r\n    int n;\r\n    stream >> n;\r\n    dialog_.enable_ok_button(!stream.fail() &&\r\n      dialog_.value_text().length() > 0);\r\n  }\r\n\r\nprivate:\r\n  prime_factors_dialog& dialog_;\r\n};\r\n\r\n#endif\r\n"
  },
  {
    "path": "files/test_driven/snapshots/39/test/test_factors.cpp",
    "content": "#define BOOST_TEST_MAIN\r\n#include <boost/test/included/unit_test.hpp>\r\n#include \"factors.h\"\r\n\r\nusing namespace std;\r\n\r\nstruct fixture {\r\n  vector<int> expected;\r\n  vector<int> actual;\r\n  void prime_factors(int n) {\r\n    actual = ::prime_factors(n);\r\n  }\r\n  ~fixture() {\r\n    BOOST_REQUIRE_EQUAL_COLLECTIONS(\r\n      expected.begin(), expected.end(),\r\n      actual.begin(), actual.end());\r\n  }\r\n};\r\n\r\nBOOST_FIXTURE_TEST_CASE(one_yields_empty, fixture)\r\n{\r\n  prime_factors(1);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(two_yields_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n\r\n  prime_factors(2);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(three_yields_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n\r\n  prime_factors(3);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(four_yields_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(4);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(six_yields_2_3, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(6);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(eight_yields_2_2_2, fixture)\r\n{\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n  expected.push_back(2);\r\n\r\n  prime_factors(8);\r\n}\r\n\r\nBOOST_FIXTURE_TEST_CASE(nine_yields_3_3, fixture)\r\n{\r\n  expected.push_back(3);\r\n  expected.push_back(3);\r\n\r\n  prime_factors(9);\r\n}\r\n"
  },
  {
    "path": "files/test_driven/snapshots/39/test/test_mediator.cpp",
    "content": "#define BOOST_TEST_NO_LIB\r\n#include <boost/test/unit_test.hpp>\r\n#include <turtle/mock.hpp>\r\n#include \"mediator.h\"\r\n\r\nMOCK_BASE_CLASS(mock_dialog, prime_factors_dialog)\r\n{\r\n  MOCK_METHOD(enable_ok_button, 1);\r\n  MOCK_METHOD(value_text, 0);\r\n};\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_initially_disabled)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(ok_button_enabled_with_valid_integer)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(false);\r\n  MOCK_EXPECT(dialog.enable_ok_button).once().with(true);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"123\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(empty_text_disables_button)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).at_least(1).with(false);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n\r\nBOOST_AUTO_TEST_CASE(not_a_number_disables_button)\r\n{\r\n  mock_dialog dialog;\r\n  MOCK_EXPECT(dialog.enable_ok_button).at_least(1).with(false);\r\n  MOCK_EXPECT(dialog.value_text).returns(\"junk\");\r\n\r\n  prime_factors_mediator mediator(dialog);\r\n  mediator.value_changed();\r\n}\r\n"
  }
]