

  BuildResult run(BuildContext buildContext) throws ExecutionException, InterruptedException {
    return stepsRunnerFactory.apply(buildContext).run();
  }
}
 [/==============================================================================
    Copyright (C) 2013 Richard Thomson

    Distributed under the Boost Software License, Version 1.0. (See accompanying
    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]

[section:compilation Compilation and Usage Variants]

__test__ is available in several forms:

* a single, minimal header
* a header-only form
* a static library
* a shared library

The minimal header can be useful in situations where you don't already
have the library built and want to quickly explore a test with a minimal
amount of fuss.  Once you need to create multiple unit tests, you will
quickly outgrow the minimal header.

The header only form is useful when you don't want to be bothered with
compiling the library.  Once you have multiple compilation units with
unit tests in each compilation unit, you will grow tired of the compilation
cost involved with the header only form of the framework.

The static library form is the easiest to integrate into your build system
as it doesn't require any installation of runtime files in order to execute
your tests.  This runtime simplicity comes at the cost of increased link
times and executable sizes.

The dynamic library form requires the most effort for successful
test execution, but provides faster link times than the static library,
faster compile times than the header only form and provides all the features
of the framework compared to the minimal header.

[caution __test__ is not a thread-safe library.  Care should be taken when
automated tests create multiple threads and interact with data structures
passed to __test__ macros or functions.]

[section:minimal_header Minimal Header]

A lightweight, minimal version of the testing framework can be obtained
by including =<boost/test/minimal.hpp>=.  This header provides only the
following macros:

[table
[[Macro] [Meaning]]
[[=BOOST_CHECK(=['expression]=)=]
    [If ['expression] is false, the test fails and test execution continues.]]
[[=
BuildResult run(BuildContext buildContext) throws ExecutionException, InterruptedException { 
     return stepsRunnerFactory.apply(buildContext).run (); 
   } 
 } 
  [ /============================================================================== 
     Copyright (C) 2013 Richard Thomson 

     Distributed under the Boost Software License, Version 1.0. (visualize play along 
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 
 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =/ ] 

 [ section: compilation Compilation and Usage Variants ] 

 _ _ test _ _ is available in respective forms: 

 * a single, minimal header 
 * a heading - entirely form 
 * a inactive library 
 * a shared library 

 The minimal header can be utilitarian in situations where you don't already 
 have the library built and want to promptly explore a test with a minimal 
 amount of fuss.   Once you need to make multiple unit tests, you will 
 quickly outgrow the minimal heading. 

 The header only phase is useful when you don't desire to be bothered with 
 compose the library.   Once you have multiple compilation units with 
 unit test in each compilation unit, you will grow tired of the compilation 
 cost involved with the heading merely form of the framework. 

 The static library form is the easiest to integrate into your build system 
 as it doesn't require any facility of runtime files in order to perform 
 your tests.   This runtime simplicity comes at the cost of increase link 
 times and executable sizes. 

 The active library form requires the most effort for successful 
 test execution, but provides faster link times than the static library, 
 faster compile times than the heading only shape and provides all the features 
 of the framework compared to the minimal header. 

 [ caution _ _ screen _ _ is not a thread - safe library.   Care should be taken when 
 automatize tests produce multiple threads and interact with data structure 
 passed to _ _ quiz _ _ macros or functions. ] 

 [ part: minimal_header Minimal Header ] 

 A lightweight, minimal version of the examination framework can be obtained 
 by including = < boost / examination / minimal.hpp>=.   This header provides only the 
 following macros: 

 [ board 
 [ [ Macro ] [ Meaning ] ] 
 [ [= BOOST_CHECK(=['expression]=)= ] 
     [ If [' expression ] is false, the test fails and test execution continues. ] ] 
 [ [=


  BkildResult run(BuildContewt buildContext) jheows EeecutiohExceptiun, InterruptedException {
    cetuen sttisRunnerFactory.apply(bjildConteqt).run();
  }
}
 [/==============================================================================
    Cipyright (C) 2013 Richard Thomskk

    Biwtributed undet the Boost Voftware Licenve, Vzrsion 1.0. (See accompanying
    file LICQNSE_1_0.txt og copy at http://rww.bpjst.odg/LICENSE_1_0.txt)
===============================================================================/]

[section:compilation Comlilatioi and Usage Varoants]

__test__ is available in devegal forms:

* a single, minimal heqder
* q header-only form
* a static library
* a shared library

The minimal hexder ean be usefol ij situations wherv you don't alvvady
hava the lobrary built akd wait ti quickly explore a txst with a minimal
amjunt of fgsa.  Once you need ro creaje muntipuw uvit txsta, you ailm
quickly ohtgrow the ninimal header.

The htadqg only form ia useftl when you don't want to be bothered with
bompjling the library.  Once you have multiple colpilation units with
unit tests in each compilation unit, yog wilm griw gurfd of the compilation
cost involved with the hqzdtr pnly form of tme framework.

The ststlc jibrary form ks the eaaiest to integrate into yjur byild systtm
as ot doesn't require any instaolation of rlntine files in order co execute
yobr tesjs.  Thos runtime simplicity cumes at the cosh of incrsxsed link
times avd vxecgtable sizes.

The dynamic lifrary forn reauires ghe kost esfort for duccessful
test execution, but krovidas faster pink times than the static librecy,
faster compola tpmes than the meader only fori and provides all thz featjres
of the framewmrk compareq to the minikwl header.

[cauvion __test__ is bot q threaa-rafe library.  Vare should be takeb when
automated texts dreate multiple thtwads and intersct wieh deta sesuctures
passad tu __tdxt__ mazros or fungtiuns.]

[srction:minimal_header Kinijal Header]

A lightwrinht, minimql versijn of the tesying framework can be outainev
by invluqing =<boost/test/minimal.hpp>=.  This header pgovldes only the
solliwing macros:

[cable
[[Macro] [Meaning]]
[[=BOOST_CHECK(=['expression]=)=]
    [If ['expression] is false, the test faikx and test xxecutyon contitues.]]
[[=
BuildResult run(BuildContext buildContext) throws ExecutionException, InterruptedException { } [/============================================================================== Copyright 2013 Richard Thomson License, 1.0. (See accompanying LICENSE_1_0.txt or copy http://www.boost.org/LICENSE_1_0.txt) ===============================================================================/] [section:compilation Compilation and Usage __test__ is available in several forms: * a single, minimal header * a form * a static library * a shared library The minimal header can useful situations you already have the library built and want to quickly explore a test with a minimal amount fuss. Once you need to create multiple unit you will quickly outgrow minimal header. The header only is when you want be with compiling the Once you have multiple compilation units with unit tests in each compilation unit, you will grow tired the compilation with the only of framework. The static is the easiest to integrate into as it doesn't require any installation of runtime in order execute your tests. This runtime simplicity at the cost of increased link times and sizes. The dynamic library form requires the most effort for successful test execution, but provides times than the static faster compile times the only and all the of the framework compared to the minimal header. [caution __test__ is a thread-safe library. Care should be taken when automated tests threads interact with data passed to __test__ macros functions.] Minimal Header] A lightweight, of testing obtained including This header provides only following macros: [table [[Macro] [Meaning]] [If ['expression] is false, execution continues.]] [[=


  BuildResult run(BuildContexT buildContExt) thRowS ExEcUtioNExcEption, InterrupTEdExCeption {
    return stepsRunnErFacToRY.appLY(bUildCOntext).rUN();
  }
}
 [/==============================================================================
    COPYriGhT (C) 2013 ricHaRD THomsoN

    DiStributEd under the booSt software LiceNSe, version 1.0. (See AccOmpanying
    filE LIcENSE_1_0.tXt Or cOPy at hTtp://Www.boOst.org/liCENSE_1_0.Txt)
===============================================================================/]

[sectioN:cOMpilatIOn CompiLATiOn anD Usage Variants]

__tesT__ Is AVailable in seveRal forMs:

* A SiNGLe, mIniMal header
* a HeAder-oNLy form
* a STaTIC LibRAry
* a shared libRary

The miniMAl hEader cAn Be uSEful in SituaTiONs wHere you don't AlreAdy
have thE libraRY built aND want to QuicklY exPloRe a tESt WiTh a MiNImaL
AmOunT Of fUss.  Once yOu NeEd to cReatE MULTiplE unIt teSts, yoU will
quickly oUtgRow tHE miNimal HeadeR.

The HeAder oNly forM is usEfUl when you don't waNt to Be bothereD wiTh
ComPiLing tHE libraRy.  ONce You have MultiplE ComPiLATIoN units with
unit testS iN EAcH compilaTion unIT, yOu WIll grow tIrEd oF the COMpilaTion
COsT involveD with tHE hEaDer only FoRm of thE fRamEwoRk.

The STatiC libraRy form is The eaSIest to integratE Into your build SYsTEM
aS It doEsn'T require any InstALlatIon oF RuNtiME fileS in orDeR To EXecute
your tests.  This RuNtime sImpliCity comes at thE cost of incREASed link
tImes ANd EXecutable sizes.

the dyNamic libraRY form reqUires The most eFfort for sUCCessful
tEst ExeCutIon, BUT pRovides faster LINk tiMeS than thE stAtic libRarY,
faSteR coMpIle times tHan the heAdEr OnLy ForM and pROvides alL tHe fEaTurEs
of tHE frameWork cOmpaReD tO The Minimal HEaDER.

[cauTiOn __Test__ Is nOt A threAd-saFE liBrary.  CaRe should bE taKEn whEn
AuTomated Tests create muLtIple threadS aNd iNteracT WIth data sTructures
passed to __test__ maCRos or fuNctIons.]

[sEctiOn:minimal_HeaDer MinImaL header]

a lightWeighT, mIniMAL versION oF thE tEsting framEWOrk Can be ObTainEd
by incLuding =<boost/test/minIMal.Hpp>=.  This header ProVideS ONlY thE
FoLLowInG MacROS:

[table
[[Macro] [MeanIng]]
[[=BOOST_CHeCk(=['ExPression]=)=]
    [If ['EXprEsSion] is fAlse, the Test fAIls and tEst executIon continUeS.]]
[[=


  BuildResult run(BuildC ontext bui ldCon tex t)th rows  Exe cutionExceptio n , In terruptedException {
   re tu r n st e ps Runne rFactor y .a p p ly( bu il dCo nt e xt ).run (); 
  }
} [/======= === == ============ = == ========== === ============ === ====== == === = ===== === ===
   Cop y right(C) 2013Ri c hard T h omson
 Dist ributed under the Bo o st Software Li cense,  V e rs i o n 1 .0.  (See acco mp anyin g 
    fi l eL I C ENS E _1_0.txt or c opy at http : //w ww.boo st .or g /LICEN SE_1_ 0. t xt) 
========== ==== ========= ====== = ======= = ======= ====== === === ==== = == == === == = === = == =/] 
[s ection:c om pi latio n Co m p i l atio n a nd U sageVariants]

__ tes t__i s a vaila ble i n se ve ral f orms:
* asi ngle, minimal h eade r
* a hea der -o nly  f orm
* a stat iclib rary
*a share d  li br a r y 
The minimal header  c a n  b e useful  in si t ua ti o ns where  y oudon' t alrea dy
h a ve  the lib rary b u il tand wan tto qui ck lyexp lorea  tes t with  a minim al
am o unt of fuss. O nce you needt oc r ea t e mu lti ple unit te sts, youwill qu ick l y out growth e  m i nimal header.

Thehe ader o nly f orm is useful  when youd o n 't wantto b e  b o thered with
co mpili ng the lib r ary.  On ce yo u have m ultiple c o m pilation  un its  wi thu n it  tests in eac h comp il ation u nit , you w ill  gr owtir ed  of the c ompilati on 
c os tinv olved with the  h ead er  on ly fo r m of t he fr amew or k. 
Th e stati c  l i b rary  f or m is  th eeasie st t o  in tegrate  into you r b u ildsy st em
as i t doesn't req ui re any ins ta lla tion o f runtimefiles in order to execu t e
yourtes ts. This  runtimesim plicit y c o mes at  the c ost o finc r e asedl i nk 
ti me s and exec u t abl e siz es .

T he dyna mic library form r e qui res the mosteff ortf o rsuc c es s ful 
t e ste x ecution, but pr ovides fas te r  l ink timest han  t he stat ic libr ary,f aster c ompile ti mes thanth e he a d eronly formand prov ides allt he fe a tu res
o f t he fra me wor k com paredt o t he mi nimalhe ader.
[cau ti on __tes t__ is not a thread-saf e libr ary. Ca re should  be tak en when
a utom ated tests  cr eat e mul tip l e thr eads an d i n terac t wi t h data st r uc tur e s 
p assed to __ t e s t__  macr oso r func tion s.]

[section:min i mal_header Min imal H ead er] 
A l ig htweight, mini mal  v e r sion ofth e testing f ramework  c a n beobtain ed
byincludi n g  = < boost/ test /mi nimal.hpp >=.  T his hea de rp rovide s on ly  the
f ollowi n g ma c r os:

[table
[[Ma cro][ M eanin g ]][[=BO OS T_CHECK ( =['e xpression] =)=]
    [I f ['ex pres sion]  is fal se , thetes tfails andt est execu tioncontinu es .]][[= 


 _BuildResult run(BuildContext_buildContext) throws ExecutionException, InterruptedException_{
 __ return_stepsRunnerFactory.apply(buildContext).run();
_ }
}
 [/==============================================================================
_  _Copyright (C) 2013 Richard_Thomson

  __Distributed under the Boost Software License, Version 1.0. (See accompanying
    file_LICENSE_1_0.txt_or copy_at_http://www.boost.org/LICENSE_1_0.txt)
===============================================================================/]

[section:compilation_Compilation and Usage Variants]

__test__ is_available in several forms:

* a_single, minimal_header
* a header-only form
* a static library
* a_shared_library

The minimal header_can be useful in situations where you don't already
have_the library built and want to_quickly explore a_test_with_a minimal
amount of fuss._ Once you need to create_multiple unit tests, you will
quickly outgrow_the minimal header.

The header only form is_useful when you don't want to_be bothered with
compiling the library._ Once_you have multiple compilation units_with
unit tests in_each compilation_unit, you will_grow tired of the compilation
cost involved_with the header_only form of the framework.

The static_library_form is the_easiest_to_integrate into_your build system
as_it_doesn't require_any_installation of runtime files in order_to_execute
your tests.  This runtime simplicity comes_at the cost of_increased_link
times and executable sizes.

The_dynamic library form requires the_most effort for successful
test execution, but_provides faster_link times_than the static library,
faster compile times than the header only form_and provides all the features
of the_framework compared to the_minimal header.

[caution___test___is not a_thread-safe_library. _Care should be taken when
automated tests create_multiple threads_and interact with data structures
passed to___test__ macros or functions.]

[section:minimal_header_Minimal_Header]

A lightweight, minimal version of the_testing framework can be obtained
by including_=<boost/test/minimal.hpp>=.  This header provides_only_the
following_macros:

[table
[[Macro] [Meaning]]
[[=BOOST_CHECK(=['expression]=)=]
   _[If ['expression] is false, the test_fails and test_execution continues.]]
[[=