From 64f0e95c56184fd580cf9918482f9f8333f52c4d Mon Sep 17 00:00:00 2001 From: Bill Robinson Date: Mon, 8 Jan 2018 17:47:03 +0000 Subject: [PATCH] Made JBConsole fall in line with other install-dependencies.py scripts --- install-dependencies.py | 2 +- .../lib/net35/UnityEditor.dll | Bin .../lib/net35/UnityEngine.dll | Bin .../packages.config | 5 +- .../NSubstitute.1.10.0.0.nupkg | Bin 883438 -> 0 bytes .../BreakingChanges.txt | 0 .../CHANGELOG.txt | 0 .../LICENSE.txt | 0 .../README.txt | 0 .../acknowledgements.txt | 0 .../lib/net35/NSubstitute.XML | 0 .../lib/net35/NSubstitute.dll | Bin .../lib/net40/NSubstitute.XML | 0 .../lib/net40/NSubstitute.dll | Bin .../lib/net45/NSubstitute.XML | 0 .../lib/net45/NSubstitute.dll | Bin packages/NUnit/CHANGES.txt | 1173 + packages/NUnit/LICENSE.txt | 20 + packages/NUnit/NOTICES.txt | 5 + packages/NUnit/lib/dotnet/nunit.framework.dll | Bin 0 -> 264704 bytes packages/NUnit/lib/dotnet/nunit.framework.xml | 16348 ++++++++++++++ .../NUnit/lib/net20/NUnit.System.Linq.dll | Bin 0 -> 95232 bytes packages/NUnit/lib/net20/nunit.framework.dll | Bin 0 -> 302592 bytes packages/NUnit/lib/net20/nunit.framework.xml | 18296 +++++++++++++++ packages/NUnit/lib/net35/nunit.framework.dll | Bin 0 -> 303616 bytes packages/NUnit/lib/net35/nunit.framework.xml | 18396 ++++++++++++++++ packages/NUnit/lib/net40/nunit.framework.dll | Bin 0 -> 302592 bytes packages/NUnit/lib/net40/nunit.framework.xml | 18103 +++++++++++++++ packages/NUnit/lib/net45/nunit.framework.dll | Bin 0 -> 303104 bytes packages/NUnit/lib/net45/nunit.framework.xml | 18070 +++++++++++++++ .../nunit.framework.dll | Bin 0 -> 264704 bytes .../nunit.framework.xml | 16348 ++++++++++++++ .../SpaceApe.Common.1.0.5.nupkg | Bin 26836 -> 0 bytes .../net35/Editor/SpaceApe.CommonEditor.dll | Bin 6144 -> 0 bytes .../Editor/SpaceApe.CommonEditor.dll.mdb | Bin 1350 -> 0 bytes .../lib/net35/SpaceApe.Common.dll | Bin 38400 -> 0 bytes .../lib/net35/SpaceApe.Common.dll.mdb | Bin 10338 -> 0 bytes .../net35/Editor/SpaceApe.CommonEditor.dll | Bin 0 -> 6656 bytes .../Editor/SpaceApe.CommonEditor.dll.mdb | Bin 0 -> 1615 bytes .../lib/net35/SpaceApe.Common.dll | Bin 0 -> 38912 bytes .../lib/net35/SpaceApe.Common.dll.mdb | Bin 0 -> 10817 bytes .../net35/Editor/SpaceApe.Logger.Editor.dll | Bin 8704 -> 0 bytes .../Editor/SpaceApe.Logger.Editor.dll.mdb | Bin 2117 -> 0 bytes .../lib/net35/SpaceApe.Logger.dll | Bin 18944 -> 0 bytes .../lib/net35/SpaceApe.Logger.dll.mdb | Bin 6492 -> 0 bytes .../net35/Editor/SpaceApe.Logger.Editor.dll | Bin 0 -> 14848 bytes .../Editor/SpaceApe.Logger.Editor.dll.mdb | Bin 0 -> 2827 bytes .../lib/net35/SpaceApe.Logger.dll | Bin 0 -> 22016 bytes .../lib/net35/SpaceApe.Logger.dll.mdb | Bin 0 -> 7652 bytes .../Unity.UnityEditor.5.4.0.nupkg | Bin 1452066 -> 0 bytes .../Unity.UnityEngine.5.4.0.nupkg | Bin 384132 -> 0 bytes packages/packages.config | 7 + .../JBConsole-Editor.csproj | 6 +- unity-JBConsole/JBConsole.csproj | 10 +- unity-JBConsole/packages.config | 6 - 55 files changed, 106777 insertions(+), 18 deletions(-) rename {packages => packages-versioned}/Unity.UnityEditor.5.4.0/lib/net35/UnityEditor.dll (100%) mode change 100644 => 100755 rename {packages => packages-versioned}/Unity.UnityEngine.5.4.0/lib/net35/UnityEngine.dll (100%) mode change 100644 => 100755 rename {unity-JBConsole-editor => packages-versioned}/packages.config (70%) delete mode 100644 packages/NSubstitute.1.10.0.0/NSubstitute.1.10.0.0.nupkg rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/BreakingChanges.txt (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/CHANGELOG.txt (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/LICENSE.txt (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/README.txt (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/acknowledgements.txt (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/lib/net35/NSubstitute.XML (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/lib/net35/NSubstitute.dll (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/lib/net40/NSubstitute.XML (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/lib/net40/NSubstitute.dll (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/lib/net45/NSubstitute.XML (100%) mode change 100644 => 100755 rename packages/{NSubstitute.1.10.0.0 => NSubstitute}/lib/net45/NSubstitute.dll (100%) mode change 100644 => 100755 create mode 100755 packages/NUnit/CHANGES.txt create mode 100755 packages/NUnit/LICENSE.txt create mode 100755 packages/NUnit/NOTICES.txt create mode 100755 packages/NUnit/lib/dotnet/nunit.framework.dll create mode 100755 packages/NUnit/lib/dotnet/nunit.framework.xml create mode 100755 packages/NUnit/lib/net20/NUnit.System.Linq.dll create mode 100755 packages/NUnit/lib/net20/nunit.framework.dll create mode 100755 packages/NUnit/lib/net20/nunit.framework.xml create mode 100755 packages/NUnit/lib/net35/nunit.framework.dll create mode 100755 packages/NUnit/lib/net35/nunit.framework.xml create mode 100755 packages/NUnit/lib/net40/nunit.framework.dll create mode 100755 packages/NUnit/lib/net40/nunit.framework.xml create mode 100755 packages/NUnit/lib/net45/nunit.framework.dll create mode 100755 packages/NUnit/lib/net45/nunit.framework.xml create mode 100755 packages/NUnit/lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10/nunit.framework.dll create mode 100755 packages/NUnit/lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10/nunit.framework.xml delete mode 100644 packages/SpaceApe.Common.1.0.5/SpaceApe.Common.1.0.5.nupkg delete mode 100644 packages/SpaceApe.Common.1.0.5/lib/net35/Editor/SpaceApe.CommonEditor.dll delete mode 100644 packages/SpaceApe.Common.1.0.5/lib/net35/Editor/SpaceApe.CommonEditor.dll.mdb delete mode 100644 packages/SpaceApe.Common.1.0.5/lib/net35/SpaceApe.Common.dll delete mode 100644 packages/SpaceApe.Common.1.0.5/lib/net35/SpaceApe.Common.dll.mdb create mode 100755 packages/SpaceApe.Common/lib/net35/Editor/SpaceApe.CommonEditor.dll create mode 100755 packages/SpaceApe.Common/lib/net35/Editor/SpaceApe.CommonEditor.dll.mdb create mode 100755 packages/SpaceApe.Common/lib/net35/SpaceApe.Common.dll create mode 100755 packages/SpaceApe.Common/lib/net35/SpaceApe.Common.dll.mdb delete mode 100644 packages/SpaceApe.Logger.1.0.2/lib/net35/Editor/SpaceApe.Logger.Editor.dll delete mode 100644 packages/SpaceApe.Logger.1.0.2/lib/net35/Editor/SpaceApe.Logger.Editor.dll.mdb delete mode 100644 packages/SpaceApe.Logger.1.0.2/lib/net35/SpaceApe.Logger.dll delete mode 100644 packages/SpaceApe.Logger.1.0.2/lib/net35/SpaceApe.Logger.dll.mdb create mode 100755 packages/SpaceApe.Logger/lib/net35/Editor/SpaceApe.Logger.Editor.dll create mode 100755 packages/SpaceApe.Logger/lib/net35/Editor/SpaceApe.Logger.Editor.dll.mdb create mode 100755 packages/SpaceApe.Logger/lib/net35/SpaceApe.Logger.dll create mode 100755 packages/SpaceApe.Logger/lib/net35/SpaceApe.Logger.dll.mdb delete mode 100644 packages/Unity.UnityEditor.5.4.0/Unity.UnityEditor.5.4.0.nupkg delete mode 100644 packages/Unity.UnityEngine.5.4.0/Unity.UnityEngine.5.4.0.nupkg create mode 100644 packages/packages.config delete mode 100644 unity-JBConsole/packages.config diff --git a/install-dependencies.py b/install-dependencies.py index 1a59aec..da2e8fc 100755 --- a/install-dependencies.py +++ b/install-dependencies.py @@ -3,7 +3,7 @@ import os import sys -os.chdir(os.path.join(sys.path[0],"..")) +os.chdir(sys.path[0]) # because file needs to be packages.config, put it in own directory diff --git a/packages/Unity.UnityEditor.5.4.0/lib/net35/UnityEditor.dll b/packages-versioned/Unity.UnityEditor.5.4.0/lib/net35/UnityEditor.dll old mode 100644 new mode 100755 similarity index 100% rename from packages/Unity.UnityEditor.5.4.0/lib/net35/UnityEditor.dll rename to packages-versioned/Unity.UnityEditor.5.4.0/lib/net35/UnityEditor.dll diff --git a/packages/Unity.UnityEngine.5.4.0/lib/net35/UnityEngine.dll b/packages-versioned/Unity.UnityEngine.5.4.0/lib/net35/UnityEngine.dll old mode 100644 new mode 100755 similarity index 100% rename from packages/Unity.UnityEngine.5.4.0/lib/net35/UnityEngine.dll rename to packages-versioned/Unity.UnityEngine.5.4.0/lib/net35/UnityEngine.dll diff --git a/unity-JBConsole-editor/packages.config b/packages-versioned/packages.config similarity index 70% rename from unity-JBConsole-editor/packages.config rename to packages-versioned/packages.config index 20a6778..092aae7 100644 --- a/unity-JBConsole-editor/packages.config +++ b/packages-versioned/packages.config @@ -1,6 +1,5 @@  - - - \ No newline at end of file + + diff --git a/packages/NSubstitute.1.10.0.0/NSubstitute.1.10.0.0.nupkg b/packages/NSubstitute.1.10.0.0/NSubstitute.1.10.0.0.nupkg deleted file mode 100644 index a067842b5ede1cbd1e079a85ceaea487096fbe20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883438 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 z zrac(Ow|eo49YlvTk)cOY`ntkpj(vNo*zS>HJ}fmePuR!97p!OE2^S1BvYTDmykadZ zuqihrfMdq6*wT*v33SQZs+ zQ1BfIqJf}9--V!U{23eiCk`tm_|bl9kiGhdsR?WU8cfe0O7aaSOT4#TiFTJ6MxK89(Y*cS zcug{6!RxhY@vuj%=m3fwXBUfMGnwrJuG8N~2)swgx&O!bqrbwIW~sZ9CVP8?s~xxc zkl3-xz+!8&=|9A^_EPz(2jVEcoHh(LSl>@+8)5JCU145Ee#ZBJD;*LKyh>gNej={} zm&tp;rF;+QTal#wuaal_Px&6>lH$uAM4MbL?=c7Y(&Vm``{e{TT0mnmT=Wg}%p6fB zd<^27ePSa;2ZN^Z7{A|zopp#$rWC&?eimf?We}&$c|p;S4h8riKM+}`W>J77rRNnWdc2iPB^_wUy+cT~)N z4TxpMScEbhi3zmBQO(MZh)d%!pWs}n?=9CK9$%R-eUkIfJz|>EE`?o~=!X6}#u43g9y3i5 zc8WkR8~80Xlf`YUzsYz44i^GT3{yFW$2o`M;q?0?4-6Y@d56febW{;hmAw`vEfrT5 zF9K6nHI2VsyCACVb0WUn$xw#g3Uo+9IFDW|Tbhde*wTS(EvlpLKP= zFZxtHf@W4Ww1%z04Xt60uEM*(FV?I&!D2jt_7_AHHsqI<$3 zWIl)}3y0y8*1;`D##Zww1Ic}t!ZEyzhUusxM|EiaQHOP%h+jl=ZPepT-h!$CFy3#Q z9hIyiItK4WE1?jeCXM53n33Kox`kZ)0;Bk_`r@5je3&jCgva{w2`C8re6m2k7Cfx@ zQNK^#x0Fmxhjq62J{s*0+fe=vtgGr`pYG#8D$x>Z5X?)q+2L^_kayag@OWPmtI@wf zaFOXe5q*LWQ-7RFNcu!X*x^ayXTn|DdT5iQj)Vpt0{rkGDdWj++oP-<7AU)-Icwpu z%GQ62b-noQ&uV#%_l{CDtF!V7C9qeFPR392U)Jlmq)>_HU!(H??x_5l!jNl z9EGC;!74k2IzNFsf2!*IY3SbRK5qjiHbv|i^sp5|m{Me3iXK0xd+a)t< z;eLUC0b#lmv!rJX1V!uwhmG}xBQPnjcD03}&sDkRXlvmT9BGxu@pTa&B9rV=H4iDl zPk0b}?C_uH$>`=a%O*c=SC`>%`#GIx%kg<_e4@pIo8dQ_>5{#ngx6zNAH|Jtz2?}~ zWNU zDAJ>|aL4;iN;X{G_Zdf@O#Aja4EIDr%Qcj&IzY{cT?K5DsVo<8JhI?UZy8?o3qdO! zBj?c)cf#UmYbfKhwpbsUx@U(ZpYj3p)~P>s*b_&f16-$!m`FJw>qIiv6dS)+Uhl{^ z#Ow9lyLN+$yCIJIg^K${9QSicQ(VjZKJGN_nzd^2A$T1ZcwcU)^J`kwfm+G9nQsj= z#uV!iIc#^(kd;+dvbRZI-^#L!-=!N(KZm3O*ENdll=jMsW$@%L6KSV5poKdd(83|P zj$#Q~8f+E`O1Q+LG4EL2L_V3l$P6X(^-}rX0p&NQ_>Jr04H<|Ik}Wu$@Mzo=Q_X=F zf+mzRTq$OFSoQZUqGMb02A(-MDFKNk2S+@e|O0T-PrXzc1II$EqN zR0BIBTwm>%v@YJuYCGYGD4%YxOgqZM#Zr9sqpfbZy?}BB!mvNHG85;)Cp@+xJwxfx z38qpU3;Ws~WRq+MZs4|Llm{8&IIOALMLU+pXT_s>X-l=94{P;`K40n>wpqZ6^uvy| z7IJAiEmG`~5Z)b;1r%>(-m%(iFYpC}rrZK4p=fwmGs%sg0v~A+Av4!&cEc(iSk7oB zy{eVjcqNU)` z!#z1or^ovOyA_S@#%T_=l(}$7hR$A@*Yg(6!h|7Q7V*t-{2qu$Sey|nTO8Aqr?_3t zMQRI8Gtt=S;>CogDF@AZY1t&g(na^D`0%JuS=-QwGcvexyasic@~AM@J8U}qq|sVY zT6$k;`qwbjsc;cUEW4vwd}5p-?+_0l+J1|@vNbs#OIy_j;d4$LWEh`T9-p7tD+_h` z5teyVoVUPv_ttxcQ=1u7d1pNqWKfOb=BhXzG?f)Pt46$8OBwJboFx32tm+~oRc?Mm z#=T%gJm%@X`Y~UtFCO!^^q6lXVmY%Ka|8xi-bc`&qjO%k5To9lqI0P^wR`~!@Q6nJ znC>q=q-hQ{_%aoHWt$#fblC|H#*nu0kXrNYmF;?6yPVc8(+s?KNa76n9#^oH2=f|E zsi-)vLuXU|L=_A-)e*zMx?LvnT+wI@Q~#YIOobIWf~oNPG=8i!-|Xt~bK~)I6XS>b z6C5C3h4#7eV$ZC)2seZ3uqL_}eP2|a;;Y<+?-)>w%ef)&kPn0Kk1Q?wSc9uXDOV#E*ll*vg|_Y?$$ z;RC6y&AO<)$!c2ROlIx>*lWm-MD0$vouFaZM{`Az?8F-bH~I#e7qY$ONCzY=-o-9c ze3u4XzU{rWrg!LOYxMf+-J*r;%xD_vMq;; zeIh7tq6@<%DqNYcnYfajlDyI($Qh^DwVRkv`Aa+*g1<}Q==zMLH7OkZETit09KNwG zd`(^W%DV7%b>S=O!dKOWZ>S4jT^IgEUHIoRtlNJrN1X1g9HFnP@6(MA17cT?RCm6z z^+;vhVsTrCkJCyIzJ7(TS@?p|VC8sxK|H^5557pDV`4RjtH!MM^knU0XR4yQx>>hC%qfIDAvN-qKcKB$?H3UeRok4qUEUlPP&o&Fs2b^+O^wh zOmT596~jw3FE~xQ3b&(Am04*1+K|Qa$X#r-Gj={1@+$V-O)$>}Ot1e}jZ@D=s$Jrc z7oMeg1K>%*dCG6`27Mb{W`0Y5@1VbEdvzsgDnyTENv|?Ir`d}AYF#PH-bHPM1~mjrGkkWD<-DzcT@;} zNn_3#N>m03qhW$qcqO}r#kf>pxTX~zQ(BH}6|aT)&Y~d#y%TEVPdmCSeoMpJDf3yI zrS?C-YhxSHgmL5<(F-r6%lHNK7pu(XV&S=Q`&&py_fNzNLK@%byl@3B1J%nx`x7!J zVS75;3hw0s-#0CKUP;{JY1x}bnt0SX5rv0L@k0vuSo-ZAr0#zT`GNu?XeE6QVfkyh z>L9uT8Td5*84g;#t{{*91ho-MmQ8bzR!q2#?COtbNz;f=p(nt~d6*2b`_{|ygi@Ds zK{yL~JhDbVQIAKun$IN1f|YNsG+vMXBo{ zsYqO~a)@IhrYnX>I*#!oqd(NSyNG*1)VZ=-aVsmE9d9ihrVa0CxlHMmBxY-J#L!qo znIpne@L+t86Ti>l-UDr+Rj8+^EK^sW75H=KWJXuOq!#|_t9iR?F6+xVWZ-cL_^cOK3677 z+@L`{mRu0vf2isoPnLP~gm|qyk=S<`t6zM-j`ciT@9z(geP~B)TdUNRSfL%^HK+sz z^9GiREp#MHiS;rx86m+u74JXX?_k^aO|+*+LoS_Y;(vH;^OM;ksqMH8a&2jUr-->yB z599Wz&bx!i+m#-C;9eMjsFU+NtRA;_)~!%)czwi(`iPM$i%ue9RDA?@6V~gsjO<~e zFCU;Uy8g-n-EY`gGZIdjZXQPeX>kl~yjoVpWBKCB6?)$+!vGHDee)u!jgu}glAwK2 zzEfWcUILSYC}W3(6iR(BBL@U&evSt_3iaFJwRnGMvdB_33X!0Kpr$EZ&|)tq;l45u z?yCv7uS&Q#8gO4R;8J>L|7#B0TH{|)&#Q{&gC29N=Xo>efY;2lfn`b)8Dz8&vPpYDr1&hLO`9-}{_XPc!>R~dc=SA&kecc`yV z8Er<5QX~Zpihjk-r)s4A$Wr*ETpM@FO!f1?(L51c2i1!Hzn$DS?-}EI3-|AR)xTTO zzxU<1K5MiQg`!_`!`_#0>36Q}L@yJoFnWo9Ug7obFiQoEX8jK0-;|GW20G|u-romQ zu79v}H~J76#)#nide1nr6w4Vze`{7UdNOxxKl(%BQ{3h&^BC3JaYyI{Bah^XqTir% z;cvxXPSSE?|Eb-d|EG3;!EX%Qj=%qZYzJg3zLb3)TBY3l zzxnNy%kHdrXw^F~&mTA>Cn_I}0xoooeJtX`JAJ99Z#y#PE<8kKkjtqqrp%M1UVL>) zT(|tRdMY=GBf+Vj*rIS6`yT#8^xsGVi*c70!w!RLb0X78bu67h9? zN~9TmGUEs9(||k;`jmt}uuo=sqdpxOrw=pxl!&kEQzFgilNmo)p9bV<(5EE)fqgR5 z8};d^IDM$ur$l^RpAuFI~fknICZQ@9j;ivoNa|ya#ujrIJ)1La-u7|VIl|-yA@ui_<|7f3NL!V zH{@Od(&znx-tFk2bPoZ#a;W%Ieb6VbHmDDpiZQF1dM)a6R(Le}JZS15WM5rQiczlna>UX)I`;iJAZ zUXgODD}8>jd(4NI(Z>mxo2ovc!0A4w>3n3G6$#Ok$jhHk#h*{(pggHX(f?D#{p3`f zPvJAvo^zbZBQ*#~=2E$5eG=6ByXFz*EZCR-lK8ZUl@Frf87<@%mBb=>T>o+s?yfd- zCFDH%VjlgWsTDqrZH`{mlW>HtM&PexaW_;J;nA6b=1<;eUL`{k0gHB}AOTMppF&P*-=;dLbWp z)j#WqZCM7Sx+>06KhAgkr*X#myQ|Uq`y^g}_>5lU_4kQfe|rPR0I%3C#kr;EFFyIU zX(8Lb9_Ecos;dsZ8zP+TbS3`%g9H+n{a)eafP8%hIoOLP z^N$SQ2_F_YimB)opFBz#aT-si!~ivm5sF^*W1Z;X)}CM=33&bgaALDq{~!VxZLyD~ z_P>VP2sYHJiA`7|XjS-73*HGipI?0)i0)IuoA?_(C}K%6&V(#=Mu_75~Mj)h)(ws9G=BW8(j}MBJ`TjIkK6rAW7`9s8qeV)QN@FGHr1*|ee; z{ToQ2L%r?htQ{0Q?&y2sPib1OjwnX&i@%G;vO@ z>&VSuaR45huo^Iqc!pe0{$c}pBd2x)>mtqTYMEM~->#{IiqX^I<>3Mq4-*Jk={uti zhz^xB4hL{dGemAc@+c>(1fZ*{+|^PZDL|CSw7+G-7?yz1EJrtE!T`Xo*77LP3ba9d zN*EKXe-k6I{} zXQn+s$H+G@t@!p*-}nk-aI14HQ4hNY3MWgF?XdN-b+qo=4F} zkra*h2-b<*^$4rPco9+$x=O~4axR?`vvh!#bZ_;2K10vG3f5OA+ zOt(0Tx{xOo5dGp4%3Gi47gUhJ#y};cve7k?Ysf-9dbEn2JKLlgHr6Wiqp)fyu>_1X@0Z8Z@DeygQq+z=53L2Q?06vvhE zuA*!a^ibcZEG@YvDkXV}^wTSPW6NEu4Y|aJJGQsB%r{ulB z3X48*_kAS^$~dmwnz*IXO>`}=XD6dByCYf$>ISQD_ZYXjQ{!-P0ySHXpqZKuw!1o_ z69hWzSnXw6VWt2~-*w3@^#OJ?FQpjL(dJFCd#Zf!boPHqCkyEBj@Fp|Htzyk#hmLU zU+QxxLEoe38tHp6|CTGyGWxKfXA_RV=nX}CTLZ~+jpLkZA&|CMhqPL33k+x9)Ew+| zRDaY7TOm$g2fP)8-L3E!+1HK$8~gEBdl$l4L8%qo;BaKCy6XZCWNbHQI6szfilV6R z_LWRE$=&|huZIp6k?1Qd9#zT5S_x*e`}NNRJU#gqhcK%U-m_^ZA@G2bc*rZvAxLD zhq`T>+u%ggMO3&h;?We24aZZ*qPBpfpu?~gs@79rw9e)dUF!>qQ_NJR6deXjB2-pq zMAyUTY|-s~Pl33IWC6(D^5q^!SM@usFvVnZLbx7U;fOCUATtGOt{n?x>W(xw4$RNO z=e!?~*lC{2riX_cc#>0-&h!#Br)_k!ML=cq;%c;4D~ZW#JR|n;Sg|6S zwxvbnMBBAWLar?7u^!$Jvsi7@sg6ciP)TE26S!mw?`44nTvy2%L+^1fItvg-%Pj0| zB~LgMfhAK~wl8@k>S)<#XIHwq#|%8P8ab9QhjoWJld)P zbui(V@n{oq3m!Vvm~}_-&w{GJI%2bWeJNM-1h=(o2t|PtcY0!F(P@e|G0Le?tfo{~h8qMprm8VXtUl#)IlvYWDZzcP^IzdCcdYaZ=F-T?N%%)Gb z7IL~&VF`C=rT4p9-sSsJv;1w5zZvv1uKPad14s@6pa8Vm2Yy)~4PzZc<%a z=+2RIqRv3dCGTgE5%6={Q~qS~6p|8Sk>-!}r)@$+Eyi}rC_3l271P140s|tj`j8eB zqu~NxAn?_ODO^cV9#YE`GL40wFN=jEKwZ*YVLkO%ZWKek1f8hdhA*_2aL$r6&nKU? zhx1wc6M5DSH_zJ6#94dk8fkzd8O~)A&Pb*KMw#G7B*3j$GYxPI!@FF<>ox&(B>??& zjqU1VI9EtGW4K*wnczkz!2N9Sc46Nw(R=#d(-X8rtD+?e189j+99f>^@JDqQg{yqc z50V@C)6>;Pma2W}Gh)3oS}C-thl^OwD>pTvYd758=)bLfxJuajpD{RWmb4(J@MN%L z3f7yznUJq&ZF0g{ghxWQRDSDlr_a}gk6486v0JtMKkJJcF)AF#$z77E?VVwyKz%TBb7Ub=53 zm+l%?H7{z>Jz7OLT6msaj~Wd<3tEq8mH4Lhh=zILA)=het5UTMGDT;`YjUkY*5rVd zXs*Li+z;_vrO|~P&wlbe7Wc+seI>M{+66@1>Bfw|lLt)`%dO}tTgfGLuPeElZ&{RQ z@DPGMZAEsaobJd%pr)@LIIUBaL4o9rD zv`$fWT^*tQvM!D9HuQcakaZ?p9Ir|2za?^=bLfV1DrNjki50;0qQxegm-G{&1^YLvBx??{{i z8IIsu{Td)F1%PNRtQwBaaV7aQ2P3hcGXqTRa9GX#0g&HqknPw#U~=H^-18RQkI0>E&eldiCk!18pyLU$quG zq6wJ7Gej#V6L%{-tyQYEIuZ^t7)y|C;~Oh5nurXv=2SU+N9!ARg_%a1>4AvFC+Mz; zH-Zc4E`u$=hU&;B_67kxofYYtjGa>5Fd$?Qo!V;1$Mpo*T@~}0=-~`{)tF>Pl}+A5V1b0ah;YsoqG`);Vajm!s7JI}+(GxT z!R=Nu707={oZmL`Z&aUuFkYSd9c5Rq2eYldpHpPmjjpGIv`1F3al9@#{})ZlPI01t zarw`i%r`PIFeU%iRs zSNAesI8QoimjVwBBmMBozDt$fyvMnhZUBbxlN3`~WTpbf(hZH&qq=n}k>loD2i_en z11?z9L#EFrg8>pwrVWB>Jo+0=5r1gAg;Oc1my+-|+BA^tZmqWgyE7{U%vACK_I&j@ECDw;0-ESpM-;}jwA#}0wQ zA7WldD|%qG<|9`Q5rD(nKtJxtjX}HQC)3M21&Ut&Bi{+`Yn8Gr;r*@ja!3(dA@2jN zLEwk>|mJX ztioLcfUd4^2Eif!b2D*}>>5b=hl9IueVeQN4rh?%MWNj(!{fHo)s><&Nraratd8j(xzmJ!(VPKv@7c_SCETD z=@mKgY)ZU5nK+>DuCpm#Pn=fUcIb%e+Y61)kh;5FL%<^|yert30mUp|(DRzDK9@ml zZgqR#-h^S%XWjDI=Cq&?O9D;iROE2L`s6VwBM^p=bG6q!vA4-6o4C6W)q zmR}ICsaNu=;&Pjd?fxowwkx<(=s{IgQb>ufgT>cRQ5!M0;DKC5iW$L=f_xkxp(rLT zI1@8Cc6w>fZY2R6?I@($ z;XjVB#{-uS4-tXhiF)wT=Gf6aG97oSR8Grg=hG7&)ve_DO=?>rv)Y57HtY?O;Fb{Kly)s@)aasd_9hZvkl{H&7FQsKfN#%H#* z@gys)?o$_t-y37zLerTVA4%->#b{u!{Fw>t6}O~_7b`N4q*w8Iv$OO%6{9F;`2v5A zy9J5V6gOowyvLadG>l{B`vaRS$72I)uVt#uo;6ea{xUHhjau=vXvNcJD||Y%^LDyO zHKp6#WMu_F$FgMrLv%Oi*H@Ke7nye2)j~|Ln5&W%TC#Tc!bf;QW;prvbG$-@(;up5OW~b zjP@0PwSm3=YkEtTr#gGiIx+ysWbmXRse0R*&iIm|BgU20doNJy?X-W3SrBWqgL(gY z1{PsIt1(LJc}4D5pZBX5pLed+GfC}Nmht<|ply<5=+$QqAY4e!$%7kTCprpk(oK(T zAK{Jlw_k~FihUPAJ{7Xwcl@U|-Fs#oY5Zz~Mq*}Cju#zG8^rOw@EGwm{zbnmn~g}( z3MP8T-xp~4fIUUYI|psU|ENmtu&nBlAb!)wTk&0WIJ&n}(n*+4|2$fr#oQ`9>9UKC zc&eXEqUKULFmUtK&3LZ+acI;6P1&cGsrdM*Qb;;CW_f|!nFe_uJeBi|#+x0sg}c?#+#^N{Nr zN)n(VjAfgbAcQjzo=ESF&+T{`oka%ti<2YbUI7%4Sp}MOoLzbEthyuk3KaEJ*QJcW z1S>b$YJ(i^^@CK#$cIaZ#|6Y97-d(F$CuJ0QR9s{Av;`yx1G^DgOigsPWe*qS1=$m z^M^IS=uE(%RZKGJbWD~z^d03p66bxraa=StPHQ}hJk;R{fxHhvHt$oB|GxiqS}Xd2 zBX-w+Ah(=FTY;ia^VFp!?S)0VdZjs`7X zF!b5d(^*n-@`pa1^@r^>{!@SWUgJOVNA5NLy;bCXa@GAvC5kzhxGm@Hk_yW@AZP$T zVNStSx5c@1!m9Jz6P>P|f<5ZD1?m=NhqWCWQrY0-q@s_#Qubz&XZFC*bXU@ER*9=x!812_z*hm39rK z6I>-36|<+Z#_ajbo|4|SG<(V;o}S%7Ez@`xhyKHwk7nD&gRAF=^s!)&oQtI(e$NY% zJfWKSegtI(&0Wko(fNUL<`P6dz%Zlx$dryQKr7L_uI?@9{Y@oBKMX7dtC*Fl2zL+u zCb^b1{ZL-ZN&fMf2LCwx5t=_q%*%zCmmhOyW{NSyC#8x(k#Q;Y9(NB&P?Q z!Eog$n>q~Lm+<0%%mNW_`4S0N*@$^m-t#a@887-tOuu;1r7BP=w>7OEa-LXYz1W|1 zDdFTcrq2x+6JC(MjC;7b(Pg^cW(%*&D^YKo1$I)K6RyBq`O~m^y&xT3j?7-r)kR;` zpVG?bS_R(45f08-QKm;%5Mq_dg_OV1%LUgjrj0~p7bj<}5QQHj*>u_98Lpb_87XI% z=x5?%w`SMfCAtz{U_?^C!L<>a8eRR0MV(z#zK!m4cTqVvx;-^r=H2LqW_P;Gz0u{) zF14$~hs!@3oLi3HQs5`*@kZl?6_^g@lxCN^x`R15DZ09SD(}(XIi-W=ESSrpYo*!r ztM<(r*45P*{cYvET_gT1U203a_bJltctXApU|>|gvc6*x>E1HS?uxFyg!I}oLOhU)FW*)g6l=`D0}>;R&HD)w0FJKIa-Yg)EK5`DKYl6}DT zWz_i zHKhMqokgH5pCjG2U(y7tmQi2rWAW*E)V8qPWUa@a(^y^F^TONIxpIW8>y5MHSuP5i zD!g5dxo7o>4A0Yj&`pKE5%DQ$55SGbd~7Bw2(la@Ajh1Gw9muOG`E|Y-SbkT#`=Rb z)|ZVn_6g3Z7mR%-_mbNHtmDRD`E#SkwEie;^!+)$Tf{?;av?H*D?)&Ys`Ovj=Sf$9t7LZ*Ha;C9y}b zMR%Yr>Ugy~MD%ex5I@S&`yGt97uQfuE(Pkk$D_-V(Fu5>F?R;~&OGRvxJ#{xfNb6U zCAlV~04E3@x_oZxj zk0`)&di7plA2k&D^c38A+>RN=a=P6uiQ}<_jz<~{yb*~Tgg6tOP1AAogqL{4WH3!b zmZsChP0uK#%5ZC&j}JWMch>KDU&Qo^m?`98Vd&gm{05~_(eDXi93Wa~#e8ew2i0;Q+D7^JHV}UB!7-zW9t# z`CjCFe+i__#E@`3(ins-GcI%N2J!4vUsikCw+<4CZ-{oS++UeD4flsA32;mt7rlac zd{z7zIt@3HQa3KoMw!<{(w^b#=o*bm_Y%xEso_)B@UO@q-!o3PD{rXDBf)69xD2{A z)i;31Hz8?|1EkD!gCsf+@Wk^b<02BLmYm^loTs~4qJrdoC`+0{CI}k$=|(%8@W28t zipjWxDDGfU3CX6r)i(oa$g?9{KxvTsID7%dfy1Dw&k*Tvaob4t(2d>_#fqB&p>*`} zDH6SnZD+K6SKV^X&aD?0$BDFyU7t#DSNzNI!$Ql|^Abmmeq4IUPV`uvqqyU|EywNI zc=JA>Yj-M7i0_q$B+RTYI)ntFxW>Qh8p&LHqk6Iy9HqY#pR+N1R9tByF)_%^y`#Iz z5neHR7n_b+;Tg?%FWxUor}|y8;b3Q_aOF{vv(d$#+r0lr z+?&8jQJnw7z1=< z#S5<}cqVFMj8|@RnHVE#j3*{0CPovJs7XwsS>F0SPgNgtEMW5czkELIbXQkBRrSrwAH>GmXSN6V?#*Vn?AM;9wiWd zN3>mL<|B_)$h$%9E3rS;U!^RtBH)j8qF(A$zP|kEegPeT98u%jYW3|*PUz-~kS|Fg zJPYNxiMo%qx7;at#(>Us8Vt#B)`&dvE7nes-21@M(g<-L_n`)lW>=^~Fdl*FLtSt@ z&E=i*xT^YjOh3pG(wsA_KDXQ`m_ z%NYMdj_@l~GL^B}EAM^cSD69Y8|oV{mSULHb_<@J6>`8=$$HQ!hC%@sBp`mC)T|j? zK*(F_S^9=w%6;dXr95v%eF-WlKFwz~9+C96l}~TirQ|)E*}=1}RqXR$QPvH1*K!z;Zt!!I@urs_rvQXppV`M)1*sE)Ic=NB0iQ7w7U6o$;lQhx#8e|HwT^ zzF!NP*_l}9_I~OOB9#N({6{pSC*^&Sjk_=9o#UW!xhgO&SNY>2#{B%inB$qV(%xc} zt;gi1J)Dep^kH3@n65%DEypo`})Ob?#CsTb=pZpZv5tq+t{WY`n#3u zUFA0;aKG+YKi}43{(Uj!oztKW7|xw3jujHqt`q71qA>)Tx@7#h{l#;Z5D>Sz_M-7b zlDmO)FYqccvRX{AMKPQ!1u*g2AYLc`fx{y;jO5Po!XxR~G76KyXdgT%1m=R+&||P% zi7a^2^X2`x{cJt^?F;; zh{%n#Inwm>il#!l556@^ex>^MV!n0Cc?!hWfjsEaU${@qNCEb1Ll#A@`{#< z77Wwf7V&9fG9^~M;Miu^8>m93aUDzjViK+QMh&%d)vhFU`TnZrNrpMIW*5#<~-aA>z~J7YH1=3D8_c zugMsq%N!1htcRa;#x}^>Jkk~tj#D-XoD{Vz6+xp@k=(TXHf-1+`jL!r5Rh(1ysKax zGc-8w!a|~}X-Z^|hLUsb>lS+{6hEuvXtmdiwdxr0U+6aEyA9O>ZNeUKQs964KukS# zm)0kciS9&S1b;3aC@K*@2L;ebDyDp?ma$^J42(h1LfqexDRn(|0y++C8$~Le#FI3W} z0%wk)LTw1x^hhn1_BGwPS(G)V{54=Z+((XCzIdznHVmef<415Yr&ko~Xq^rTmYzFl z%v*=|A|`EJ<4IGq1M5hykf{!2nF^y_c*r}8bTFqL!jcwEjV7~vDE&sthe;R@=u87+ ziTNMORXvERnrYIEi9xV*9%T93(2!4S#2S4etgN>(ckwqim8~~ z$W3Eh%b8ff->F1z#5B_}Y1@fuD-eUTk?q7tj&lSFOT1=7z+}SYx2#0x#~^5t&;kZC zjbhVHRImM_03Ou$-1O!^?v8&jy?V-zHWlHOOx}cUmSj9GQuc);g z*h`6}PAI6`cdrxxbaH$Jayy4cU<6k5)*ho%Zd=6oY+Jkh-Gax@$U0lbq^(cV;>sb> zxAHg?gLKwG<;BDJm^vScZ^oJ-z6fs;zpq+ckaE&ioR6NzE7~wLikkx3;Nn*dkptLB z3w|w=u$r(h#~TOj#kisF{5;tR+n>v7Zc1}-ZW^(dQw1+6Uahk|_$W*rwEt*46kmh3 zvjDoHyif(t?wbLfk=lE-sm_k0Jj<;|v)qY%vvubMQrM~VFQh##@BSd=$3HvG;QJ9d z&%5{n3Go<{&YtC+AIUl~=iqy43Y-|Z>C}UZ{2ow6!9CuiY4tXEyXQ8KZIXdlUyiS~ z(QlLFU{mlFwfXy`ZS*yU`>f)dqCG#6?ZNX;Q!3uCLC?&ie;2My+C#Cg71^w|Oa0KM zZ4{%wmw@khea)WCtJRZ-)t=PuIuDTZvy>MDX_iM5s9n(nHrEtQC}LpZFuIc!gdm@P z>&sAB2SAJ#=(feP06EX6aB7e96!aEDB>*pwaqLF&DcxH1U?6U_49uXIn$+)sUTW7_ z*L&@<7Q?p#fNg@~)g7U@VbRTlWrksx8f5ZVBm3C~+wb%KDDCscF_tZiwTrF~k7cv& zTtp=PJzAbwgd}VU0rwqBE3i!r?vF}kAAAsCb~Tx1hIHpoGg;E;X76aGY>YSCE0=@2a31g<>ryX(U4R6jz zv^gQ(WlB2jxItlDv_&ANcY;bC+~o$Ze(@nte@q=A}|miA(kQRcj? zWCGZT62ylGJl&G~!-SeVz-sa~q!nmNkBE{jElIM$i!7f(txo96F>tn2t7$`$6vkYE z^ChEJ&$hIj^8r8}XuFTxUs+`do|nrjAFf`lbuPz#1U`S0QgJkFy8E;d?a0e+z5;s; z;flK>uVS9kRKZi;spKi|gn3Hyr{yW{RP&TEo6A$)spcuE3ZC*# zfTy(Yl-FJnl$9o$`IFB4nN9y$;PATNDdYZHXaEqv+m$v z4lHjNx4NO3=fi}CYai$Hk-C;^_{xtO$UX!a>5l;!2{B;7Q!-LlP+Y%np|pcc3??d$ zZFEiXW>wrGW4ARi!Dox5rK*f?G-+)$X_=?&qot4Jd3tq4g(QVsp?IvfT!}X7ozl@&ZjRmk;awJ{UaJs>9S9k(=wefCZvR%D*I&{&kzm*XueWuCr}@7@cV z=gYIu6l8mXXk1!67bI-l{gM-~X`aB`i+Q5=j~^pg@4!(BTh3~jtU5*thP}975EVrZ zZQ-*!Cfont^EB2|X?5IMZ*{hhd2tY0ogHG*Pd2y~`*{vl>zy+h%KMZUo!v3aP-Y3^ zfsh|Z;J}yZ7ZzgLj>!Fn-b#)!v_=*5JiQF1N$}HC<_%hGeycChK+RZKs;4LL*VjOzpUD}LQYXs4CXE(`Hb_#YiZY* z^cT5MFQFUWrU+iB*?r8XS_|;$mt~i(5M{F?hDckX(#V?XWjIe}$SEHjaI>+E%C<)Z zcB(88msTroRj9IrUD_>1{C9U>ug6;dq$tqFaGgC^L2V%(+Zm&%Lt-)lNGHxG+xfm7 z0^gS7gOne-&I&Y!P!p#(k&Fnn>dNo6YuK*3JDf4tkH#4HBe+t_{wh253EG^8c`kzQ z{2af*{^=#qS=VXQpPq@-#vRpQIVX8>MW^2w)>J4{QWPPDl5!KpM%^y)x7dx&tj9st zMv;dk=2%gvGjZ9yk+yZio;S;h;?JFUmBm1;lLpWAYMchO-xP3&Z>P*4pp?nyKFN_O ztIZwIT493}l%#dsu5F)b&>B_`O^?aLcw(maqIomKpJAlZr(v2;-hTHMl29C2rh&*xnRD^&ilAerk+F5~7(I(M}8y_n81X1fm^Aj-APA6~}F4(2w_ z)OGkaKIcFX{tTLX2a$ADJeX#@dk7ftx~)xli?ih}G9;Cru?p6qIau{TPR^k*w4`_# zsDBReK5ENEZQ^V?`UJi2GqGB{-Y6d)BR}s@JoqEjdOF&DPspTX35+@2T|+v}Tta0_ zFGZSNj<*(zR#mGH^$#71M|U0z3v(2&1`OEow-PW~;*=?^x&6Qn?I&7gK*|?}=3~Mf zh3Echd-I^5BhWhp98ZI1{keE`jz%`5O@{_~E=o~a+@iwMLO}Hvdhq>EBQ#E1i?$3c z5FfldyRR^U_knX?6Zs@vt6@clj)Ckze^)JDum)N9l6IMN6#GUK$f@frFHR&l>NZ3Z z3)KpEg}(y&GC$64PaqrvZ9Jhet3zTFe{vU5PigtGO2-1#l-|RmdK`T%9q;2lLg!H? zZVv3R6|nor(a0zhR8A_MK%~rRHm8+Q!gfFF*B#RkR(X=BoASf4%F8I8L7`oI8#W%@ z6R|FlNlI`IpvflifyT*=cJDpdNM1%(S1coQh$PXbfKA4r7^&NC4o;dYa3b$%Q1*TB zAIF1N*-W|+t9G+{l(=&Ri#vf#$H&4x^Ct;{+fLNcF~%d>t3yO<<=0&kPH0{Cg>b^y zb=QUy+SXkcPH10ueK=u@bvJ|)wp@2(IAPqn)!~GW*t(l4QsV1wu1HC&yQLx}x$f4A zl*VQ=HF< z-^Ig6#gu&NugiRz+ZRi{p6UE<%Rfkfm#zx;xz@D|GQ!*taJ&?7c^DrQH=M+ zLBq-=YU5p3aM&k42rAssqY0yB8r603P2M0>)Fn+9xq-OR(t`!X$n`?vC7l%hMr6Cm zC7bo3OFbh#)ObDO3{^Vp^wD%~5}o=pvCyn?!hc-2(ul zpdpPOk@Z8!ZCFCTREH;!`Z)yyC1`^X4{{ESm8u3oOL`N6?Rg}jNBO2nuMz#S5!_Om z0cnFgabPit6r}y|VlA?gj;4s`W3=yeGys;j=e!fiAhheH(u`f(K3B7fOJoMG4R12MsDHTh7#t+go@%q`5^7Sk#|m zY+KreY)jX$ZRz5mZOQBZsJ5ju8Bwg*4gS#^IOTUWPG{=|>^r-pm3`+@;(X)u(keX6 z<=>7t?OfBwK_M^q^P%JKO0c}qW$n*t_spLh{zM!oy zU`vI8mCdpshc;QfW8raRl-2p2aM{!7fzQulH;Z_gnl9-(C*QEPwK&ry&xSmLJArrG z93DFMW+h;Sc_=|u_Mn*dHLPL0Uq%ovy55^Tl@Pl5@ZQb1E!z7;S4M+dk^xK1?`me5 z)+KY?Q}Zq3g89+;=awF@jI8utiI5ep8iL}*vPVj}* zwDX!%Y;(2R?pq|k@qP!+CUgS7v$`_0njAKG|IHysAzcdQEZ(v@J%fIv%K-2q~{E0A0@Z&I^DH7 zG#0s~HjSAKRmtmX!K+{|U>um$IH*B=m9PU?at=<*y@LN1F{XzY!(_y8o0~Pk)-*9) zQ!EHTt2er;Nn180u9oEe07B8bYI0*tw8sgzB9>niqjto??dZf}8XG@?)0smziHtq0 z{!^LOd9n<<67US#{sx07tEGp|EE>-KXcB9v`=ULf90P1UD#PAhnFzcZr(FcTma*~~ zo5InEG<#mh3G-7HZzrWJkq4ZV&uoUeGhKB@wv|v2Ywgc3>V$b-bT1R-R;QvhJF0e< zQl_YJ=g-$~eJ&H*+?pkhQ}Nn0$2y$q4YC+^ziMuf(U-PSF`SBt&cr$o7qdjkrfBB0 zihYvRv`@m#mN#)TNw)Ua+%I`r^L5?}#q)H~V?03Z3aHKc_#xhuS&Av6=ui@h%53$G zHX|YmO$JRcqh-o>C3D{4QImVV!vg{P4p>!hwG5H4jREG{^Vx4+$!`awmH&XPtrWjA zXicVBM1qlXP+B?b-0pSf%ov^5q&+jvoAzc!jy-=nd%YCrEJ~Q{=O&>|@$Am56u^j` z=oZPkRPKy`4d4M;v^kJjy6mgh{6d-VD(B@^e{@UOD56+89k}+#4vWj|Dt=$krVx1y zW9k>KR>sY}vzk@D8PZ!z`4-YTmcj|_R@1v{1Rv>4?#(joI8LK2D`%f9`2^kU=LeL+ z3O)j>cCvT7HQ;o1i=X#a1zXhzpIrFa^wHQI4oO~jJ|liy!6+@9V@HQrd?X#pYUu%A z7KCJx(>S~ov@h%-H zR;0Rf1vqeN^0K8_>!;&P!NnpykOX0ajwYqTS&KiVtL%(bi&x@UTKQ!00Zy0GDI4BW zCZc%Z<68VtiIlJ}M`=RjH-j|;quU(WDB z09g?Y>~m?l+BhRVt-lc@5KTpvqne@HJ*j=fS^<9;tkOxIlDhV2 z@Sfds(YM}-eoA13o%7H$PG*mIh18X6(c)wvZ>BNbI0~8MGEKyVQpr@4^R72Msirkd z8D92WE{NKf1WwnYu2hqtjHXmmDk-Sq3H)uFo+NnA?jjG_7R2*T7z4VtzB$!QXsqnc zNZWdZ{K#d-P#iVUo-u1sf%|L44E>}J(ETx@;xVZ)RPl2{H`^7u*&iB&BtyOsh}?S2 zO$|5lUfh55tvif%45u!hXU;HCm$pjI#Gl;i?~2gWHnZZNvm3ULHj-y|DSY~Q-^kj&zOu)}qZ9r+81(D00{qi7ZDPZDcQy2Y_tNv54ck0M ze0XBRTQMCiB060nzV4;y^a@F*S2CSmCF%5PNvGFHI{kvA(`!ek)B8a<*HzHzmG$V< z`=IFb%1S!*62f$9_*8m5Q|S#MD)noupi=)skVF($7(K*KGoo<|UO<-g_}-0U}-P6Y1&- zB3&IIQjPs6HEo-Q^VTXl70=;$+E-f-fmi{?ia!ph= z%$fDzRILX_O=ceis$gzz+p@<0LEEzC|E6u+xc_n6xN((jJ92YjzEHVXzg^XOQIipI zx&yLB%)1}As-90H#MJDbkiQ_(bpJo-U)KEpqkk;2h5DBy-=V$9=L~EG1|8z(bPZ&H zmFr8tL!Os(K+L8i?M;y;tI2MPIz51>FFgte*`t&p8qP3{GC0%4PxwP`uq|6^bA-0B zk6g#H$!udbV-|0Zaj+h}dgBIGC3~Y;8cI9W-f{DMrhOC&!EYYeV_7wpZZGC~!ZmBEkH3 zhVw_g{12%7$!IV?+TS(F%b$&T1s+6!ufz~~gb+7_N^q_e2YW%buc~Y?IQSVEzguYw z1b$~#;P)X9zh9I1eOTi6>k7Y*DEvOE@cS6!7dg9NcFTzu6n7toA<;+V6Lk>z_1Xmk z82v_Vj6PDQppV*b))!CX@IR43 z`u>M7mFy6L8K+n?pBAS3WL?yF;y@*>{y$r%d&B)a@Bg-5_xq!vLN2Yn0bI22w6*qk zAr0?K{I>Xm7<+X75Xy&H{t$bB?T|o%c#(>d~M4lZObmLQwknGN(C<# zEGV?ns)EuO9>}H?ykN<&PH8FyZw*!Vtf$~5g@Tt1DR{|{f+zEa6+G@GDR{EOo`NUe zq2OgRjXWr{`^Jw;GlIM`jTF>|heD>L8rf3c$d>wmZn(T*$$LsS6wi(>b;IQiznG(= zI}|qxXIS>5{m$kFrdph`)7_UbaVU(rP5TAOd_21J3<01qMsyu>e@M|sFGLZ#!iCQ5 z@+QL1sspMsJ`J7&o{v?F*83Tbsoqw6C5BzWDaAPg1;bbY3cjD}9ke4hb1?D68h0jK zfGw@#^b#`B;0)b|fyk+&;9BV0J>hS4U|s^4Q)Rg?%006>c`r}XIcZBnAfx@^gAcNZ z8$=J(7OHg7(3kKxt+}^i6O%&Ha7+2H&{mMMSPR59q#_7n5NsHb%pK--1^f86kwxX;x8`&IvS@c}I$4J0Vc@;JWHidZAABY6!gM?*vSYyi$H9!z`Rn7MI_TG}&} zi1QvrzmjwpcDGVG^I+6%=njm)BYFX$BK>m>CY{YZqzZ1j=PWZV)JUwDkB&$bFie&W||2&SLjxhs~`Q;}( ze+WZcBG}1i2$v|eYH^$&^b$&6al4pZOYkR=ZYX^nJLY2%U#c=o>0wj4dsls0j!(IP z;(F1#tg|Pb@vB*U`5O=jOK7I^EAO#CDJuS&co07i;XT@mRl<<3(RoLh#(|twJRT@B zPp1o)50shctd}W29l@FP5|BVa3iOGT(mF7oaTNI8OT@#^^bsLzD?13Z{PCTF02CA*yRK2aZnIcI24;gq<58&KF5o_R))zmVHcapa(uv zIE`jE>d}?xNBJ89ib1!?cAicniG);yI+-%d4^g)RY1#6_l}WiWkdZQD3fAt7p04D;?ryD)9@=? zsyQPAz74->hR?9T*Xu}cjD%#sXV=CHj-^>}v3-G9+IST4-+jIFSlMyLAIJ!~Z z53m{iSP&=^*@S)^Q(4DG+6BMGg~2+S>U2CXCT)ri0+wbfqBliVW<@gy zWU84!Y3|QN2b&F6M-doPU;azXY|MOTriws|q)7ShsAh_+@V7&qV%QgUV;q}}p_gbm zhFu`8@>|8<9o(hI{%V$+cOY=l{^Gm zKaOMr;Qx&Abe@zvGY3x{o_;%7}1=cOnlh4UU% zfwll{C#noMZ-s|~`m!8vv}#S_HSMtQm$PCrF3MD$dGfPq-@o_b&>m2*_i%{ssf$9ZB5-yzrAK-UD#%A1>C0r7sm#2aYN6! zy`mF*la}swisyWstCm#!M`*HdVP;`sCM>e+*-N_{w1#dn<`hpBg_3&I`8&Fmb3RV9 z$GRk+wQ#(3e+WN|Wg~5sT`4FYaJjbgw=|s1Y5+gS4J0QDTq%RDk5fa4dtlb%LClMq z%;J-zP&C;tmIN_@F+QQVf{6Kfl7JPd0gBcxFj@u|QP3=!w>~r_lY#Mkj`+bd7=dww z#B-lk@>$&4;RAj7GgOpj<0Q^lQ02iH7sKcNC8~!uXD#ydh1Bb>;|n}-J#Sr z^u;KjM{1z;Z~*p}+oK3QMaK_|PhEz#K{lXRIhHo*}h zhz)U4Yl7~+C0IHqA){EQjA!L@*1NFo$c@x5$er&&0iZyzokxCE@bRpXZ4z5T-syBv# zW5~fJtiOQxh-#d3VPXN7$|~zacud9z#suefKTP}QcCl8SBp@w;-$mDK4+qSfuU}hr zphR|hJkR@-jE~9vw>VHQLcSwgP_{EQUr|!$<8cOOkm@BJo!C0X^eF^OHfX+7h+$_Q zzaE#1#&wH%c0T85a7~8`e4;i#53E*R_^TQWp7<`sfO51{m)3$+f}Ri7aHhHeXTNdB zW|8#T`Z5P#cEkLy7r&PYNSVv=!OA-OfClM|HP`HkBMC30R{)aXejnWnMdVZa1xIOZ zOI3_KOGCWEGl*{*d{D`GEv*iW6~9d_asG;wd<`5}?vF%{0-tZ>d)N|o&Z5i9?Ba=_ z@N5N-UP`)!WXsH?oquAdzDnso8laFc{YLBXDm{>n`?DVu z<<4wW_ay1gC!(^>!vp;kEu>>Do=nL3-cw?V zMkzunW{HZ8Y7fEi;Ql^V6%duj@j5Maw;IPd#qv3eWUUQEy)iD{ z-7Kk=1&S?;_4sV^;i6R=W*o!)7bf;G)fnmyE_ln4Qhb|ijI%0c)14$R&?cc5tI}}) z5DOpduNKec^&G+4j;4z>X4)JIVasyTfSu1XD~58I&}~X2Wws#sYFbNdsf}m8DxRlnjbJahTo-b)y5j?J z-$=9-l5)g-2lC~Uibmst389^pzuOr1ecN#MsAK^5)ToMWli2`1Y3Yf>Zr+qoC zahS0}QzpJef277tHg_qa(uPDXwEXG*@<-FXyWQjJv_|XaLcn&Ka7t?r{}WloLld8B z;K`q`Wpz9~w#*=wy>ByupH3NVo+H$&L-i6giG(dVVgo9g;_*$H3Nm2!V7q^cNvnZ9 z^eQzQ_h|^d6V$byLIPNa2G%b_J7S(@GT-C-u!bm}2ir4T)E8KDu# z*8rM8Wxw{x4>sg_n}tVpNe5tzWAdfDul5$DhS5*j#1~+8^qJ~}z~mt*+M>;U=Yo_s z8^+OWFlY`JIEGXU(X5ltcrm9DSN6Qkixcg`CI%Z?x`6P>!d9NN>-c)C^$DpoL)Df-7BphZw}Ulmnejpg zB00&@u=Ji^3D@AaK1>)x&ztUaf?uGeWz(xv^-byF`Y_jUpWf$*XR+Ad4c=_D^kL0! zmUksms3E5{qt0=&z)z}MobDrK?ZXequlezuJ`v9sc=nH6Jclb4gM#WpTJN|UjWL=J zG2NXZT21GUb8$X9X{Jo>6>qF?w}?kt6sy7Lf|ecY+Je@RJ+o4U(rMC)KQq|^mSDM= z1#r7-9yNXo(K9I$RA%o)U+iv0*?z0LL(q?B0Vlz(D$E_CL`TtOw#54+ZR`v&zeMTP zb%kKkTm|d8gY^Gf>oOxx5+NDnm>};PpmC71?!C=}@_XL7) zFM{2NcRLKW9Ma~DSjQ%1{J1_g=>->8<~3{QyCjg$tOE~qUs|(nvnnr0;<7;ACew_l zOln^S_a9si8R1Bh5sdOfQ7luK)K=*s?_mGaYb)F|eZyOmnQjnb+hj~Oz5G=y4*93ZfS)nrYE?~~R_D8-CQifoQ1_K} zaT?AGoL*Ip(|v>f*0_)PYT)#JvLYJg53uMP&3RYZUyUuI}HyJebr*IURa&q0d7(j#Z91#GKnO=uc(ph-3|ViDci-Q6F)#|CYp+N zpTc5L(iekBw6IC45;YY6O*(-n0*#sijHKuYsyj9##d-;jmqP-YuMZ&=<%LR=a`wp3 zLe-CjDmSf5;M}HdTig9u!rEpLxo{Fbp zs}@gvDHRipZMO`hLDs7>Y>H27b}B)|x#ENjm`+{%l@vsFuTiOz=z;XPQtDK-(j-w~UL_XY+U6%2Aq z%jxzSl%v9yk#jc4b3Eg9(Vjk*nkDT}CuM#k=W1~;WTmLCQ&mSE@~AJS;@1KDOz+b% zGAYaOLMx`M#r?FB4 z<_9xjm7f#rC{2|~F_AHr+wo<;`W%^L#Dn)u!^`m|iqGrxWTb+lbZhX+n>UkJ z_5^t4B=E**oZ#_I`HnMx4~k*9h0mZI)s79BdOY)@N}k!0RQg-s{<6R{4W!O%?C6X2 zlMh@jV~K%CnY|g3y>Wvr-XmbB5vDt2vOD*uVX~RKg1Ob_u2JT$QC`}C&1efb?WOFb zcWaSgQD2F+(3R}bLMp=1d}6lXfYaH$NXHW_N-uw%;yT4?r&3SFxe0Z z!7oz@3gFYp=OO?MpZjI9;D*%RM0I=PNySsq-U~!>qJePIWl*#t)mnwu8Y3_-lgx_g zmgK41l*=@CLUT|*9`MzEW;uqh`Eoq&-R+9# zpSSX!Nyxn|A+l6@k}265kx6g!%a|L>k2=0sQHQw+b=)4PBQk1!_My9@mY-g-x=_$h zZ%w72-YEG|$J$zcdZUzq7;$HnpI(gun(uq3Y|g%)9(7%BvV*W=WLxHZa+d%^lO3@d zgCABX9tP8oPEL7VA8PsyCaFbLeuIlP+NQAUq31uiiH#CO zOth_hQBDxW?(+872DiJbGP+Svq1#whhK>$OM;Ot@ViQex<+Kt!$9Z?nI<2ZYH;Qv| zzw!KKfR|!(s8+`9t$GQwmf`o@biS2SY7pQY9b0ZC8(B;+@e!~r6=c&bag}3kxClyzR z7Qb{?r7IJSai93TH(=+iR#PimP8$(MaKAk-V=T4}rHT2C(@R80*gro?8IeSo=!B|bah@~Y!rd7J$jzz@7Nd$T+q0M$ z9$%_!Z)pk0No+^?a!q?nb-w#++FQc;Q1=6M?JeQFu(v!|ZEtDu=ONp$z5;toF3$Fr zeB8IUO?eX6ps?GL7MxjfY|O`E%PUNwG4gQ#-pjJGUaW#?y2{;D&AkIcz-di{8=rk_pxxj zt$ln$HzkC8({kZ@UzKo<(@PWLa#LQ#g`L2nk#-$F$}3YSRYr&<<4A!FBL$p~^dyam z$TUT0r|Q}JW`y1iQ+|Kf!{;PgOwBUt5i8ub_=%Jq{FLzG{2a`+gaoIMm40X_gfm+c z6fk zS+|_6!9MrRa5*7u#Ck^LdaDcf<(ZZ{CC(vi*tA2td}N?9-5uk&YOvZFqZ7-M8FhC8u-9d*y`ZXa5nG!Bvj=e z1oII^Oby_zS+hi|e#mT%5fcoLgk+RaOCx!X_O z-AnbEshM*=LF@ywxChqyP5>2}VOMyGQtY6~q-Cny?bYq}fT3XX*Di4?YN5~y>!Efg z?Gj){Y0xIEcPJwjoCe0NG|}m(ua{PYY)jsmfy`Wz#?pQ3U}ZX<1+EIY#en5}Jfvet^TEVHQHvL^>{K#|?0PNLqi&kvukA9H{9m;ISt zyFasQ^asi`bx6SF9vwhj+3V7QewQNdLBTE^P`gV9RE^Dn+SaFWpAMGom%Ta=z3BDz zK6=OA$F-u=Q{1ORWS{2L?$exFeNux2u-vIbsZ$ZJSBLq%YBJr=1iN);?QR_!=$7o) zLE3~R+^@M_A7sxC;_;ak)FBU2V-}}7X@0`}J3{tvZtecft<^tE^$%Jb_3udTUz0y> z^8!7Lxc$K%9$CAGM^@6}LE5Au_YZq};O#&4&e%f8%6mYp;`{&~i_$rTr$fAvSNBOl z4tZ2~?SOB{&#KBqDzk_3KNI4qHNkuLC_pFuc_2Rp`mF&M^XXa0p-0DA4qbr7oCJ|7 zlc`l&5U&WfpC1Lk;rxu>7i!?Q5-w=}7r^fc62G4v z4Zok=RQ%2n)s#=FhhKa+BW-H!K9WCI2gyMkzqm0RFRrHHUyg#~#WiU7rBQGk&d)f0 zxdx6a;bJf472tS4;`rpzaD4J6;h0G{Q3JiUlOfkIfz(rg)Kh(=9x9O97%K#E`s&7T zdRR5xzBUR@53519uaAP$!)nm&`WiT`gp2bMZvdyKOPnql4W~;s5vL&AnmA=@^$mzm)t=$zHB0mlr8 zj1g&`T*Rlib%R1dm;VYQR}Gu@LwX6HTIAVOe#`Ze;cFtjD?<WFxec$ zFUM8p6>V&esC(u_zJocR=mRAWNIJ^XE@pWQ+GCW{5k6lqMr#(j$D2eGDUsIwk%sGp zK2&M}o`Kglh)hu2U5eS#3F8iEg@hft5hNMy!hz7J>*5;C;H@Ag-^*n3tsp|3 zV?~ZadR@g|D5lr?^&Rxa;l@mM*|!6kPvA<=5|vI~!S4OqNUqIP?)`(;D%@~eizlV{ z;*{cixPRDs2|Z5<$t??)j?&iXGwt44%R<+CYkMB3(f!^yWdYZG?6x;6dK3R~?h`!u zG4a1CkdA+LgZwYwGdneDKNG*dA>Zf(yI7|@gj(+VV$3=b<;qxklHplx`KwJE&g7^t z_*>Px!QJjro0qv{=V!glQTJ?!d{2o!tOM5Q-rk;VYkvQX_nkZb15B%^9OHB1aL(*w zl6B}P7q00Je4VHlW{Cm#tSURPOg1sk6FVl=j`;uCN^;zGtLHUg#o! zsLmT1XccW^d*^#KY>yd_mU6Nt zQM444Q`v6$=UVNnD7HK#S8}<()TuLAt{f`I_Rhc7v3CxI^744SUl(_kEj%}%cQW2T zsA=!4C^j6#2bcS>UY(IZx%0yEKE~^Bb?u!iytcvKiMX_Xm-bFWch46e*Fz*oMiaDq z))=c{BF}-HYO60*iLdrJB>;C zSve!;&Ky5y@qSPEpV$-wK1?M&DN!XlUn~7(ze=V%+im!?U$0cXqGRFdqJ6kZNF@zwm)k8 zjizf!jUs@m

33}|Bb4IoXjklJMMe-+`B~#&l7j_ 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%0D9Z^D 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

$62RpDP8n5DRR1bL5WQ_r?Chst}0O4z28mdru{ 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ⅈ3K9sn~jl*Fys6+=$ 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

^zCnnkzq!Ws^!N{cAQVN;y z7Yd`0Y3onF`ol&s%IN0dio@%{*NXr0A?+4rK{Z`+!FQcva(q))su3|Vn zoTfVy#U`cvWM?Te>E*t5qiWOeVsxZlvHRnuVkF0?p98jD%Y6T!xuoj7Nd_3VID=rF z83gGJ%G#Hp;^FT@_t);l;bmV{=kP%e2iMF2?a5sTHj<^}D={*~V(p|>xqn~nKZmqe zs!j->Ov_o?tQ9KF={U<=MS&Aj`XpBM2caW6MKn18c5Bb`Sgg0wPLRa5+SR`JMB!w( z#@A1j)Hx>ze}-x%YcwdhWUidr4}38posCw4l6!&voufwoT0dnw&f|NB2w%sG1LT#BuGjYlx&yJfXQBalNF>QDtyX$V>^it5@3qFf zDmw8~ZP(~;uS)9|UY?VSE*BVwoVA}S zVI}vKSJ+Fbo3q|m-n2?eYkUY1GN-HQU(RLRp8H zb4kx@a%6c~73tP*@r~Wi9wd{?c;185Z}np+Y$8%2$F1Mi2z6 zkm~$J8uWTBYs%4H&2^+zZ}7}~D|k8D%~bjRkb;ySG55bnl`T}+r{PJv2N`J{gV&R2 zj<@1n-ekYs?rZxl4i%olH;f#_rB31vpm}#|+l`0QDr4^v9yGd;++XeA0~?BWpo{J_ zGWA{T+Fj`KH+fclg&8JqpWl|Yz9nsaN9$?6%U`eey}0cItYzx=Cbs=8qh6+2H$`cY zU~;0*syK)yb=OSZb^^~2Kh2AkD<~q{SvUL#x;%P6FTR19O-|TXMRz|(WL6|TiuCoM zdf`7w^fpyQG#mR{z}fP4)(th*{=wg4C*#>!GzqP4cRj9(+9EKZq9K^`MJG)0D9L_0 z)>6Ewb(hF0KGCuYY=o32+FtlEuW+Qc8uSrPoVd!Q@@DNGh|@}KUC&_(X7w4#(MKc- zYO#}uJpNQ1jVMx55J=^zh}h|Cn1R+0QA@x6`2S<>J>aCO&i?Vc_ujepPTSqtU3P#4 z7EtgyC@3f{5EUCLcA|*bOGL0-G6NRI9Wg3KMeHTEBpB>18hc_(G{zE%vBZM0#1>nO zQDcnwKi}s$=iGB=XNkVQy#LS3=floDy+7x9p7Rt396B@tnx`{e`L2>3EU=VYEI24> z6tA)&u$w?oXhAHy8l(lN{DtTxIUy5isXq0?ShHDwI<9{?(RO0En|H&RdUQKzr_Bm_ zAQd;O+84|2Vdg);m@^&iS(cDDxON1)fKWSz@O*nt4nN1Uk(I%0A!7`VG^Auo#t;#- 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 Dzx>)T diff --git a/packages/NSubstitute.1.10.0.0/BreakingChanges.txt b/packages/NSubstitute/BreakingChanges.txt old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/BreakingChanges.txt rename to packages/NSubstitute/BreakingChanges.txt diff --git a/packages/NSubstitute.1.10.0.0/CHANGELOG.txt b/packages/NSubstitute/CHANGELOG.txt old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/CHANGELOG.txt rename to packages/NSubstitute/CHANGELOG.txt diff --git a/packages/NSubstitute.1.10.0.0/LICENSE.txt b/packages/NSubstitute/LICENSE.txt old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/LICENSE.txt rename to packages/NSubstitute/LICENSE.txt diff --git a/packages/NSubstitute.1.10.0.0/README.txt b/packages/NSubstitute/README.txt old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/README.txt rename to packages/NSubstitute/README.txt diff --git a/packages/NSubstitute.1.10.0.0/acknowledgements.txt b/packages/NSubstitute/acknowledgements.txt old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/acknowledgements.txt rename to packages/NSubstitute/acknowledgements.txt diff --git a/packages/NSubstitute.1.10.0.0/lib/net35/NSubstitute.XML b/packages/NSubstitute/lib/net35/NSubstitute.XML old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/lib/net35/NSubstitute.XML rename to packages/NSubstitute/lib/net35/NSubstitute.XML diff --git a/packages/NSubstitute.1.10.0.0/lib/net35/NSubstitute.dll b/packages/NSubstitute/lib/net35/NSubstitute.dll old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/lib/net35/NSubstitute.dll rename to packages/NSubstitute/lib/net35/NSubstitute.dll diff --git a/packages/NSubstitute.1.10.0.0/lib/net40/NSubstitute.XML b/packages/NSubstitute/lib/net40/NSubstitute.XML old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/lib/net40/NSubstitute.XML rename to packages/NSubstitute/lib/net40/NSubstitute.XML diff --git a/packages/NSubstitute.1.10.0.0/lib/net40/NSubstitute.dll b/packages/NSubstitute/lib/net40/NSubstitute.dll old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/lib/net40/NSubstitute.dll rename to packages/NSubstitute/lib/net40/NSubstitute.dll diff --git a/packages/NSubstitute.1.10.0.0/lib/net45/NSubstitute.XML b/packages/NSubstitute/lib/net45/NSubstitute.XML old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/lib/net45/NSubstitute.XML rename to packages/NSubstitute/lib/net45/NSubstitute.XML diff --git a/packages/NSubstitute.1.10.0.0/lib/net45/NSubstitute.dll b/packages/NSubstitute/lib/net45/NSubstitute.dll old mode 100644 new mode 100755 similarity index 100% rename from packages/NSubstitute.1.10.0.0/lib/net45/NSubstitute.dll rename to packages/NSubstitute/lib/net45/NSubstitute.dll diff --git a/packages/NUnit/CHANGES.txt b/packages/NUnit/CHANGES.txt new file mode 100755 index 0000000..0bb933c --- /dev/null +++ b/packages/NUnit/CHANGES.txt @@ -0,0 +1,1173 @@ +NUnit 3.5 - October 3, 2015 + +This is the first version of NUnit where the framework will be released separately from the +console runner, engine and other extensions. From this point forward, the NUnit Framework will be +released on its own schedule that is not bound to that of any other NUnit project and version numbers +may diverge over time. + +This is also the first release where the NUnit Framework will not be included in the installer. Only +the console runner, engine and extensions will be available as an MSI installer. We recommend that you +use the NUnit NuGet packages for the framework, but a ZIP file with the binaries will also be available. + +Framework + + * Added Assert.Zero and Assert.NotZero methods + * Tests with a Timeout will no longer timeout while you are debugging + +Issues Resolved + + * 144 Pass a Func to lazily evaluate an exception message + * 995 Enable Warning as Error + * 1106 Move various Assembly Info files under Properties for CF + * 1334 Add Assert.Zero and Assert.NotZero + * 1479 Don't enforce [Timeout] when debugger is attached + * 1540 Remove old .NET Core Projects + * 1553 Allow ordering tests to be done in multiple properties + * 1575 Escaping control chars in custom message + * 1596 Eliminate code sharing across projects to be split + * 1598 Split framework and console/engine into separate projects + * 1610 Refactor dependencies in build.cake + * 1615 Appveyor error in TestCF + * 1621 Remove console and command-line option files from common + * 1640 When submitting only part of optional parameters, all are overriden by defaults + * 1641 Create OSX CI Build on Travis + * 1663 Find way to hide NUnit.Compatability.Path from intellisense + * 1681 NUnitLite under .net core doesn't support TeamCity output + * 1683 Existence of SerializableAttribute in .NET Core + * 1693 2 unit tests fail due to localization + * 1716 Move installer to new repository + * 1717 Change suffix for master builds + * 1723 Remove Cake target TestAll + * 1739 Create separate copies of MockAssembly for framework, engine and extensions + * 1751 Serializable attribute exists in both System.Runtime.Serialization.Formatters and nunit.framework + * 1775 Support NUnit assertions in partial trust code. + * 1800 Remove Console/Engine projects from nunit.linux.sln + * 1805 Error message "arguments provided for method not taking any" seems incomplete / doesn't make much sense + * 1815 Prevent NullReferenceException in SubPathConstraint + +NUnit 3.4.1 - June 30, 2016 + +Console Runner + + * A new option, --list-extensions, will display all the engine extensions that + have been installed by the engine. + +Issues Resolved + + * 1623 NUnit 3.4 is not integrated with TeamCity + * 1626 NUnit.ConsoleRunner is not picking up NUnit.Extension.NUnitV2ResultWriter + * 1628 Agent's process stays in memory when it was failed to unload AppDomain + * 1635 Console option to list loaded extensions + +NUnit 3.4 - June 25, 2016 + +Framework + + * Improvements in comparing equality using IEquatable + * Test case names will only be truncated if the runner requests it or it is overridden on the command line + with the --test-name-format option + * The .NET 2.0 version of the framework now includes LINQ. If your tests target .NET 2.0, you can now use + LINQ queries in your tests + +Engine + + * The TeamCity event listener has been separated out into an engine extension + * Fixed numerous issues around thread safety of parallel test runs + * Additional fixes to reduce memory usage + * Fixes for Mono 4.4 + +Console Runner + + * There is a new --params command line option that allows you to pass parameters to your tests + which can be retrieved using TestContext.Parameters + * Another new command line option --loaduserprofile causes the User Profile to be loaded into the + NUnit Agent process. + +Issues Resolved + + * 329 (CLI) Runner does not report AppDomain unloading timeout + * 720 Need a way to get test-specific command-line arguments at runtime + * 1010 Need to control engine use of extensions + * 1139 Nunit3 console doesn't show test output continously + * 1225 The --teamcity option should really be an extension + * 1241 Make TestDirectory accessible when TestCaseSource attributes are evaluated + * 1366 Classname for inherited test is not correct + * 1371 Support `dotnet test` in .NET CLI and .NET Core + * 1379 Console returns 0 for invalid fixtures + * 1422 Include TestListWithEmptyLine.tst in ZIP Package + * 1423 SingleThreaded attribute should raise an error if a thread is required + * 1425 Lazy initialization of OutWriter in TestResult is not thread safe + * 1427 Engine extensions load old packages + * 1430 TestObjects are retained for lifetime of test run, causing high memory usage + * 1432 NUnit hangs when reporting to TeamCity + * 1434 TestResult class needs to be thread-safe + * 1435 Parallel queue creation needs to be thread-safe + * 1436 CurrentFramework and Current Platform need to be more thread-safe + * 1439 EqualConstraint does Not use Equals Override on the Expected Object + * 1441 Add Linq for use internally in .NET 2.0 code + * 1446 TestOrderAttributeTests is not public + * 1450 Silverlight detection doesn't work when building on 32-bit OS + * 1457 Set the 2.0 build to ignore missing xml dcoumentation + * 1463 Should TestResult.AssertCount have a public setter? + * 1464 TNode.EscapeInvalidXmlCharacters recreates Regex continually + * 1470 Make EventQueue and associated classes lock-less and thread safe + * 1476 Examine need for "synchronous" events in event queue + * 1481 TestCase with generic return type causes NullReferenceException + * 1483 Remoting exceptions during test execution + * 1484 Comparing Equality using IEquatable Should Use Most Specific Method + * 1493 NUnit 2 test results report ParameterizedMethod but should be ParameterizedTest + * 1507 NullReferenceException when null arguments are used in TestFixtureAttribute + * 1513 Add new teamcity extension to packages + * 1518 NUnit does not send the "testStarted" TeamCity service message when exception was thrown from SetUp/OneTimeSetUp + * 1520 Detect Portable, Silverlight and Compact and give error message + * 1528 Use of Sleep(0) in NUnit + * 1543 Blank name attribute in nunit2-formatted XML result file test-run element + * 1547 Create separate assembly for System.Linq compatibility classes + * 1548 Invalid Exception when engine is in a 32-bit process + * 1549 Changing default behavior for generating test case names + * 1551 Path in default .addins file for ConsoleRunner package may not exist + * 1555 EndsWith calls in Constraint constructor can cause major perf issues + * 1560 Engine writes setting file unnecessarily + * 1573 Move Nunit.Portable.Agent to new Repo + * 1579 NUnit v3 dangerously overrides COMPLUS_Version environment variable + * 1582 Mono 4.4.0 Causes Test Failures + * 1593 Nunit Console Runner 3.2.1 and Mono 4.4 throws RemotingException + * 1597 Move Portable agent to its own repository + * 1605 TeamCity package has no pre-release suffix + * 1607 nunit.nuget.addins discovery pattern is wrong then restored through project.json + * 1617 Load user profile on test runners + +NUnit 3.2.1 - April 19, 2016 + +Framework + + * The output and error files are now thread safe when running tests in parallel + * Added a .NET 3.5 build of the framework preventing conflicts with the compatiblity classes in the 2.0 framework + * Added a SingleThreadedAttribute to be added to a TestFixture to indicate all child tests should run on the same thread + +Engine + + * Unless required, run all tests within a fixture on the same thread + * Added an EventListener extension point + * Reduced memory usage + +Console Runner + + * No longer probes for newer versions of the engine, instead uses the engine that is included with the console + +Issues Resolved + + * 332 Add CF to the Appveyor CI build + * 640 Keep CF Build (and other future builds) in Sync + * 773 Upgrade Travis CI from Legacy Infrastructure + * 1141 Explicit Tests get run when using --where with some filters + * 1161 NUnit3-Console should disallow the combination of --inprocess and --x86, giving an error message + * 1208 Apartment on assembly level broken + * 1231 Build may silently fail some tests + * 1247 Potential memory issue + * 1266 SetCultureAttribute does not work if set on assembly level + * 1302 Create EventListener ExtensionPoint for the Engine + * 1317 Getting CF framework unit tests running on CI build + * 1318 NUnit console runner fails with error code -100 + * 1327 TestCaseSource in NUnit 3 converts an argument declared as String[] to String + * 1329 Unable to build without Compact Framework + * 1333 Single Thread per Worker + * 1338 BUILDING.txt is outdated + * 1349 Collision on System.Func from nunit.framework with System.Core in .Net 3.5 (CS0433) + * 1352 Tests losing data setup on thread + * 1359 Compilation error in NUnitPortableDriverTests.cs + * 1383 Skip Silverlight build if SDK not installed + * 1386 Bug when using Assert.Equals() with types that explicitly implement IEquatable + * 1390 --testlist with file with blank first line causes IndexOutOfRangeException + * 1399 Fixed NullReference issue introduced by the fix for #681 + * 1405 ITestRunner.StopRun throws exception of type 'System.MissingMethodException' + * 1406 TextCapture is not threadsafe but is used to intercept calls that are expected to be threadsafe + * 1410 Make OutFile and ErrFile streamwriters synchronized + * 1413 Switch console to use a local engine + +NUnit 3.2 - March 5, 2016 + +Framework + + * Added an Order attribute that defines the order in which tests are run + * Added Assert.ThrowsAsync for testing if async methods throw an exception + * You can now compare unlike collections using Is.EquivalentTo().Using(...) + * Added the ability to add custom message formatters to MsgUtils + * TestCaseSourceAttribute now optionally takes an array of parameters that can be passed to the source method + * Added Is.Zero and Is.Not.Zero to the fluent syntax as a shorter option for Is.EqualTo(0) and Is.Not.EqualTo(0) + +Engine + + * Engine extensions can be installed via NuGet packages + +Issues Resolved + + * 170 Test Order Attribute + * 300 Create an NUnit Visual Studio Template + * 464 Async delegate assertions + * 532 Batch runner for Silverlight tests + * 533 Separate NUnitLite runner and autorunner + * 681 NUnit agent cannot resolve test dependency assemblies when mixed mode initialization runs in the default AppDomain + * 793 Replace CoreEngine by use of Extensions + * 907 Console report tests are too fragile + * 922 Wrap Console in NUnitLite + * 930 Switch from MSBuild based build system to Cake + * 981 Define NUnit Versioning for post-3.0 Development + * 1004 Poor formatting of results for Assert.AreEqual(DateTimeOffset, DateTimeOffset) + * 1018 ArgumentException when 2.x version of NUnit Framework is in the bin directory + * 1022 Support Comparing Unlike Collections using Is.EquivalentTo().Using(...) + * 1044 Re-order Test Summary Errors/Failures + * 1066 ApartmentAttribute and TestCaseAttribute(s) do not work together + * 1103 Can't use TestCaseData from base class + * 1109 NullReferenceException when using inherited property for ValueSource + * 1113 Console runner and xml output consistency + * 1117 Fix misbehaviour of Throws.Exception with non-void returning functions + * 1120 NUnitProject should parse .nunit project files containing Xml Declarations + * 1121 Usage of field set to null as value source leads to somewhat cryptic error + * 1122 Region may be disposed before test delegate is executed + * 1133 Provide a way to install extensions as nuget packages + * 1136 Don't allow V2 framework to update in V2 driver tests + * 1171 A bug when using Assert.That() with Is.Not.Empty + * 1185 Engine finds .NET 4.0 Client Profile twice + * 1187 ITestAssemblyRunner.StopRun as implemented by NUnitTestAssemblyRunner + * 1195 name attribute in test-suite and test-results element of output xml is different to nunit 2.6.4 using nunit2-format + * 1196 Custom value formatter for v3 via MsgUtils + * 1210 Available runtimes issues + * 1230 Add ability for testcasedatasource to have parameters passed to methods + * 1233 Add TestAssemblyRunner tests to both portable and silverlight builds + * 1234 Have default NUnitLite Runner Program.cs return exit code + * 1236 Make Appveyor NuGet feed more useable + * 1246 Introduce Is.Zero syntax to test for zero + * 1252 Exception thrown when any assembly is not found + * 1261 TypeHelper.GetDisplayName generates the wrong name for generic types with nested classes + * 1278 Fix optional parameters in TestCaseAttribute + * 1282 TestCase using Params Behaves Oddly + * 1283 Engine should expose available frameworks. + * 1286 value of the time attribute in nunit2 outputs depends on the machine culture + * 1297 NUnit.Engine nuget package improvements + * 1301 Assert.AreNotSame evaluates ToString unnecessarily + +NUnit 3.0.1 - December 1, 2015 + +Console Runner + + * The Nunit.Runners NuGet package was updated to become a meta-package that pulls in the NUnit.Console package + * Reinstated the --pause command line option that will display a message box allowing you to attach a debugger if the --debug option does not work + +Issues Resolved + + * 994 Add max number of Agents to the NUnit project file + * 1014 Ensure NUnit API assembly updates with MSI installs + * 1024 Added --pause flag to console runner + * 1030 Update Nunit.Runners package to 3.0 + * 1033 "No arguments were provided" with Theory and Values combination + * 1035 Check null arguments + * 1037 Async tests not working on Windows 10 Universal + * 1041 NUnit2XmlResult Writer is reporting Sucess when test fails + * 1042 NUnit2 reports on 3.0 is different than 2.6.4 + * 1046 FloatingPointNumerics.AreAlmostEqualUlps throws OverflowException + * 1049 Cannot select Generic tests from command line + * 1050 Do not expose System.Runtime.CompilerServices.ExtensionAttribute to public + * 1054 Create nuget feeds for CI builds on Appveyor + * 1055 nunit3 console runner --where option does not return error on invalid selection string + * 1060 Remove "Version 3" from NUnit Nuget Package + * 1061 Nunit30Settings.xml becomes corrupted + * 1062 Console.WriteLine statements in "OneTimeSetUp" and "OneTimeTearDown" annotated methods are not directed to the console when using nunit3-console.exe runner + * 1063 Error in Random Test + +NUnit 3.0.0 Final Release - November 15, 2015 + +Issues Resolved + + * 635 Mono 4.0 Support + +NUnit 3.0.0 Release Candidate 3 - November 13, 2015 + +Engine + + * The engine now only sets the config file for project.nunit to project.config if project.config exists. Otherwise, each assembly uses its own config, provided it is run in a separate AppDomain by itself. + + NOTE: It is not possible for multiple assemblies in the same AppDomain to use different configs. This is not an NUnit limitation, it's just how configs work! + +Issues Resolved + + * 856 Extensions support for third party runners in NUnit 3.0 + * 1003 Delete TeamCityEventHandler as it is not used + * 1015 Specifying .nunit project and --framework on command line causes crash + * 1017 Remove Assert.Multiple from framework + +NUnit 3.0.0 Release Candidate 2 - November 8, 2015 + +Engine + + * The IDriverFactory extensibility interface has been modified. + +Issues Resolved + + * 970 Define PARALLEL in CF build of nunitlite + * 978 It should be possible to determine version of NUnit using nunit console tool + * 983 Inconsistent return codes depending on ProcessModel + * 986 Update docs for parallel execution + * 988 Don't run portable tests from NUnit Console + * 990 V2 driver is passing invalid filter elements to NUnit + * 991 Mono.Options should not be exposed to public directly + * 993 Give error message when a regex filter is used with NUnit V2 + * 997 Add missing XML Documentation + * 1008 NUnitLite namespace not updated in the NuGet Packages + +NUnit 3.0.0 Release Candidate - November 1, 2015 + +Framework + + * The portable build now supports ASP.NET 5 and the new Core CLR. + + NOTE: The `nunit3-console` runner cannot run tests that reference the portable build. + You may run such tests using NUnitLite or a platform-specific runner. + + * `TestCaseAttribute` and `TestCaseData` now allow modifying the test name without replacing it entirely. + * The Silverlight packages are now separate downloads. + +NUnitLite + + * The NUnitLite runner now produces the same output display and XML results as the console runner. + +Engine + + * The format of the XML result file has been finalized and documented. + +Console Runner + + * The console runner program is now called `nunit3-console`. + * Console runner output has been modified so that the summary comes at the end, to reduce the need for scrolling. + +Issues Resolved + + * 59 Length of generated test names should be limited + * 68 Customization of test case name generation + * 404 Split tests between nunitlite.runner and nunit.framework + * 575 Add support for ASP.NET 5 and the new Core CLR + * 783 Package separately for Silverlight + * 833 Intermittent failure of WorkItemQueueTests.StopQueue_WithWorkers + * 859 NUnit-Console output - move Test Run Summary to end + * 867 Remove Warnings from Ignored tests + * 868 Review skipped tests + * 887 Move environment and settings elements to the assembly suite in the result file + * 899 Colors for ColorConsole on grey background are too light + * 904 InternalPreserveStackTrace is not supported on all Portable platforms + * 914 Unclear error message from console runner when assembly has no tests + * 916 Console runner dies when test agent dies + * 918 Console runner --where parameter is case sensitive + * 920 Remove addins\nunit.engine.api.dll from NuGet package + * 929 Rename nunit-console.exe + * 931 Remove beta warnings from NuGet packages + * 936 Explicit skipped tests not displayed + * 939 Installer complains about .NET even if already installed + * 940 Confirm or modify list of packages for release + * 947 Breaking API change in ValueSourceAttribute + * 949 Update copyright in NUnit Console + * 954 NUnitLite XML output is not consistent with the engine's + * 955 NUnitLite does not display the where clause + * 959 Restore filter options for NUnitLite portable build + * 960 Intermittent failure of CategoryFilterTests + * 967 Run Settings Report is not being displayed. + +NUnit 3.0.0 Beta 5 - October 16, 2015 + +Framework + + * Parameterized test cases now support nullable arguments. + * The NUnit framework may now be built for the .NET Core framework. Note that this is only available through building the source code. A binary will be available in the next release. + +Engine + + * The engine now runs multiple test assemblies in parallel by default + * The output XML now includes more information about the test run, including the text of the command used, any engine settings and the filter used to select tests. + * Extensions may now specify data in an identifying attribute, for use by the engine in deciding whether to load that extension. + + +Console Runner + + * The console now displays all settings used by the engine to run tests as well as the filter used to select tests. + * The console runner accepts a new option --maxagents. If multiple assemblies are run in separate processes, this value may be used to limit the number that are executed simultaneously in parallel. + * The console runner no longer accepts the --include and --exclude options. Instead, the new --where option provides a more general way to express which tests will be executed, such as --where "cat==Fast && Priority==High". See the docs for details of the syntax. + * The new --debug option causes NUnit to break in the debugger immediately before tests are run. This simplifies debugging, especially when the test is run in a separate process. + +Issues Resolved + + * 41 Check for zeroes in Assert messages + * 254 Finalize XML format for test results + * 275 NUnitEqualityComparer fails to compare IEquatable where second object is derived from T + * 304 Run test Assemblies in parallel + * 374 New syntax for selecting tests to be run + * 515 OSPlatform.IsMacOSX doesn't work + * 573 nunit-console hangs on Mac OS X after all tests have run + * 669 TeamCity service message should have assembly name as a part of test name. + * 689 The TeamCity service message "testFinished" should have an integer value in the "duration" attribute + * 713 Include command information in XML + * 719 We have no way to configure tests for several assemblies using NUnit project file and the common installation from msi file + * 735 Workers number in xml report file cannot be found + * 784 Build Portable Framework on Linux + * 790 Allow Extensions to provide data through an attribute + * 794 Make it easier to debug tests as well as NUnit itself + * 801 NUnit calls Dispose multiple times + * 814 Support nullable types with TestCase + * 818 Possible error in Merge Pull Request #797 + * 821 Wrapped method results in loss of result information + * 822 Test for Debugger in NUnitTestAssemblyRunner probably should not be in CF build + * 824 Remove unused System.Reflection using statements + * 826 Randomizer uniqueness tests fail randomly! + * 828 Merge pull request #827 (issue 826) + * 830 Add ability to report test results synchronously to test runners + * 837 Enumerators not disposed when comparing IEnumerables + * 840 Add missing copyright notices + * 844 Pull Request #835 (Issue #814) does not build in CF + * 847 Add new --process:inprocess and --inprocess options + * 850 Test runner fails if test name contains invalid xml characters + * 851 'Exclude' console option is not working in NUnit Lite + * 853 Cannot run NUnit Console from another directory + * 860 Use CDATA section for message, stack-trace and output elements of XML + * 863 Eliminate core engine + * 865 Intermittent failures of StopWatchTests + * 869 Tests that use directory separator char to determine platform misreport Linux on MaxOSX + * 870 NUnit Console Runtime Environment misreports on MacOSX + * 874 Add .NET Core Framework + * 878 Cannot exclude MacOSX or XBox platforms when running on CF + * 892 Fixed test runner returning early when executing more than one test run. + * 894 Give nunit.engine and nunit.engine.api assemblies strong names + * 896 NUnit 3.0 console runner not placing test result xml in --work directory + +NUnit 3.0.0 Beta 4 - August 25, 2015 + +Framework + + * A new RetryAttribute allows retrying of failing tests. + * New SupersetConstraint and Is.SupersetOf syntax complement SubsetConstraint. + * Tests skipped due to ExplicitAttribute are now reported as skipped. + +Engine + + * We now use Cecil to examine assemblies prior to loading them. + * Extensions are no longer based on Mono.Addins but use our own extension framework. + +Issues Resolved + + * 125 3rd-party dependencies should be downloaded on demand + * 283 What should we do when a user extension does something bad? + * 585 RetryAttribute + * 642 Restructure MSBuild script + * 649 Change how we zip packages + * 654 ReflectionOnlyLoad and ReflectionOnlyLoadFrom + * 664 Invalid "id" attribute in the report for case "test started" + * 685 In the some cases when tests cannot be started NUnit returns exit code "0" + * 728 Missing Assert.That overload + * 741 Explicit Tests get run when using --exclude + * 746 Framework should send events for all tests + * 747 NUnit should apply attributes even if test is non-runnable + * 749 Review Use of Mono.Addins for Engine Extensibility + * 750 Include Explicit Tests in Test Results + * 753 Feature request: Is.SupersetOf() assertion constraint + * 755 TimeOut attribute doesn't work with TestCaseSource Attribute + * 757 Implement some way to wait for execution to complete in ITestEngineRunner + * 760 Packaging targets do not run on Linux + * 766 Added overloads for True()/False() accepting booleans + * 778 Build and build.cmd scripts invoke nuget.exe improperly + * 780 Teamcity fix + * 782 No sources for 2.6.4 + +NUnit 3.0.0 Beta 3 - July 15, 2015 + +Framework + + * The RangeAttribute has been extended to support more data types including + uint, long and ulong + * Added platform support for Windows 10 and fixed issues with Windows 8 and + 8.1 support + * Added async support to the portable version of NUnit Framework + * The named members of the TestCaseSource and ValueSource attributes must now be + static. + * RandomAttribute has been extended to add support for new data types including + uint, long, ulong, short, ushort, float, byte and sbyte + * TestContext.Random has also been extended to add support for new data types including + uint, long, ulong, short, ushort, float, byte, sbyte and decimal + * Removed the dependency on Microsoft.Bcl.Async from the NUnit Framework assembly + targeting .NET 4.0. If you want to write async tests in .NET 4.0, you will need + to reference the NuGet package yourself. + * Added a new TestFixtureSource attribute which is the equivalent to TestCaseSource + but provides for instantiation of fixtures. + * Significant improvements have been made in how NUnit deduces the type arguments of + generic methods based on the arguments provided. + +Engine + + * If the target framework is not specified, test assemblies that are compiled + to target .NET 4.5 will no longer run in .NET 4.0 compatibility mode + + Console + + * If the console is run without arguments, it will now display help + +Issues Resolved + + * 47 Extensions to RangeAttribute + * 237 System.Uri .ctor works not properly under Nunit + * 244 NUnit should properly distinguish between .NET 4.0 and 4.5 + * 310 Target framework not specified on the AppDomain when running against .Net 4.5 + * 321 Rationalize how we count tests + * 472 Overflow exception and DivideByZero exception from the RangeAttribute + * 524 int and char do not compare correctly? + * 539 Truncation of string arguments + * 544 AsyncTestMethodTests for 4.5 Framework fails frequently on Travis CI + * 656 Unused parameter in Console.WriteLine found + * 670 Failing Tests in TeamCity Build + * 673 Ensure proper disposal of engine objects + * 674 Engine does not release test assemblies + * 679 Windows 10 Support + * 682 Add Async Support to Portable Framework + * 683 Make FrameworkController available in portable build + * 687 TestAgency does not launch agent process correctly if runtime type is not specified (i.e. v4.0) + * 692 PlatformAttribute_OperatingSystemBitNess fails when running in 32-bit process + * 693 Generic Test Method cannot determine type arguments for fixture when passed as IEnumerable + * 698 Require TestCaseSource and ValueSource named members to be static + * 703 TeamCity non-equal flowid for 'testStarted' and 'testFinished' messages + * 712 Extensions to RandomAttribute + * 715 Provide a data source attribute at TestFixture Level + * 718 RangeConstraint gives error with from and two args of differing types + * 723 Does nunit.nuspec require dependency on Microsoft.Bcl.Async? + * 724 Adds support for Nullable to Assert.IsTrue and Assert.IsFalse + * 734 Console without parameters doesn't show help + +NUnit 3.0.0 Beta 2 - May 12, 2015 + +Framework + + * The Compact Framework version of the framework is now packaged separately + and will be distributed as a ZIP file and as a NuGet package. + * The NUnit 2.x RepeatAttribute was added back into the framework. + * Added Throws.ArgumentNullException + * Added GetString methods to NUnit.Framework.Internal.RandomGenerator to + create repeatable random strings for testing + * When checking the equality of DateTimeOffset, you can now use the + WithSameOffset modifier + * Some classes intended for internal usage that were public for testing + have now been made internal. Additional classes will be made internal + for the final 3.0 release. + +Engine + + * Added a core engine which is a non-extensible, minimal engine for use by + devices and similar situations where reduced functionality is compensated + for by reduced size and simplicity of usage. See + https://github.com/nunit/dev/wiki/Core-Engine for more information. + +Issues Resolved + + * 22 Add OSArchitecture Attribute to Environment node in result xml + * 24 Assert on Dictionary Content + * 48 Explicit seems to conflict with Ignore + * 168 Create NUnit 3.0 documentation + * 196 Compare DateTimeOffsets including the offset in the comparison + * 217 New icon for the 3.0 release + * 316 NUnitLite TextUI Runner + * 320 No Tests found: Using parametrized Fixture and TestCaseSource + * 360 Better exception message when using non-BCL class in property + * 454 Rare registry configurations may cause NUnit to fail + * 478 RepeatAttribute + * 481 Testing multiple assemblies in nunitlite + * 538 Potential bug using TestContext in constructors + * 546 Enable Parallel in NUnitLite/CF (or more) builds + * 551 TextRunner not passing the NumWorkers option to the ITestAssemblyRunner + * 556 Executed tests should always return a non-zero duration + * 559 Fix text of NuGet packages + * 560 Fix PackageVersion property on wix install projects + * 562 Program.cs in NUnitLite NuGet package is incorrect + * 564 NUnitLite Nuget package is Beta 1a, Framework is Beta 1 + * 565 NUnitLite Nuget package adds Program.cs to a VB Project + * 568 Isolate packaging from building + * 570 ThrowsConstraint failure message should include stack trace of actual exception + * 576 Throws.ArgumentNullException would be nice + * 577 Documentation on some members of Throws falsely claims that they return `TargetInvocationException` constraints + * 579 No documentation for recommended usage of TestCaseSourceAttribute + * 580 TeamCity Service Message Uses Incorrect Test Name with NUnit2Driver + * 582 Test Ids Are Not Unique + * 583 TeamCity service messages to support parallel test execution + * 584 Non-runnable assembly has incorrect ResultState + * 609 Add support for integration with TeamCity + * 611 Remove unused --teamcity option from CF build of NUnitLite + * 612 MaxTime doesn't work when used for TestCase + * 621 Core Engine + * 622 nunit-console fails when use --output + * 628 Modify IService interface and simplify ServiceContext + * 631 Separate packaging for the compact framework + * 646 ConfigurationManager.AppSettings Params Return Null under Beta 1 + * 648 Passing 2 or more test assemblies targeting > .NET 2.0 to nunit-console fails + +NUnit 3.0.0 Beta 1 - March 25, 2015 + +General + + * There is now a master windows installer for the framework, engine and console runner. + +Framework + + * We no longer create a separate framework build for .NET 3.5. The 2.0 and + 3.5 builds were essentially the same, so the former should now be used + under both runtimes. + * A new Constraint, DictionaryContainsKeyConstraint, may be used to test + that a specified key is present in a dictionary. + * LevelOfParallelizationAttribute has been renamed to LevelOfParallelismAttribute. + * The Silverlight runner now displays output in color and includes any + text output created by the tests. + * The class and method names of each test are included in the output xml + where applicable. + * String arguments used in test case names are now truncated to 40 rather + than 20 characters. + +Engine + + * The engine API has now been finalized. It permits specifying a minimum + version of the engine that a runner is able to use. The best installed + version of the engine will be loaded. Third-party runners may override + the selection process by including a copy of the engine in their + installation directory and specifying that it must be used. + * The V2 framework driver now uses the event listener and test listener + passed to it by the runner. This corrects several outstanding issues + caused by events not being received and allows selecting V2 tests to + be run from the command-line, in the same way that V3 tests are selected. + +Console + + * The console now defaults to not using shadowcopy. There is a new option + --shadowcopy to turn it on if needed. + +Issues Resolved + + * 224 Silverlight Support + * 318 TestActionAttribute: Retrieving the TestFixture + * 428 Add ExpectedExceptionAttribute to C# samples + * 440 Automatic selection of Test Engine to use + * 450 Create master install that includes the framework, engine and console installs + * 477 Assert does not work with ArraySegment + * 482 nunit-console has multiple errors related to -framework option + * 483 Adds constraint for asserting that a dictionary contains a particular key + * 484 Missing file in NUnit.Console nuget package + * 485 Can't run v2 tests with nunit-console 3.0 + * 487 NUnitLite can't load assemblies by their file name + * 488 Async setup and teardown still don't work + * 497 Framework installer shold register the portable framework + * 504 Option --workers:0 is ignored + * 508 Travis builds with failure in engine tests show as successful + * 509 Under linux, not all mono profiles are listed as available + * 512 Drop the .NET 3.5 build + * 517 V2 FrameworkDriver does not make use of passed in TestEventListener + * 523 Provide an option to disable shadowcopy in NUnit v3 + * 528 V2 FrameworkDriver does not make use of passed in TestFilter + * 530 Color display for Silverlight runner + * 531 Display text output from tests in Silverlight runner + * 534 Add classname and methodname to test result xml + * 541 Console help doesn't indicate defaults + +NUnit 3.0.0 Alpha 5 - January 30, 2015 + +General + + * A Windows installer is now included in the release packages. + +Framework + + * TestCaseAttribute now allows arguments with default values to be omitted. Additionaly, it accepts a Platform property to specify the platforms on which the test case should be run. + * TestFixture and TestCase attributes now enforce the requirement that a reason needs to be provided when ignoring a test. + * SetUp, TearDown, OneTimeSetUp and OneTimeTearDown methods may now be async. + * String arguments over 20 characters in length are truncated when used as part of a test name. + +Engine + + * The engine is now extensible using Mono.Addins. In this release, extension points are provided for FrameworkDrivers, ProjectLoaders and OutputWriters. The following addins are bundled as a part of NUnit: + * A FrameworkDriver that allows running NUnit V2 tests under NUnit 3.0. + * ProjectLoaders for NUnit and Visual Studio projects. + * An OutputWriter that creates XML output in NUnit V2 format. + * DomainUsage now defaults to Multiple if not specified by the runner + +Console + + * New options supported: + * --testlist provides a list of tests to run in a file + * --stoponerror indicates that the run should terminate when any test fails. + +Issues Resolved + + * 20 TestCaseAttribute needs Platform property. + * 60 NUnit should support async setup, teardown, fixture setup and fixture teardown. + * 257 TestCaseAttribute should not require parameters with default values to be specified. + * 266 Pluggable framework drivers. + * 368 Create addin model. + * 369 Project loader addins + * 370 OutputWriter addins + * 403 Move ConsoleOptions.cs and Options.cs to Common and share... + * 419 Create Windows Installer for NUnit. + * 427 [TestFixture(Ignore=true)] should not be allowed. + * 437 Errors in tests under Linux due to hard-coded paths. + * 441 NUnit-Console should support --testlist option + * 442 Add --stoponerror option back to nunit-console. + * 456 Fix memory leak in RuntimeFramework. + * 459 Remove the Mixed Platforms build configuration. + * 468 Change default domain usage to multiple. + * 469 Truncate string arguments in test names in order to limit the length. + +NUnit 3.0.0 Alpha 4 - December 30, 2014 + +Framework + + * ApartmentAttribute has been added, replacing STAAttribute and MTAAttribute. + * Unnecessary overloads of Assert.That and Assume.That have been removed. + * Multiple SetUpFixtures may be specified in a single namespace. + * Improvements to the Pairwise strategy test case generation algorithm. + * The new NUnitLite runner --testlist option, allows a list of tests to be kept in a file. + +Engine + + * A driver is now included, which allows running NUnit 2.x tests under NUnit 3.0. + * The engine can now load and run tests specified in a number of project formats: + * NUnit (.nunit) + * Visual Studio C# projects (.csproj) + * Visual Studio F# projects (.vjsproj) + * Visual Studio Visual Basic projects (.vbproj) + * Visual Studio solutions (.sln) + * Legacy C++ and Visual JScript projects (.csproj and .vjsproj) are also supported + * Support for the current C++ format (.csxproj) is not yet available + * Creation of output files like TestResult.xml in various formats is now a + service of the engine, available to any runner. + +Console + + * The command-line may now include any number of assemblies and/or supported projects. + +Issues Resolved + + * 37 Multiple SetUpFixtures should be permitted on same namespace + * 210 TestContext.WriteLine in an AppDomain causes an error + * 227 Add support for VS projects and solutions + * 231 Update C# samples to use NUnit 3.0 + * 233 Update F# samples to use NUnit 3.0 + * 234 Update C++ samples to use NUnit 3.0 + * 265 Reorganize console reports for nunit-console and nunitlite + * 299 No full path to assembly in XML file under Compact Framework + * 301 Command-line length + * 363 Make Xml result output an engine service + * 377 CombiningStrategyAttributes don't work correctly on generic methods + * 388 Improvements to NUnitLite runner output + * 390 Specify exactly what happens when a test times out + * 396 ApartmentAttribute + * 397 CF nunitlite runner assembly has the wrong name + * 407 Assert.Pass() with ]]> in message crashes console runner + * 414 Simplify Assert overloads + * 416 NUnit 2.x Framework Driver + * 417 Complete work on NUnit projects + * 420 Create Settings file in proper location + +NUnit 3.0.0 Alpha 3 - November 29, 2014 + +Breaking Changes + + * NUnitLite tests must reference both the nunit.framework and nunitlite assemblies. + +Framework + + * The NUnit and NUnitLite frameworks have now been merged. There is no longer any distinction + between them in terms of features, although some features are not available on all platforms. + * The release includes two new framework builds: compact framework 3.5 and portable. The portable + library is compatible with .NET 4.5, Silverlight 5.0, Windows 8, Windows Phone 8.1, + Windows Phone Silverlight 8, Mono for Android and MonoTouch. + * A number of previously unsupported features are available for the Compact Framework: + - Generic methods as tests + - RegexConstraint + - TimeoutAttribute + - FileAssert, DirectoryAssert and file-related constraints + +Engine + + * The logic of runtime selection has now changed so that each assembly runs by default + in a separate process using the runtime for which it was built. + * On 64-bit systems, each test process is automatically created as 32-bit or 64-bit, + depending on the platform specified for the test assembly. + +Console + + * The console runner now runs tests in a separate process per assembly by default. They may + still be run in process or in a single separate process by use of command-line options. + * The console runner now starts in the highest version of the .NET runtime available, making + it simpler to debug tests by specifying that they should run in-process on the command-line. + * The -x86 command-line option is provided to force execution in a 32-bit process on a 64-bit system. + * A writeability check is performed for each output result file before trying to run the tests. + * The -teamcity option is now supported. + +Issues Resolved + + * 12 Compact framework should support generic methods + * 145 NUnit-console fails if test result message contains invalid xml characters + * 155 Create utility classes for platform-specific code + * 223 Common code for NUnitLite console runner and NUnit-Console + * 225 Compact Framework Support + * 238 Improvements to running 32 bit tests on a 64 bit system + * 261 Add portable nunitlite build + * 284 NUnitLite Unification + * 293 CF does not have a CurrentDirectory + * 306 Assure NUnit can write resultfile + * 308 Early disposal of runners + * 309 NUnit-Console should support incremental output under TeamCity + * 325 Add RegexConstraint to compact framework build + * 326 Add TimeoutAttribute to compact framework build + * 327 Allow generic test methods in the compact framework + * 328 Use .NET Stopwatch class for compact framework builds + * 331 Alpha 2 CF does not build + * 333 Add parallel execution to desktop builds of NUnitLite + * 334 Include File-related constraints and syntax in NUnitLite builds + * 335 Re-introduce 'Classic' NUnit syntax in NUnitLite + * 336 Document use of separate obj directories per build in our projects + * 337 Update Standard Defines page for .NET 3.0 + * 341 Move the NUnitLite runners to separate assemblies + * 367 Refactor XML Escaping Tests + * 372 CF Build TestAssemblyRunnerTests + * 373 Minor CF Test Fixes + * 378 Correct documentation for PairwiseAttribute + * 386 Console Output Improvements + +NUnit 3.0.0 Alpha 2 - November 2, 2014 + +Breaking Changes + + * The console runner no longer displays test results in the debugger. + * The NUnitLite compact framework 2.0 build has been removed. + * All addin support has been removed from the framework. Documentation of NUnit 3.0 extensibility features will be published in time for the beta release. In the interim, please ask for support on the nunit-discuss list. + +General + + * A separate solution has been created for Linux + * We now have continuous integration builds under both Travis and Appveyor + * The compact framework 3.5 build is now working and will be supported in future releases. + +New Features + + * The console runner now automatically detects 32- versus 64-bit test assemblies. + * The NUnitLite report output has been standardized to match that of nunit-console. + * The NUnitLite command-line has been standardized to match that of nunit-console where they share the same options. + * Both nunit-console and NUnitLite now display output in color. + * ActionAttributes now allow specification of multiple targets on the attribute as designed. This didn't work in the first alpha. + * OneTimeSetUp and OneTimeTearDown failures are now shown on the test report. Individual test failures after OneTimeSetUp failure are no longer shown. + * The console runner refuses to run tests build with older versions of NUnit. A plugin will be available to run older tests in the future. + +Issues Resolved + + * 222 Color console for NUnitLite + * 229 Timing failures in tests + * 241 Remove reference to Microslft BCL packages + * 243 Create solution for Linux + * 245 Multiple targets on action attributes not implemented + * 246 C++ tests do not compile in VS2013 + * 247 Eliminate trace display when running tests in debug + * 255 Add new result states for more precision in where failures occur + * 256 ContainsConstraint break when used with AndConstraint + * 264 Stacktrace displays too many entries + * 269 Add manifest to nunit-console and nunit-agent + * 270 OneTimeSetUp failure results in too much output + * 271 Invalid tests should be treated as errors + * 274 Command line options should be case insensitive + * 276 NUnit-console should not reference nunit.framework + * 278 New result states (ChildFailure and SetupFailure) break NUnit2XmlOutputWriter + * 282 Get tests for NUnit2XmlOutputWriter working + * 288 Set up Appveyor CI build + * 290 Stack trace still displays too many items + * 315 NUnit 3.0 alpha: Cannot run in console on my assembly + * 319 CI builds are not treating test failures as failures of the build + * 322 Remove Stopwatch tests where they test the real .NET Stopwatch + +NUnit 3.0.0 Alpha 1 - September 22, 2014 + +Breaking Changes + + * Legacy suites are no longer supported + * Assert.NullOrEmpty is no longer supported (Use Is.Null.Or.Empty) + +General + + * MsBuild is now used for the build rather than NAnt + * The framework test harness has been removed now that nunit-console is at a point where it can run the tests. + +New Features + + * Action Attributes have been added with the same features as in NUnit 2.6.3. + * TestContext now has a method that allows writing to the XML output. + * TestContext.CurrentContext.Result now provides the error message and stack trace during teardown. + * Does prefix operator supplies several added constraints. + +Issues Resolved + + * 6 Log4net not working with NUnit + * 13 Standardize commandline options for nunitlite runner + * 17 No allowance is currently made for nullable arguents in TestCase parameter conversions + * 33 TestCaseSource cannot refer to a parameterized test fixture + * 54 Store message and stack trace in TestContext for use in TearDown + * 111 Implement Changes to File, Directory and Path Assertions + * 112 Implement Action Attributes + * 156 Accessing multiple AppDomains within unit tests result in SerializationException + * 163 Add --trace option to NUnitLite + * 167 Create interim documentation for the alpha release + * 169 Design and implement distribution of NUnit packages + * 171 Assert.That should work with any lambda returning bool + * 175 Test Harness should return an error if any tests fail + * 180 Errors in Linux CI build + * 181 Replace NAnt with MsBuild / XBuild + * 183 Standardize commandline options for test harness + * 188 No output from NUnitLite when selected test is not found + * 189 Add string operators to Does prefix + * 193 TestWorkerTests.BusyExecutedIdleEventsCalledInSequence fails occasionally + * 197 Deprecate or remove Assert.NullOrEmpty + * 202 Eliminate legacy suites + * 203 Combine framework, engine and console runner in a single solution and repository + * 209 Make Ignore attribute's reason mandatory + * 215 Running 32-bit tests on a 64-bit OS + * 219 Teardown failures are not reported + +Console Issues Resolved (Old nunit-console project, now combined with nunit) + + * 2 Failure in TestFixtureSetUp is not reported correctly + * 5 CI Server for nunit-console + * 6 System.NullReferenceException on start nunit-console-x86 + * 21 NUnitFrameworkDriverTests fail if not run from same directory + * 24 'Debug' value for /trace option is deprecated in 2.6.3 + * 38 Confusing Excluded categories output + +NUnit 2.9.7 - August 8, 2014 + +Breaking Changes + + * NUnit no longer supports void async test methods. You should use a Task return Type instead. + * The ExpectedExceptionAttribute is no longer supported. Use Assert.Throws() or Assert.That(..., Throws) instead for a more precise specification of where the exception is expected to be thrown. + +New Features + + * Parallel test execution is supported down to the Fixture level. Use ParallelizableAttribute to indicate types that may be run in parallel. + * Async tests are supported for .NET 4.0 if the user has installed support for them. + * A new FileExistsConstraint has been added along with FileAssert.Exists and FileAssert.DoesNotExist + * ExpectedResult is now supported on simple (non-TestCase) tests. + * The Ignore attribute now takes a named parameter Until, which allows specifying a date after which the test is no longer ignored. + * The following new values are now recognized by PlatformAttribute: Win7, Win8, Win8.1, Win2012Server, Win2012ServerR2, NT6.1, NT6.2, 32-bit, 64-bit + * TimeoutAttribute is now supported under Silverlight + * ValuesAttribute may be used without any values on an enum or boolean argument. All possible values are used. + * You may now specify a tolerance using Within when testing equality of DateTimeOffset values. + * The XML output now includes a start and end time for each test. + +Issues Resolved + + * 8 [SetUpFixture] is not working as expected + * 14 CI Server for NUnit Framework + * 21 Is.InRange Constraint Ambiguity + * 27 Values attribute support for enum types + * 29 Specifying a tolerance with "Within" doesn't work for DateTimeOffset data types + * 31 Report start and end time of test execution + * 36 Make RequiresThread, RequiresSTA, RequiresMTA inheritable + * 45 Need of Enddate together with Ignore + * 55 Incorrect XML comments for CollectionAssert.IsSubsetOf + * 62 Matches(Constraint) does not work as expected + * 63 Async support should handle Task return type without state machine + * 64 AsyncStateMachineAttribute should only be checked by name + * 65 Update NUnit Wiki to show the new location of samples + * 66 Parallel Test Execution within test assemblies + * 67 Allow Expected Result on simple tests + * 70 EquivalentTo isn't compatible with IgnoreCase for dictioneries + * 75 Async tests should be supported for projects that target .NET 4.0 + * 82 nunit-framework tests are timing out on Linux + * 83 Path-related tests fail on Linux + * 85 Culture-dependent NUnit tests fail on non-English machine + * 88 TestCaseSourceAttribute documentation + * 90 EquivalentTo isn't compatible with IgnoreCase for char + * 100 Changes to Tolerance definitions + * 110 Add new platforms to PlatformAttribute + * 113 Remove ExpectedException + * 118 Workarounds for missing InternalPreserveStackTrace in mono + * 121 Test harness does not honor the --worker option when set to zero + * 129 Standardize Timeout in the Silverlight build + * 130 Add FileAssert.Exists and FileAssert.DoesNotExist + * 132 Drop support for void async methods + * 153 Surprising behavior of DelayedConstraint pollingInterval + * 161 Update API to support stopping an ongoing test run + +NOTE: Bug Fixes below this point refer to the number of the bug in Launchpad. + +NUnit 2.9.6 - October 4, 2013 + +Main Features + + * Separate projects for nunit-console and nunit.engine + * New builds for .NET 4.5 and Silverlight + * TestContext is now supported + * External API is now stable; internal interfaces are separate from API + * Tests may be run in parallel on separate threads + * Solutions and projects now use VS2012 (except for Compact framework) + +Bug Fixes + + * 463470 We should encapsulate references to pre-2.0 collections + * 498690 Assert.That() doesn't like properties with scoped setters + * 501784 Theory tests do not work correctly when using null parameters + * 531873 Feature: Extraction of unit tests from NUnit test assembly and calling appropriate one + * 611325 Allow Teardown to detect if last test failed + * 611938 Generic Test Instances disappear + * 655882 Make CategoryAttribute inherited + * 664081 Add Server2008 R2 and Windows 7 to PlatformAttribute + * 671432 Upgrade NAnt to Latest Release + * 676560 Assert.AreEqual does not support IEquatable + * 691129 Add Category parameter to TestFixture + * 697069 Feature request: dynamic location for TestResult.xml + * 708173 NUnit's logic for comparing arrays - use Comparer if it is provided + * 709062 "System.ArgumentException : Cannot compare" when the element is a list + * 712156 Tests cannot use AppDomain.SetPrincipalPolicy + * 719184 Platformdependency in src/ClientUtilities/util/Services/DomainManager.cs:40 + * 719187 Using Path.GetTempPath() causes conflicts in shared temporary folders + * 735851 Add detection of 3.0, 3.5 and 4.0 frameworks to PlatformAttribute + * 736062 Deadlock when EventListener performs a Trace call + EventPump synchronisation + * 756843 Failing assertion does not show non-linear tolerance mode + * 766749 net-2.0\nunit-console-x86.exe.config should have a element and also enable loadFromRemoteSources + * 770471 Assert.IsEmpty does not support IEnumerable + * 785460 Add Category parameter to TestCaseSourceAttribute + * 787106 EqualConstraint provides inadequate failure information for IEnumerables + * 792466 TestContext MethodName + * 794115 HashSet incorrectly reported + * 800089 Assert.Throws() hides details of inner AssertionException + * 848713 Feature request: Add switch for console to break on any test case error + * 878376 Add 'Exactly(n)' to the NUnit constraint syntax + * 882137 When no tests are run, higher level suites display as Inconclusive + * 882517 NUnit 2.5.10 doesn't recognize TestFixture if there are only TestCaseSource inside + * 885173 Tests are still executed after cancellation by user + * 885277 Exception when project calls for a runtime using only 2 digits + * 885604 Feature request: Explicit named parameter to TestCaseAttribute + * 890129 DelayedConstraint doesn't appear to poll properties of objects + * 892844 Not using Mono 4.0 profile under Windows + * 893919 DelayedConstraint fails polling properties on references which are initially null + * 896973 Console output lines are run together under Linux + * 897289 Is.Empty constraint has unclear failure message + * 898192 Feature Request: Is.Negative, Is.Positive + * 898256 IEnumerable for Datapoints doesn't work + * 899178 Wrong failure message for parameterized tests that expect exceptions + * 904841 After exiting for timeout the teardown method is not executed + * 908829 TestCase attribute does not play well with variadic test functions + * 910218 NUnit should add a trailing separator to the ApplicationBase + * 920472 CollectionAssert.IsNotEmpty must dispose Enumerator + * 922455 Add Support for Windows 8 and Windows 2012 Server to PlatformAttribute + * 928246 Use assembly.Location instead of assembly.CodeBase + * 958766 For development work under TeamCity, we need to support nunit2 formatted output under direct-runner + * 1000181 Parameterized TestFixture with System.Type as constructor arguments fails + * 1000213 Inconclusive message Not in report output + * 1023084 Add Enum support to RandomAttribute + * 1028188 Add Support for Silverlight + * 1029785 Test loaded from remote folder failed to run with exception System.IODirectory + * 1037144 Add MonoTouch support to PlatformAttribute + * 1041365 Add MaxOsX and Xbox support to platform attribute + * 1057981 C#5 async tests are not supported + * 1060631 Add .NET 4.5 build + * 1064014 Simple async tests should not return Task + * 1071164 Support async methods in usage scenarios of Throws constraints + * 1071343 Runner.Load fails on CF if the test assembly contains a generic method + * 1071861 Error in Path Constraints + * 1072379 Report test execution time at a higher resolution + * 1074568 Assert/Assume should support an async method for the ActualValueDelegate + * 1082330 Better Exception if SetCulture attribute is applied multiple times + * 1111834 Expose Random Object as part of the test context + * 1111838 Include Random Seed in Test Report + * 1172979 Add Category Support to nunitlite Runner + * 1203361 Randomizer uniqueness tests sometimes fail + * 1221712 When non-existing test method is specified in -test, result is still "Tests run: 1, Passed: 1" + * 1223294 System.NullReferenceException thrown when ExpectedExceptionAttribute is used in a static class + * 1225542 Standardize commandline options for test harness + +Bug Fixes in 2.9.6 But Not Listed Here in the Release + + * 541699 Silverlight Support + * 1222148 /framework switch does not recognize net-4.5 + * 1228979 Theories with all test cases inconclusive are not reported as failures + + +NUnit 2.9.5 - July 30, 2010 + +Bug Fixes + + * 483836 Allow non-public test fixtures consistently + * 487878 Tests in generic class without proper TestFixture attribute should be invalid + * 498656 TestCase should show array values in GUI + * 513989 Is.Empty should work for directories + * 519912 Thread.CurrentPrincipal Set In TestFixtureSetUp Not Maintained Between Tests + * 532488 constraints from ConstraintExpression/ConstraintBuilder are not reusable + * 590717 categorie contains dash or trail spaces is not selectable + * 590970 static TestFixtureSetUp/TestFixtureTearDown methods in base classes are not run + * 595683 NUnit console runner fails to load assemblies + * 600627 Assertion message formatted poorly by PropertyConstraint + * 601108 Duplicate test using abstract test fixtures + * 601645 Parametered test should try to convert data type from source to parameter + * 605432 ToString not working properly for some properties + * 606548 Deprecate Directory Assert in 2.5 and remove it in 3.0 + * 608875 NUnit Equality Comparer incorrectly defines equality for Dictionary objects + +NUnit 2.9.4 - May 4, 2010 + +Bug Fixes + + * 419411 Fixture With No Tests Shows as Non-Runnable + * 459219 Changes to thread princpal cause failures under .NET 4.0 + * 459224 Culture test failure under .NET 4.0 + * 462019 Line endings needs to be better controlled in source + * 462418 Assume.That() fails if I specify a message + * 483845 TestCase expected return value cannot be null + * 488002 Should not report tests in abstract class as invalid + * 490679 Category in TestCaseData clashes with Category on ParameterizedMethodSuite + * 501352 VS2010 projects have not been updated for new directory structure + * 504018 Automatic Values For Theory Test Parameters Not Provided For bool And enum + * 505899 'Description' parameter in both TestAttribute and TestCaseAttribute is not allowed + * 523335 TestFixtureTearDown in static class not executed + * 556971 Datapoint(s)Attribute should work on IEnumerable as well as on Arrays + * 561436 SetCulture broken with 2.5.4 + * 563532 DatapointsAttribute should be allowed on properties and methods + +NUnit 2.9.3 - October 26, 2009 + +Main Features + + * Created new API for controlling framework + * New builds for .Net 3.5 and 4.0, compact framework 3.5 + * Support for old style tests has been removed + * New adhoc runner for testing the framework + +Bug Fixes + + * 432805 Some Framework Tests don't run on Linux + * 440109 Full Framework does not support "Contains" + +NUnit 2.9.2 - September 19, 2009 + +Main Features + + * NUnitLite code is now merged with NUnit + * Added NUnitLite runner to the framework code + * Added Compact framework builds + +Bug Fixes + + * 430100 Assert.Catch should return T + * 432566 NUnitLite shows empty string as argument + * 432573 Mono test should be at runtime + +NUnit 2.9.1 - August 27, 2009 + +General + + * Created a separate project for the framework and framework tests + * Changed license to MIT / X11 + * Created Windows installer for the framework + +Bug Fixes + + * 400502 NUnitEqualityComparer.StreamsE­qual fails for same stream + * 400508 TestCaseSource attirbute is not working when Type is given + * 400510 TestCaseData variable length ctor drops values + * 417557 Add SetUICultureAttribute from NUnit 2.5.2 + * 417559 Add Ignore to TestFixture, TestCase and TestCaseData + * 417560 Merge Assert.Throws and Assert.Catch changes from NUnit 2.5.2 + * 417564 TimeoutAttribute on Assembly diff --git a/packages/NUnit/LICENSE.txt b/packages/NUnit/LICENSE.txt new file mode 100755 index 0000000..1a8c7b8 --- /dev/null +++ b/packages/NUnit/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2016 Charlie Poole + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/packages/NUnit/NOTICES.txt b/packages/NUnit/NOTICES.txt new file mode 100755 index 0000000..02f3f84 --- /dev/null +++ b/packages/NUnit/NOTICES.txt @@ -0,0 +1,5 @@ +NUnit 3.0 is based on earlier versions of NUnit, with Portions + +Copyright (c) 2002-2014 Charlie Poole or +Copyright (c) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or +Copyright (c) 2000-2002 Philip A. Craig diff --git a/packages/NUnit/lib/dotnet/nunit.framework.dll b/packages/NUnit/lib/dotnet/nunit.framework.dll new file mode 100755 index 0000000000000000000000000000000000000000..97f9b8ae1d07860b33a5bc0acb58df7a3e06ecf3 GIT binary patch literal 264704 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

G7aYRi)}U2yrsX7PxhmrmM8@H?pI&8) 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 V2km)34maFiqptm?D|a7({{ysm2yg%Z literal 0 HcmV?d00001 diff --git a/packages/NUnit/lib/dotnet/nunit.framework.xml b/packages/NUnit/lib/dotnet/nunit.framework.xml new file mode 100755 index 0000000..d12fbe6 --- /dev/null +++ b/packages/NUnit/lib/dotnet/nunit.framework.xml @@ -0,0 +1,16348 @@ + + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly syncronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asyncronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name of the assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the the Completed event for the top level work item + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that an async delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate does not throw an exception. + + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + + This method is provided for use by VB developers needing to test + the value of properties with private setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + Delegate used by tests that execute async code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter ids for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Provides the Author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument + data provided. Since this is the default, the attribute is + optional. + + + + + Default constructor + + + + + Marks a test to use a particular CombiningStrategy to join + any parameter data provided. Since this is the default, the + attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParamterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + The abstract base class for all data-providing attributes + defined by NUnit. Used to select all data sources for a + method, class or parameter. + + + + + Default constructor + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointSourceAttribute. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointsAttribute. + + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct a description Attribute + + The text of the description + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + TestAssemblyDirectoryResolveAttribute is used to mark a test assembly as needing a + special assembly resolution hook that will explicitly search the test assembly's + directory for dependent assemblies. This works around a conflict between mixed-mode + assembly initialization and tests running in their own AppDomain in some cases. + + + + + LevelOfParallelismAttribute is used to set the number of worker threads + that may be allocated by the framework for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Attribute used to identify a method that is called once + to perform setup before any child tests are run. + + + + + Attribute used to identify a method that is called once + after all the child tests have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + Marks a test to use a pairwise join of any argument + data provided. Arguments will be combined in such a + way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + ParallelizableAttribute is used to mark tests that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No Parallelism is permitted + + + + + The test itself may be run in parallel with others at the same level + + + + + Descendants of the test may be run in parallel with one another + + + + + Descendants of the test down to the level of TestFixtures may be run in parallel + + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + RandomAttribute is used to supply a set of random _values + to a single parameter of a parameterized test. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Construct a set of ints within a specified range + + + + + Construct a set of unsigned ints within a specified range + + + + + Construct a set of longs within a specified range + + + + + Construct a set of unsigned longs within a specified range + + + + + Construct a set of shorts within a specified range + + + + + Construct a set of unsigned shorts within a specified range + + + + + Construct a set of doubles within a specified range + + + + + Construct a set of floats within a specified range + + + + + Construct a set of bytes within a specified range + + + + + Construct a set of sbytes within a specified range + + + + + Get the collection of _values to be used as arguments. + + + + + RangeAttribute is used to supply a range of _values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of unsigned ints using default step of 1 + + + + + + + Construct a range of unsigned ints specifying the step size + + + + + + + + Construct a range of longs using a default step of 1 + + + + + + + Construct a range of longs + + + + + + + + Construct a range of unsigned longs using default step of 1 + + + + + + + Construct a range of unsigned longs specifying the step size + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RetryAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Build a SetUpFixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A SetUpFixture object as a TestSuite. + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Gets or sets the expected result. + + The result. + + + + Returns true if an expected result has been set + + + + + Construct a TestMethod from a given method. + + The method for which a test is to be constructed. + The suite to which the test will be added. + A TestMethod + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + TestCaseSourceAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Returns a set of ITestCaseDataItems for use as arguments + to a parameterized test method. + + The method for which data is needed. + + + + + TestFixtureAttribute is used to mark a class that represents a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Build a fixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A an IEnumerable holding one TestFixture object. + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + TestCaseSourceAttribute indicates the source to be used to + provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestFixtures from a given Type, + using available parameter data. + + The TypeInfo for which fixures are to be constructed. + One or more TestFixtures as TestSuite + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Indicates which class the test or test fixture is testing + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of _values to be used as arguments + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + + An enumeration containing individual data items + + + + + A set of Assert methods operating on one or more collections + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionTally counts (tallies) the number of + occurrences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + The number of objects remaining in the tally + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + ComparisonAdapter class centralizes all comparisons of + _values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare _values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost contraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occured in applying the constraint (reserved for future use) + + + + + Contain the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The _expected. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected key is contained in the dictionary + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected value is contained in the dictionary + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + true if comparing case insensitive; otherwise, false. + + + + + Gets a value indicating whether or not to clip strings. + + + true if set to clip strings otherwise, false. + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable _values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point _values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual _values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both _values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the _values are + allowed to deviate by up to 2 adjacent floating point _values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point _values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point _values that are allowed to + be between the left and the right floating point _values + + True if both numbers are equal or close to being equal + + + Floating point _values can only represent a finite subset of natural numbers. + For example, the _values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point _values are between + the left and the right number. If the number of possible _values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point _values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point _values that are + allowed to be between the left and the right double precision floating point _values + + True if both numbers are equal or close to being equal + + + Double precision floating point _values can only represent a limited series of + natural numbers. For example, the _values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + _values are between the left and the right number. If the number of possible + _values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual _values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric _values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric _values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the _values are equal + + + + Compare two numeric _values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the _values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depthy. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Helper method to compare two arrays + + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + _values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two _values are within a + specified range. + + + + + Initializes a new instance of the class. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Returns the ActualValueDelegate itself as the value to be tested. + + A delegate representing the code to be tested + The delegate itself + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to + specifying an exact match unless + is set, in which case, the + will be used. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match even if + is set. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Gets the for the current Tolerance + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared _values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared _values my deviate from each other. + + + + + Compares two _values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. Anything set through + this class applies to the entire test run. It should not normally + be used from within a test, since it is not thread-safe. + + + + + Default tolerance for floating point equality + + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build a TestFixture from one or more Types. In general, it is exposed + by an attribute, but may be implemented in a helper class used by the + attribute in some cases. + + + + + Build one or more TestFixtures from type provided. At least one + non-null TestSuite must always be returned, since the method is + generally called because the user has marked the target class as + a fixture. If something prevents the fixture from being used, it + will be returned nonetheless, labelled as non-runnable. + + The type info of the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The IDataPointProvider interface is used by extensions + that provide data for a single test parameter. + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + The IParameterDataSource interface is implemented by types + that can provide data for a test method parameter. + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + An enumeration containing individual data items + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple _values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all _values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued propeties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are _values present, otherwise false + + + + Gets or sets the list of _values for a particular key + + The key for which the _values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single TestMethod from a suitable MethodInfo Types. In general, + it is exposed by an attribute, but may be implemented in a helper class + used by the attribute in some cases. + + + + + Build a TestMethod from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a suite from one or more Types. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + True if the type can be used to build a TestSuite + + + + Build a TestSuite from type provided. + + The type of the fixture to be used + A TestSuite + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets an IMethod for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build one or more TestMethods from a MethodInfo. In general, it is exposed + by an attribute, which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Build one or more TestMethods from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test case from certain methods. + + + This interface is not the same as the ITestCaseBuilder interface in NUnit 2.x. + We have reused the name because the two products don't interoperate at all. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + True is the builder can use this method + + + + Build a TestCase from the provided MethodInfo for + inclusion in the suite being constructed. + + The method to be used as a test case + The test suite being populated, or null + A TestCase or null + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. Not available in + the Compact Framework 1.0. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the Namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an oject of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, if any. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, ouput destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from it's XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which is the AssemblyName + + + + + + + Waits for pending asynchronous operations to complete, if appropriate, + and returns a proper result of the invocation by unwrapping task results + + The raw result of the method invocation + The unwrapped result, if necessary + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + A ParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Checks to see if the provided Type is a fixture. + To be considered a fixture, it must be a non-abstract + class with one or more attributes implementing the + IFixtureBuilder interface or one or more methods + marked as tests. + + The fixture type to check + True if the fixture can be built, false if not + + + + Build a TestSuite from TypeInfo provided. + + The fixture type to build + A TestSuite built from that type + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + A list of the attributes found. + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + A Test representing one or more method invocations + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + The test fixture being populated, or null + A Test representing one or more method invocations + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + A ParameterizedMethodSuite populated with test cases + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + A TestMethod. + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + The root of the test suite being created by this builder. + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the _values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labelled as non-runnable. + + An ITypeInfo for the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + The fixture to which cases should be added + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + http://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + http://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks thru the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks thru the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + ParameterDataSourceProvider supplies individual argument _values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting null + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + The CommandStage enumeration represents the defined stages + of execution for a series of TestCommands. The int _values + of the enum are used to apply decorators in the proper + order. Lower _values are applied first and are therefore + "closer" to the actual test execution. + + + No CommandStage is defined for actual invocation of the test or + for creation of the context. Execution may be imagined as + proceeding from the bottom of the list upwards, with cleanup + after the test running in the opposite order. + + + + + Use an application-defined default value. + + + + + Make adjustments needed before and after running + the raw test - that is, after any SetUp has run + and before TearDown. + + + + + Run SetUp and TearDown for the test. This stage is used + internally by NUnit and should not normally appear + in user-defined decorators. + + + + + Make adjustments needed before and after running + the entire test - including SetUp and TearDown. + + + + + TODO: Documentation needed for class + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext + + The context in which the test should run. + A TestResult + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run after Setup + + + + Overridden to run the one-time setup for a suite. + + The TestExecutionContext to be used. + A TestResult + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The test suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run before teardown. + + + + Overridden to run the teardown methods specified on the test. + + The TestExecutionContext to be used. + A TestResult + + + + SetUpTearDownCommand runs any SetUp methods for a suite, + runs the test and then runs any TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand runs the BeforeTest actions for a test, + then runs the test and finally runs the AfterTestActions. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + TestActionItem represents a single execution of an + ITestAction. It is used to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + Overridden to call the inner command and adjust the result + in case all chlid results were inconclusive. + + + + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. + + The exception. + A string representation of the stack trace. + + + + A utility class to create TestCommands + + + + + Gets the command to be executed before any of + the child tests are run. + + A TestCommand + + + + Gets the command to be executed after all of the + child tests are run. + + A TestCommand + + + + Creates a test command for use in running this test. + + + + + + Creates a command for skipping a test. The result returned will + depend on the test RunState. + + + + + Builds the set up tear down list. + + Type of the fixture. + Type of the set up attribute. + Type of the tear down attribute. + A list of SetUpTearDownItems + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + A count of how many tests in the work item have a value for the Order Property + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do setup, run all child + items and then do teardown. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + Sorts tests under this suite. + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + A simplified implementation of .NET 4 CountdownEvent + for use in earlier versions of .NET. Only the methods + used by NUnit are implemented. + + + + + Construct a CountdownEvent + + The initial count + + + + Gets the initial count established for the CountdownEvent + + + + + Gets the current count remaining for the CountdownEvent + + + + + Decrement the count by one + + + + + Block the thread until the count reaches zero + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Method that performs actually performs the work. + + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and a thread is created on which to + run it. Subsequent calls come from the top level + item or its descendants on the proper thread. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The execution context + + + + + The unique id of the worker executing this item. + + + + + The test actions to be performed before and after this test + + + + + The test result + + + + + Execute the current work item, including any + child work items. + + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matchedT + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type argments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + An array of type arguments. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the spcified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are _values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of _values for a particular key + + + + + Returns an XmlNode representating the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random _values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same _values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probablility a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return an array of methods having a + particular attribute. The array is order with base methods first. + + The type to examine + The attribute Type to look for + Specifies whether to search the fixture type inheritance chain + The array of methods found + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Used because the compact framework doesn't support + Type.GetTypeArray() + + An array of objects + An array of Types + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + THe FailureSite to use in the result + + + + RecordTearDownException appends the message and stacktrace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Adds a reason element to a node and returns it. + + The target node. + The new reason element. + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + An internal class is used to hold settings and a stack + of these objects is pushed and popped as Save and Restore + are called. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Clear the current context. This is provided to + prevent "leakage" of the CallContext containing + the current context back to any runners. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set the working directory + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + The unique name of the worker that spawned the context. + For builds with out the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from it's TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + Arguments to be used + The display name + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet _values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Returns the parent test item for the targer test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters characters that can't be used with their + corresponding xml representations. + + The string to be used + A new string with the _values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Gets a string representing the type of test + + + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Construct from a MethodInfo + + + + + + Gets a string representing the type of test + + + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + The type. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + TODO: Documentation needed for constructor + + + + + + Construct a test from a MethodInfo + + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied ICustomAttributeProvider, which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + An object deriving from MemberInfo + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied ICustomAttributeProvider, which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + An object deriving from MemberInfo + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares this test to another test for sorting purposes + + The other test + Value of -1, 0 or +1 depending on whether the current test is less than, equal to or greater than the other test + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the path from which it was loaded. + + The assembly this test represents. + The path used to load the assembly. + + + + Initializes a new instance of the class + for a path which could not be loaded. + + The path used to load the assembly. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture + + + + + Set to true to suppress sorting this suite's contents + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + The attribute type to check for + + + + TypeHelper provides static methods that operate on Types. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + The first type. + The second type. + Either type1 or type2, depending on which is more general. + + + + Determines whether the specified type is numeric. + + The type to be examined. + + true if the specified type is numeric; otherwise, false. + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + true if this the provided args give sufficient information to determine the type args to be used; otherwise, false. + + + + + Gets the _values for an enumeration, using Enum.GetTypes + where available, otherwise through reflection. + + + + + + + Gets the ids of the _values for an enumeration, + using Enum.GetNames where available, otherwise + through reflection. + + + + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the _values of a property + + The collection of property _values + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Basic Asserts on strings. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for fomatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compould function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists.N + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the paramter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNUllException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attache a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the frameowrk TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the test + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + Portable libraries do not have an ICustomAttributeProvider, so we need to cast to each of + it's direct subtypes and try to get attributes off those instead. + The actual. + Type of the attribute. + if set to true [inherit]. + A list of the given attribute on the given object. + + + + Specifies flags that control binding and the way in which the search for members + and types is conducted by reflection. + + + + + Specifies no binding flag. + + + + + Specifies that only members declared at the level of the supplied type's hierarchy + should be considered. Inherited members are not considered. + + + + + Specifies that instance members are to be included in the search. + + + + + Specifies that static members are to be included in the search. + + + + + Specifies that public members are to be included in the search. + + + + + Specifies that non-public members are to be included in the search. + + + + + Specifies that public and protected static members up the hierarchy should be + returned. Private static members in inherited classes are not returned. Static + members include fields, methods, events, and properties. Nested types are not + returned. + + + + + A MarshalByRefObject that lives forever + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class allows direct calls on Type on + those platforms that would normally require use of + GetTypeInfo(). + + + + + Returns an array of generic arguments for the give type + + + + + + + Gets the constructor with the given parameter types + + + + + + + + Gets the constructors for a type + + + + + + + + + + + + + + + + + + + + + + + Gets declared or inherited interfaces on this type + + + + + + + Gets the member on a given type by name. BindingFlags ARE IGNORED. + + + + + + + + + Gets all members on a given type. BindingFlags ARE IGNORED. + + + + + + + + Gets field of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets public methods on the given type + + + + + + + Gets methods on a type + + + + + + + + Extensions to the various MemberInfo derived classes + + + + + Returns the get method for the given property + + + + + + + + Returns an array of custom attributes of the specified type applied to this member + + Portable throws an argument exception if T does not + derive from Attribute. NUnit uses interfaces to find attributes, thus + this method + + + + Returns an array of custom attributes of the specified type applied to this parameter + + + + + Returns an array of custom attributes of the specified type applied to this assembly + + + + + Extensions for Assembly that are not available in portable + + + + + DNX does not have a version of GetCustomAttributes on Assembly that takes an inherit + parameter since it doesn't make sense on Assemblies. This version just ignores the + inherit parameter. + + The assembly + The type of attribute you are looking for + Ignored + + + + + Gets the types in a given assembly + + + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + Env is a static class that provides some of the features of + System.Environment that are not available under all runtimes + + + + + The newline sequence in the current environment. + + + + + Path to the 'My Documents' folder + + + + + Directory used for file output if not specified on commandline. + + + + + A shim of the .NET interface for platforms that do not support it. + Used to indicate that a control can be the target of a callback event on the server. + + + + + Processes a callback event that targets a control. + + + + + + Returns the results of a callback event that targets a control. + + + + + diff --git a/packages/NUnit/lib/net20/NUnit.System.Linq.dll b/packages/NUnit/lib/net20/NUnit.System.Linq.dll new file mode 100755 index 0000000000000000000000000000000000000000..57e58f69e1046b069e30beef5acc99f6fe97fe04 GIT binary patch literal 95232 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

8J^nzd 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 + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name of the assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the the Completed event for the top level work item + + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Marks a test that must run in a particular threading apartment state, causing it + to run in a separate thread if necessary. + + + + + Construct an ApartmentAttribute + + The apartment state that this test must be run under. You must pass in a valid apartment state. + + + + Provides the Author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Marks a test to use a particular CombiningStrategy to join + any parameter data provided. Since this is the default, the + attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParamterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + TestAssemblyDirectoryResolveAttribute is used to mark a test assembly as needing a + special assembly resolution hook that will explicitly search the test assembly's + directory for dependent assemblies. This works around a conflict between mixed-mode + assembly initialization and tests running in their own AppDomain in some cases. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RetryAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Attribute used to identify a method that is called once + after all the child tests have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Attribute used to identify a method that is called once + to perform setup before any child tests are run. + + + + + LevelOfParallelismAttribute is used to set the number of worker threads + that may be allocated by the framework for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + ParallelizableAttribute is used to mark tests that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No Parallelism is permitted + + + + + The test itself may be run in parallel with others at the same level + + + + + Descendants of the test may be run in parallel with one another + + + + + Descendants of the test down to the level of TestFixtures may be run in parallel + + + + + Provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + TestCaseSourceAttribute indicates the source to be used to + provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestFixtures from a given Type, + using available parameter data. + + The TypeInfo for which fixures are to be constructed. + One or more TestFixtures as TestSuite + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Indicates which class the test or test fixture is testing + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected value is contained in the dictionary + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both _values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to true [ignore directories]. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Returns the ActualValueDelegate itself as the value to be tested. + + A delegate representing the code to be tested + The delegate itself + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionTally counts (tallies) the number of + occurrences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + The number of objects remaining in the tally + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + ComparisonAdapter class centralizes all comparisons of + _values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare _values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint with the specified delay time. + + The delay in milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost contraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The _expected. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected key is contained in the dictionary + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + true if comparing case insensitive; otherwise, false. + + + + + Gets a value indicating whether or not to clip strings. + + + true if set to clip strings otherwise, false. + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable _values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point _values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual _values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the _values are + allowed to deviate by up to 2 adjacent floating point _values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point _values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point _values that are allowed to + be between the left and the right floating point _values + + True if both numbers are equal or close to being equal + + + Floating point _values can only represent a finite subset of natural numbers. + For example, the _values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point _values are between + the left and the right number. If the number of possible _values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point _values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point _values that are + allowed to be between the left and the right double precision floating point _values + + True if both numbers are equal or close to being equal + + + Double precision floating point _values can only represent a limited series of + natural numbers. For example, the _values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + _values are between the left and the right number. If the number of possible + _values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occured in applying the constraint (reserved for future use) + + + + + Contain the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual _values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric _values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric _values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the _values are equal + + + + Compare two numeric _values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the _values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depthy. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Helper method to compare two arrays + + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + _values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two _values are within a + specified range. + + + + + Initializes a new instance of the class. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to + specifying an exact match unless + is set, in which case, the + will be used. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match even if + is set. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Gets the for the current Tolerance + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared _values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared _values my deviate from each other. + + + + + Compares two _values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in xml format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + + This method is provided for use by VB developers needing to test + the value of properties with private setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the Namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an oject of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, ouput destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single TestMethod from a suitable MethodInfo Types. In general, + it is exposed by an attribute, but may be implemented in a helper class + used by the attribute in some cases. + + + + + Build a TestMethod from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ITestBuilder interface is exposed by a class that knows how to + build one or more TestMethods from a MethodInfo. In general, it is exposed + by an attribute, which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Build one or more TestMethods from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The IDataPointProvider interface is used by extensions + that provide data for a single test parameter. + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + The IParameterDataSource interface is implemented by types + that can provide data for a test method parameter. + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + An enumeration containing individual data items + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple _values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all _values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued propeties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are _values present, otherwise false + + + + Gets or sets the list of _values for a particular key + + The key for which the _values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets an IMethod for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. Not available in + the Compact Framework 1.0. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, if any. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from it's XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build a TestFixture from one or more Types. In general, it is exposed + by an attribute, but may be implemented in a helper class used by the + attribute in some cases. + + + + + Build one or more TestFixtures from type provided. At least one + non-null TestSuite must always be returned, since the method is + generally called because the user has marked the target class as + a fixture. If something prevents the fixture from being used, it + will be returned nonetheless, labelled as non-runnable. + + The type info of the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a suite from one or more Types. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + True if the type can be used to build a TestSuite + + + + Build a TestSuite from type provided. + + The type of the fixture to be used + A TestSuite + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test case from certain methods. + + + This interface is not the same as the ITestCaseBuilder interface in NUnit 2.x. + We have reused the name because the two products don't interoperate at all. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + True is the builder can use this method + + + + Build a TestCase from the provided MethodInfo for + inclusion in the suite being constructed. + + The method to be used as a test case + The test suite being populated, or null + A TestCase or null + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Checks to see if the provided Type is a fixture. + To be considered a fixture, it must be a non-abstract + class with one or more attributes implementing the + IFixtureBuilder interface or one or more methods + marked as tests. + + The fixture type to check + True if the fixture can be built, false if not + + + + Build a TestSuite from TypeInfo provided. + + The fixture type to build + A TestSuite built from that type + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + A list of the attributes found. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the _values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + The root of the test suite being created by this builder. + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + A ParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + A Test representing one or more method invocations + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + The test fixture being populated, or null + A Test representing one or more method invocations + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + A ParameterizedMethodSuite populated with test cases + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + A TestMethod. + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labelled as non-runnable. + + An ITypeInfo for the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + The fixture to which cases should be added + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + http://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + http://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks thru the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks thru the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + ParameterDataSourceProvider supplies individual argument _values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting null + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the contet, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Write a single char + + + + + Write a string + + + + + Write a string followed by a newline + + + + + Get the Encoding for this TextWriter + + + + + A utility class to create TestCommands + + + + + Gets the command to be executed before any of + the child tests are run. + + A TestCommand + + + + Gets the command to be executed after all of the + child tests are run. + + A TestCommand + + + + Creates a test command for use in running this test. + + + + + + Creates a command for skipping a test. The result returned will + depend on the test RunState. + + + + + Builds the set up tear down list. + + Type of the fixture. + Type of the set up attribute. + Type of the tear down attribute. + A list of SetUpTearDownItems + + + + An IWorkItemDispatcher handles execution of work items. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and a thread is created on which to + run it. Subsequent calls come from the top level + item or its descendants on the proper thread. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a list of the queues associated with this shift. + + Used for testing + + + + Gets the list of workers associated with this shift. + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + A count of how many tests in the work item have a value for the Order Property + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do setup, run all child + items and then do teardown. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + Sorts tests under this suite. + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + A simplified implementation of .NET 4 CountdownEvent + for use in earlier versions of .NET. Only the methods + used by NUnit are implemented. + + + + + Construct a CountdownEvent + + The initial count + + + + Gets the initial count established for the CountdownEvent + + + + + Gets the current count remaining for the CountdownEvent + + + + + Decrement the count by one + + + + + Block the thread until the count reaches zero + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the eventpump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or null). + + + If true and the queue is empty, the calling thread is blocked until + either an element is enqueued, or is called. + + + + + If the queue not empty + the first element. + + + otherwise, if ==false + or has been called + null. + + + + + + + Stop processing of the queue + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Method that performs actually performs the work. + + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + The apartment state to use for running tests + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The execution context + + + + + The unique id of the worker executing this item. + + + + + The test actions to be performed before and after this test + + + + + Indicates whether this WorkItem may be run in parallel + + + + + The test result + + + + + Execute the current work item, including any + child work items. + + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Enumerates all the shifts supported by the dispatcher + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + + + + Gets the name of the work item queue. + + + + + Gets the total number of items processed so far + + + + + Gets the maximum number of work items. + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matchedT + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the spcified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + Arguments to be used + The display name + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TestActionCommand runs the BeforeTest actions for a test, + then runs the test and finally runs the AfterTestActions. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + TestActionItem represents a single execution of an + ITestAction. It is used to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TODO: Documentation needed for class + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext + + The context in which the test should run. + A TestResult + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run after Setup + + + + Overridden to run the one-time setup for a suite. + + The TestExecutionContext to be used. + A TestResult + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The test suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run before teardown. + + + + Overridden to run the teardown methods specified on the test. + + The TestExecutionContext to be used. + A TestResult + + + + SetUpTearDownCommand runs any SetUp methods for a suite, + runs the test and then runs any TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + Overridden to call the inner command and adjust the result + in case all chlid results were inconclusive. + + + + + + + The CommandStage enumeration represents the defined stages + of execution for a series of TestCommands. The int _values + of the enum are used to apply decorators in the proper + order. Lower _values are applied first and are therefore + "closer" to the actual test execution. + + + No CommandStage is defined for actual invocation of the test or + for creation of the context. Execution may be imagined as + proceeding from the bottom of the list upwards, with cleanup + after the test running in the opposite order. + + + + + Use an application-defined default value. + + + + + Make adjustments needed before and after running + the raw test - that is, after any SetUp has run + and before TearDown. + + + + + Run SetUp and TearDown for the test. This stage is used + internally by NUnit and should not normally appear + in user-defined decorators. + + + + + Make adjustments needed before and after running + the entire test - including SetUp and TearDown. + + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type argments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + An array of type arguments. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Randomizer returns a set of random _values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same _values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probablility a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet _values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. + + The exception. + A string representation of the stack trace. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + OSPlatform represents a particular operating system platform + + + + + Platform ID for Unix as defined by Microsoft .NET 2.0 and greater + + + + + Platform ID for Unix as defined by Mono + + + + + Platform ID for XBox as defined by .NET and Mono, but not CF + + + + + Platform ID for MacOSX as defined by .NET and Mono, but not CF + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + OperatingSystem to be used + RuntimeFramework to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if the a particular platform or comma- + delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are _values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of _values for a particular key + + + + + Returns an XmlNode representating the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return an array of methods having a + particular attribute. The array is order with base methods first. + + The type to examine + The attribute Type to look for + Specifies whether to search the fixture type inheritance chain + The array of methods found + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Used because the compact framework doesn't support + Type.GetTypeArray() + + An array of objects + An array of Types + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + THe FailureSite to use in the result + + + + RecordTearDownException appends the message and stacktrace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Adds a reason element to a node and returns it. + + The target node. + The new reason element. + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft .NET Compact Framework + + + Microsoft Shared Source CLI + + + Mono + + + Silverlight + + + MonoTouch + + + + RuntimeFramework represents a particular version + of a common language runtime implementation. + + + + + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + + + + + Construct from a runtime type and version. If the version has + two parts, it is taken as a framework version. If it has three + or more, it is taken as a CLR version. In either case, the other + version is deduced based on the runtime type and provided version. + + The runtime type of the framework + The version of the framework + + + + Static method to return a RuntimeFramework object + for the framework that is currently in use. + + + + + The type of this runtime framework + + + + + The framework version for this runtime framework + + + + + The CLR version for this runtime framework + + + + + Return true if any CLR version may be used in + matching this RuntimeFramework object. + + + + + Returns the Display name for this framework + + + + + Parses a string representing a RuntimeFramework. + The string may be just a RuntimeType name or just + a Version or a hyphenated RuntimeType-Version or + a Version prefixed by 'versionString'. + + + + + + + Overridden to return the short name of the framework + + + + + + Returns true if the current framework matches the + one supplied as an argument. Two frameworks match + if their runtime types are the same or either one + is RuntimeType.Any and all specified version components + are equal. Negative (i.e. unspecified) version + components are ignored. + + The RuntimeFramework to be matched. + True on match, otherwise false + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + An internal class is used to hold settings and a stack + of these objects is pushed and popped as Save and Restore + are called. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + The current Principal. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Get the current context or return null if none is found. + + + + + + Clear the current context. This is provided to + prevent "leakage" of the CallContext containing + the current context back to any runners. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set the working directory + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + The unique name of the worker that spawned the context. + For builds with out the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Obtain lifetime service object + + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from it's TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Returns the parent test item for the targer test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters characters that can't be used with their + corresponding xml representations. + + The string to be used + A new string with the _values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Gets a string representing the type of test + + + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Construct from a MethodInfo + + + + + + Gets a string representing the type of test + + + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + The type. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + TODO: Documentation needed for constructor + + + + + + Construct a test from a MethodInfo + + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied ICustomAttributeProvider, which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + An object implementing ICustomAttributeProvider + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares this test to another test for sorting purposes + + The other test + Value of -1, 0 or +1 depending on whether the current test is less than, equal to or greater than the other test + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the path from which it was loaded. + + The assembly this test represents. + The path used to load the assembly. + + + + Initializes a new instance of the class + for a path which could not be loaded. + + The path used to load the assembly. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture + + + + + Set to true to suppress sorting this suite's contents + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + The attribute type to check for + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Do our best to Kill a thread + + The thread to kill + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + + + + TypeHelper provides static methods that operate on Types. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + The first type. + The second type. + Either type1 or type2, depending on which is more general. + + + + Determines whether the specified type is numeric. + + The type to be examined. + + true if the specified type is numeric; otherwise, false. + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + true if this the provided args give sufficient information to determine the type args to be used; otherwise, false. + + + + + Gets the _values for an enumeration, using Enum.GetTypes + where available, otherwise through reflection. + + + + + + + Gets the ids of the _values for an enumeration, + using Enum.GetNames where available, otherwise + through reflection. + + + + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + Asserts on Directories + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter ids for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument + data provided. Since this is the default, the attribute is + optional. + + + + + Default constructor + + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + The abstract base class for all data-providing attributes + defined by NUnit. Used to select all data sources for a + method, class or parameter. + + + + + Default constructor + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointSourceAttribute. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointsAttribute. + + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct a description Attribute + + The text of the description + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Marks a test to use a pairwise join of any argument + data provided. Arguments will be combined in such a + way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + PlatformAttribute is used to mark a test fixture or an + individual method as applying to a particular platform only. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-delimited list of platforms + + + + Causes a test to be skipped if this PlatformAttribute is not satisfied. + + The test to modify + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + RandomAttribute is used to supply a set of random _values + to a single parameter of a parameterized test. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Construct a set of ints within a specified range + + + + + Construct a set of unsigned ints within a specified range + + + + + Construct a set of longs within a specified range + + + + + Construct a set of unsigned longs within a specified range + + + + + Construct a set of shorts within a specified range + + + + + Construct a set of unsigned shorts within a specified range + + + + + Construct a set of doubles within a specified range + + + + + Construct a set of floats within a specified range + + + + + Construct a set of bytes within a specified range + + + + + Construct a set of sbytes within a specified range + + + + + Get the collection of _values to be used as arguments. + + + + + RangeAttribute is used to supply a range of _values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of unsigned ints using default step of 1 + + + + + + + Construct a range of unsigned ints specifying the step size + + + + + + + + Construct a range of longs using a default step of 1 + + + + + + + Construct a range of longs + + + + + + + + Construct a range of unsigned longs using default step of 1 + + + + + + + Construct a range of unsigned longs specifying the step size + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test that must run in the MTA, causing it + to run in a separate thread if necessary. + + On methods, you may also use MTAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresMTAAttribute + + + + + Marks a test that must run in the STA, causing it + to run in a separate thread if necessary. + + + + + Construct a RequiresSTAAttribute + + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Summary description for SetCultureAttribute. + + + + + Construct given the name of a culture + + + + + + Summary description for SetUICultureAttribute. + + + + + Construct given the name of a culture + + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Build a SetUpFixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A SetUpFixture object as a TestSuite. + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Gets or sets the expected result. + + The result. + + + + Returns true if an expected result has been set + + + + + Construct a TestMethod from a given method. + + The method for which a test is to be constructed. + The suite to which the test will be added. + A TestMethod + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Comma-delimited list of platforms to run the test for + + + + + Comma-delimited list of platforms to not run the test for + + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + TestCaseSourceAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Returns a set of ITestCaseDataItems for use as arguments + to a parameterized test method. + + The method for which data is needed. + + + + + TestFixtureAttribute is used to mark a class that represents a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Build a fixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A an IEnumerable holding one TestFixture object. + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + Used on a method, marks the test with a timeout value in milliseconds. + The test will be run in a separate thread and is cancelled if the timeout + is exceeded. Used on a class or assembly, sets the default timeout + for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of _values to be used as arguments + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + + An enumeration containing individual data items + + + + + A set of Assert methods operating on one or more collections + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Asserts on Files + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. Anything set through + this class applies to the entire test run. It should not normally + be used from within a test, since it is not thread-safe. + + + + + Default tolerance for floating point equality + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the _values of a property + + The collection of property _values + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Basic Asserts on strings. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for fomatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compould function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists.N + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the paramter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNUllException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attache a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the frameowrk TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the test + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + Portable libraries do not have an ICustomAttributeProvider, so we need to cast to each of + it's direct subtypes and try to get attributes off those instead. + The actual. + Type of the attribute. + if set to true [inherit]. + A list of the given attribute on the given object. + + + + A MarshalByRefObject that lives forever + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class supplies GetTypeInfo() on platforms + that don't support it. + + + + + GetTypeInfo gives access to most of the Type information we take for granted + on .NET Core and Windows Runtime. Rather than #ifdef different code for different + platforms, it is easiest to just code all platforms as if they worked this way, + thus the simple passthrough. + + + + + + + Extensions for Assembly that are not available in pre-4.5 .NET releases + + + + + An easy way to get a single custom attribute from an assembly + + The attribute Type + The assembly + An attribute of Type T + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + Env is a static class that provides some of the features of + System.Environment that are not available under all runtimes + + + + + The newline sequence in the current environment. + + + + + Path to the 'My Documents' folder + + + + + Directory used for file output if not specified on commandline. + + + + + Represents a thread-safe first-in, first-out collection of objects. + + Specifies the type of elements in the queue. + + All public and protected members of are thread-safe and may be used + concurrently from multiple threads. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class that contains elements copied from the specified collection + + The collection whose elements are copied to the new . + The argument is + null. + + + + Adds an object to the end of the . + + The object to add to the end of the . The value can be a null reference + (Nothing in Visual Basic) for reference types. + + + + + Attempts to add an object to the . + + The object to add to the . The value can be a null + reference (Nothing in Visual Basic) for reference types. + + true if the object was added successfully; otherwise, false. + For , this operation will always add the object to the + end of the + and return true. + + + + Attempts to remove and return the object at the beginning of the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned from the beginning of the + successfully; otherwise, false. + + + + Attempts to return an object from the beginning of the + without removing it. + + When this method returns, contains an object from + the beginning of the or an + unspecified value if the operation failed. + true if and object was returned successfully; otherwise, false. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + Returns an enumerator that iterates through the . + + An enumerator for the contents of the . + + The enumeration represents a moment-in-time snapshot of the contents + of the queue. It does not reflect any updates to the collection after + was called. The enumerator is safe to use + concurrently with reads from and writes to the queue. + + + + + Copies the elements of the to an , starting at a particular + index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + + is multidimensional. -or- + does not have zero-based indexing. -or- + is equal to or greater than the length of the + -or- The number of elements in the source is + greater than the available space from to the end of the destination + . -or- The type of the source cannot be cast automatically to the type of the + destination . + + + + + Copies the elements to an existing one-dimensional Array, starting at the specified array index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based + indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + Copies the elements stored in the to a new array. + + A new array containing a snapshot of elements copied from the . + + + + Gets a value indicating whether access to the is + synchronized with the SyncRoot. + + true if access to the is synchronized + with the SyncRoot; otherwise, false. For , this property always + returns false. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned successfully; otherwise, false. + For , this operation will attempt to remove the object + from the beginning of the . + + + + + Gets an object that can be used to synchronize access to the . This property is not supported. + + The SyncRoot property is not supported. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + For determining whether the collection contains any items, use of the + property is recommended rather than retrieving the number of items from the + property and comparing it to 0. + + + + + Gets a value that indicates whether the is empty. + + true if the is empty; otherwise, false. + + For determining whether the collection contains any items, use of this property is recommended + rather than retrieving the number of items from the property and comparing it + to 0. However, as this collection is intended to be accessed concurrently, it may be the case + that another thread will modify the collection after returns, thus invalidating + the result. + + + + + Defines methods to manipulate thread-safe collections intended for producer/consumer usage. + + Specifies the type of elements in the collection. + + All implementations of this interface must enable all members of this interface + to be used concurrently from multiple threads. + + + + + Attempts to add an object to the . + + The object to add to the . + true if the object was added successfully; otherwise, false. + The was invalid for this collection. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the object was removed and returned successfully, contains the removed object. If no object was available to be removed, the value is + unspecified. + + true if an object was removed and returned successfully; otherwise, false. + + + + Copies the elements contained in the to a new array. + + A new array containing the elements copied from the . + + + + Copies the elements of the to + an + , starting at a specified index. + + The one-dimensional that is the destination of + the elements copied from the . + The array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit/lib/net35/nunit.framework.dll b/packages/NUnit/lib/net35/nunit.framework.dll new file mode 100755 index 0000000000000000000000000000000000000000..f4b02940619f25966e4b2434311916737afd08f8 GIT binary patch literal 303616 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 C=Z`)B literal 0 HcmV?d00001 diff --git a/packages/NUnit/lib/net35/nunit.framework.xml b/packages/NUnit/lib/net35/nunit.framework.xml new file mode 100755 index 0000000..63adda3 --- /dev/null +++ b/packages/NUnit/lib/net35/nunit.framework.xml @@ -0,0 +1,18396 @@ + + + + nunit.framework + + + + + The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly syncronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asyncronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name of the assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the the Completed event for the top level work item + + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Marks a test that must run in a particular threading apartment state, causing it + to run in a separate thread if necessary. + + + + + Construct an ApartmentAttribute + + The apartment state that this test must be run under. You must pass in a valid apartment state. + + + + Provides the Author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Marks a test to use a particular CombiningStrategy to join + any parameter data provided. Since this is the default, the + attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParamterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + TestAssemblyDirectoryResolveAttribute is used to mark a test assembly as needing a + special assembly resolution hook that will explicitly search the test assembly's + directory for dependent assemblies. This works around a conflict between mixed-mode + assembly initialization and tests running in their own AppDomain in some cases. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RetryAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Attribute used to identify a method that is called once + after all the child tests have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Attribute used to identify a method that is called once + to perform setup before any child tests are run. + + + + + LevelOfParallelismAttribute is used to set the number of worker threads + that may be allocated by the framework for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + ParallelizableAttribute is used to mark tests that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No Parallelism is permitted + + + + + The test itself may be run in parallel with others at the same level + + + + + Descendants of the test may be run in parallel with one another + + + + + Descendants of the test down to the level of TestFixtures may be run in parallel + + + + + Provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + TestCaseSourceAttribute indicates the source to be used to + provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestFixtures from a given Type, + using available parameter data. + + The TypeInfo for which fixures are to be constructed. + One or more TestFixtures as TestSuite + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Indicates which class the test or test fixture is testing + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected value is contained in the dictionary + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both _values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to true [ignore directories]. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Returns the ActualValueDelegate itself as the value to be tested. + + A delegate representing the code to be tested + The delegate itself + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionTally counts (tallies) the number of + occurrences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + The number of objects remaining in the tally + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + ComparisonAdapter class centralizes all comparisons of + _values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare _values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint with the specified delay time. + + The delay in milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost contraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The _expected. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected key is contained in the dictionary + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + true if comparing case insensitive; otherwise, false. + + + + + Gets a value indicating whether or not to clip strings. + + + true if set to clip strings otherwise, false. + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable _values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point _values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual _values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the _values are + allowed to deviate by up to 2 adjacent floating point _values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point _values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point _values that are allowed to + be between the left and the right floating point _values + + True if both numbers are equal or close to being equal + + + Floating point _values can only represent a finite subset of natural numbers. + For example, the _values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point _values are between + the left and the right number. If the number of possible _values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point _values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point _values that are + allowed to be between the left and the right double precision floating point _values + + True if both numbers are equal or close to being equal + + + Double precision floating point _values can only represent a limited series of + natural numbers. For example, the _values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + _values are between the left and the right number. If the number of possible + _values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occured in applying the constraint (reserved for future use) + + + + + Contain the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual _values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric _values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric _values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the _values are equal + + + + Compare two numeric _values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the _values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depthy. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Helper method to compare two arrays + + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + _values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two _values are within a + specified range. + + + + + Initializes a new instance of the class. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to + specifying an exact match unless + is set, in which case, the + will be used. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match even if + is set. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Gets the for the current Tolerance + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared _values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared _values my deviate from each other. + + + + + Compares two _values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in xml format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + + This method is provided for use by VB developers needing to test + the value of properties with private setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the Namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an oject of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, ouput destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single TestMethod from a suitable MethodInfo Types. In general, + it is exposed by an attribute, but may be implemented in a helper class + used by the attribute in some cases. + + + + + Build a TestMethod from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ITestBuilder interface is exposed by a class that knows how to + build one or more TestMethods from a MethodInfo. In general, it is exposed + by an attribute, which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Build one or more TestMethods from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The IDataPointProvider interface is used by extensions + that provide data for a single test parameter. + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + The IParameterDataSource interface is implemented by types + that can provide data for a test method parameter. + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + An enumeration containing individual data items + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple _values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all _values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued propeties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are _values present, otherwise false + + + + Gets or sets the list of _values for a particular key + + The key for which the _values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets an IMethod for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. Not available in + the Compact Framework 1.0. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, if any. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from it's XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build a TestFixture from one or more Types. In general, it is exposed + by an attribute, but may be implemented in a helper class used by the + attribute in some cases. + + + + + Build one or more TestFixtures from type provided. At least one + non-null TestSuite must always be returned, since the method is + generally called because the user has marked the target class as + a fixture. If something prevents the fixture from being used, it + will be returned nonetheless, labelled as non-runnable. + + The type info of the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a suite from one or more Types. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + True if the type can be used to build a TestSuite + + + + Build a TestSuite from type provided. + + The type of the fixture to be used + A TestSuite + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test case from certain methods. + + + This interface is not the same as the ITestCaseBuilder interface in NUnit 2.x. + We have reused the name because the two products don't interoperate at all. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + True is the builder can use this method + + + + Build a TestCase from the provided MethodInfo for + inclusion in the suite being constructed. + + The method to be used as a test case + The test suite being populated, or null + A TestCase or null + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Checks to see if the provided Type is a fixture. + To be considered a fixture, it must be a non-abstract + class with one or more attributes implementing the + IFixtureBuilder interface or one or more methods + marked as tests. + + The fixture type to check + True if the fixture can be built, false if not + + + + Build a TestSuite from TypeInfo provided. + + The fixture type to build + A TestSuite built from that type + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + A list of the attributes found. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the _values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + The root of the test suite being created by this builder. + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + A ParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + A Test representing one or more method invocations + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + The test fixture being populated, or null + A Test representing one or more method invocations + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + A ParameterizedMethodSuite populated with test cases + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + A TestMethod. + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labelled as non-runnable. + + An ITypeInfo for the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + The fixture to which cases should be added + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + http://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + http://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks thru the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks thru the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + ParameterDataSourceProvider supplies individual argument _values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting null + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the contet, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Write a single char + + + + + Write a string + + + + + Write a string followed by a newline + + + + + Get the Encoding for this TextWriter + + + + + A utility class to create TestCommands + + + + + Gets the command to be executed before any of + the child tests are run. + + A TestCommand + + + + Gets the command to be executed after all of the + child tests are run. + + A TestCommand + + + + Creates a test command for use in running this test. + + + + + + Creates a command for skipping a test. The result returned will + depend on the test RunState. + + + + + Builds the set up tear down list. + + Type of the fixture. + Type of the set up attribute. + Type of the tear down attribute. + A list of SetUpTearDownItems + + + + An IWorkItemDispatcher handles execution of work items. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and a thread is created on which to + run it. Subsequent calls come from the top level + item or its descendants on the proper thread. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a list of the queues associated with this shift. + + Used for testing + + + + Gets the list of workers associated with this shift. + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + A count of how many tests in the work item have a value for the Order Property + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do setup, run all child + items and then do teardown. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + Sorts tests under this suite. + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + A simplified implementation of .NET 4 CountdownEvent + for use in earlier versions of .NET. Only the methods + used by NUnit are implemented. + + + + + Construct a CountdownEvent + + The initial count + + + + Gets the initial count established for the CountdownEvent + + + + + Gets the current count remaining for the CountdownEvent + + + + + Decrement the count by one + + + + + Block the thread until the count reaches zero + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the eventpump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or null). + + + If true and the queue is empty, the calling thread is blocked until + either an element is enqueued, or is called. + + + + + If the queue not empty + the first element. + + + otherwise, if ==false + or has been called + null. + + + + + + + Stop processing of the queue + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Method that performs actually performs the work. + + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + The apartment state to use for running tests + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The execution context + + + + + The unique id of the worker executing this item. + + + + + The test actions to be performed before and after this test + + + + + Indicates whether this WorkItem may be run in parallel + + + + + The test result + + + + + Execute the current work item, including any + child work items. + + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Enumerates all the shifts supported by the dispatcher + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + + + + Gets the name of the work item queue. + + + + + Gets the total number of items processed so far + + + + + Gets the maximum number of work items. + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matchedT + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the spcified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + Arguments to be used + The display name + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TestActionCommand runs the BeforeTest actions for a test, + then runs the test and finally runs the AfterTestActions. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + TestActionItem represents a single execution of an + ITestAction. It is used to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TODO: Documentation needed for class + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext + + The context in which the test should run. + A TestResult + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run after Setup + + + + Overridden to run the one-time setup for a suite. + + The TestExecutionContext to be used. + A TestResult + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The test suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run before teardown. + + + + Overridden to run the teardown methods specified on the test. + + The TestExecutionContext to be used. + A TestResult + + + + SetUpTearDownCommand runs any SetUp methods for a suite, + runs the test and then runs any TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + Overridden to call the inner command and adjust the result + in case all chlid results were inconclusive. + + + + + + + The CommandStage enumeration represents the defined stages + of execution for a series of TestCommands. The int _values + of the enum are used to apply decorators in the proper + order. Lower _values are applied first and are therefore + "closer" to the actual test execution. + + + No CommandStage is defined for actual invocation of the test or + for creation of the context. Execution may be imagined as + proceeding from the bottom of the list upwards, with cleanup + after the test running in the opposite order. + + + + + Use an application-defined default value. + + + + + Make adjustments needed before and after running + the raw test - that is, after any SetUp has run + and before TearDown. + + + + + Run SetUp and TearDown for the test. This stage is used + internally by NUnit and should not normally appear + in user-defined decorators. + + + + + Make adjustments needed before and after running + the entire test - including SetUp and TearDown. + + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type argments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + An array of type arguments. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Randomizer returns a set of random _values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same _values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probablility a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet _values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. + + The exception. + A string representation of the stack trace. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + OSPlatform represents a particular operating system platform + + + + + Platform ID for Unix as defined by Microsoft .NET 2.0 and greater + + + + + Platform ID for Unix as defined by Mono + + + + + Platform ID for XBox as defined by .NET and Mono, but not CF + + + + + Platform ID for MacOSX as defined by .NET and Mono, but not CF + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + OperatingSystem to be used + RuntimeFramework to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if the a particular platform or comma- + delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are _values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of _values for a particular key + + + + + Returns an XmlNode representating the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return an array of methods having a + particular attribute. The array is order with base methods first. + + The type to examine + The attribute Type to look for + Specifies whether to search the fixture type inheritance chain + The array of methods found + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Used because the compact framework doesn't support + Type.GetTypeArray() + + An array of objects + An array of Types + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + THe FailureSite to use in the result + + + + RecordTearDownException appends the message and stacktrace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Adds a reason element to a node and returns it. + + The target node. + The new reason element. + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft .NET Compact Framework + + + Microsoft Shared Source CLI + + + Mono + + + Silverlight + + + MonoTouch + + + + RuntimeFramework represents a particular version + of a common language runtime implementation. + + + + + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + + + + + Construct from a runtime type and version. If the version has + two parts, it is taken as a framework version. If it has three + or more, it is taken as a CLR version. In either case, the other + version is deduced based on the runtime type and provided version. + + The runtime type of the framework + The version of the framework + + + + Static method to return a RuntimeFramework object + for the framework that is currently in use. + + + + + The type of this runtime framework + + + + + The framework version for this runtime framework + + + + + The CLR version for this runtime framework + + + + + Return true if any CLR version may be used in + matching this RuntimeFramework object. + + + + + Returns the Display name for this framework + + + + + Parses a string representing a RuntimeFramework. + The string may be just a RuntimeType name or just + a Version or a hyphenated RuntimeType-Version or + a Version prefixed by 'versionString'. + + + + + + + Overridden to return the short name of the framework + + + + + + Returns true if the current framework matches the + one supplied as an argument. Two frameworks match + if their runtime types are the same or either one + is RuntimeType.Any and all specified version components + are equal. Negative (i.e. unspecified) version + components are ignored. + + The RuntimeFramework to be matched. + True on match, otherwise false + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + An internal class is used to hold settings and a stack + of these objects is pushed and popped as Save and Restore + are called. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + The current Principal. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Get the current context or return null if none is found. + + + + + + Clear the current context. This is provided to + prevent "leakage" of the CallContext containing + the current context back to any runners. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set the working directory + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + The unique name of the worker that spawned the context. + For builds with out the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Obtain lifetime service object + + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from it's TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Returns the parent test item for the targer test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters characters that can't be used with their + corresponding xml representations. + + The string to be used + A new string with the _values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Gets a string representing the type of test + + + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Construct from a MethodInfo + + + + + + Gets a string representing the type of test + + + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + The type. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + TODO: Documentation needed for constructor + + + + + + Construct a test from a MethodInfo + + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied ICustomAttributeProvider, which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + An object implementing ICustomAttributeProvider + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares this test to another test for sorting purposes + + The other test + Value of -1, 0 or +1 depending on whether the current test is less than, equal to or greater than the other test + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the path from which it was loaded. + + The assembly this test represents. + The path used to load the assembly. + + + + Initializes a new instance of the class + for a path which could not be loaded. + + The path used to load the assembly. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture + + + + + Set to true to suppress sorting this suite's contents + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + The attribute type to check for + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Do our best to Kill a thread + + The thread to kill + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + + + + TypeHelper provides static methods that operate on Types. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + The first type. + The second type. + Either type1 or type2, depending on which is more general. + + + + Determines whether the specified type is numeric. + + The type to be examined. + + true if the specified type is numeric; otherwise, false. + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + true if this the provided args give sufficient information to determine the type args to be used; otherwise, false. + + + + + Gets the _values for an enumeration, using Enum.GetTypes + where available, otherwise through reflection. + + + + + + + Gets the ids of the _values for an enumeration, + using Enum.GetNames where available, otherwise + through reflection. + + + + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + Asserts on Directories + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter ids for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument + data provided. Since this is the default, the attribute is + optional. + + + + + Default constructor + + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + The abstract base class for all data-providing attributes + defined by NUnit. Used to select all data sources for a + method, class or parameter. + + + + + Default constructor + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointSourceAttribute. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointsAttribute. + + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct a description Attribute + + The text of the description + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Marks a test to use a pairwise join of any argument + data provided. Arguments will be combined in such a + way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + PlatformAttribute is used to mark a test fixture or an + individual method as applying to a particular platform only. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-delimited list of platforms + + + + Causes a test to be skipped if this PlatformAttribute is not satisfied. + + The test to modify + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + RandomAttribute is used to supply a set of random _values + to a single parameter of a parameterized test. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Construct a set of ints within a specified range + + + + + Construct a set of unsigned ints within a specified range + + + + + Construct a set of longs within a specified range + + + + + Construct a set of unsigned longs within a specified range + + + + + Construct a set of shorts within a specified range + + + + + Construct a set of unsigned shorts within a specified range + + + + + Construct a set of doubles within a specified range + + + + + Construct a set of floats within a specified range + + + + + Construct a set of bytes within a specified range + + + + + Construct a set of sbytes within a specified range + + + + + Get the collection of _values to be used as arguments. + + + + + RangeAttribute is used to supply a range of _values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of unsigned ints using default step of 1 + + + + + + + Construct a range of unsigned ints specifying the step size + + + + + + + + Construct a range of longs using a default step of 1 + + + + + + + Construct a range of longs + + + + + + + + Construct a range of unsigned longs using default step of 1 + + + + + + + Construct a range of unsigned longs specifying the step size + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test that must run in the MTA, causing it + to run in a separate thread if necessary. + + On methods, you may also use MTAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresMTAAttribute + + + + + Marks a test that must run in the STA, causing it + to run in a separate thread if necessary. + + + + + Construct a RequiresSTAAttribute + + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Summary description for SetCultureAttribute. + + + + + Construct given the name of a culture + + + + + + Summary description for SetUICultureAttribute. + + + + + Construct given the name of a culture + + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Build a SetUpFixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A SetUpFixture object as a TestSuite. + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Gets or sets the expected result. + + The result. + + + + Returns true if an expected result has been set + + + + + Construct a TestMethod from a given method. + + The method for which a test is to be constructed. + The suite to which the test will be added. + A TestMethod + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Comma-delimited list of platforms to run the test for + + + + + Comma-delimited list of platforms to not run the test for + + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + TestCaseSourceAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Returns a set of ITestCaseDataItems for use as arguments + to a parameterized test method. + + The method for which data is needed. + + + + + TestFixtureAttribute is used to mark a class that represents a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Build a fixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A an IEnumerable holding one TestFixture object. + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + Used on a method, marks the test with a timeout value in milliseconds. + The test will be run in a separate thread and is cancelled if the timeout + is exceeded. Used on a class or assembly, sets the default timeout + for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of _values to be used as arguments + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + + An enumeration containing individual data items + + + + + A set of Assert methods operating on one or more collections + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Asserts on Files + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. Anything set through + this class applies to the entire test run. It should not normally + be used from within a test, since it is not thread-safe. + + + + + Default tolerance for floating point equality + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the _values of a property + + The collection of property _values + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Basic Asserts on strings. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for fomatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compould function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists.N + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the paramter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNUllException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attache a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the frameowrk TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the test + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + Portable libraries do not have an ICustomAttributeProvider, so we need to cast to each of + it's direct subtypes and try to get attributes off those instead. + The actual. + Type of the attribute. + if set to true [inherit]. + A list of the given attribute on the given object. + + + + A MarshalByRefObject that lives forever + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class supplies GetTypeInfo() on platforms + that don't support it. + + + + + GetTypeInfo gives access to most of the Type information we take for granted + on .NET Core and Windows Runtime. Rather than #ifdef different code for different + platforms, it is easiest to just code all platforms as if they worked this way, + thus the simple passthrough. + + + + + + + Extensions for Assembly that are not available in pre-4.5 .NET releases + + + + + An easy way to get a single custom attribute from an assembly + + The attribute Type + The assembly + An attribute of Type T + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + Env is a static class that provides some of the features of + System.Environment that are not available under all runtimes + + + + + The newline sequence in the current environment. + + + + + Path to the 'My Documents' folder + + + + + Directory used for file output if not specified on commandline. + + + + + Represents a thread-safe first-in, first-out collection of objects. + + Specifies the type of elements in the queue. + + All public and protected members of are thread-safe and may be used + concurrently from multiple threads. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class that contains elements copied from the specified collection + + The collection whose elements are copied to the new . + The argument is + null. + + + + Adds an object to the end of the . + + The object to add to the end of the . The value can be a null reference + (Nothing in Visual Basic) for reference types. + + + + + Attempts to add an object to the . + + The object to add to the . The value can be a null + reference (Nothing in Visual Basic) for reference types. + + true if the object was added successfully; otherwise, false. + For , this operation will always add the object to the + end of the + and return true. + + + + Attempts to remove and return the object at the beginning of the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned from the beginning of the + successfully; otherwise, false. + + + + Attempts to return an object from the beginning of the + without removing it. + + When this method returns, contains an object from + the beginning of the or an + unspecified value if the operation failed. + true if and object was returned successfully; otherwise, false. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + Returns an enumerator that iterates through the . + + An enumerator for the contents of the . + + The enumeration represents a moment-in-time snapshot of the contents + of the queue. It does not reflect any updates to the collection after + was called. The enumerator is safe to use + concurrently with reads from and writes to the queue. + + + + + Copies the elements of the to an , starting at a particular + index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + + is multidimensional. -or- + does not have zero-based indexing. -or- + is equal to or greater than the length of the + -or- The number of elements in the source is + greater than the available space from to the end of the destination + . -or- The type of the source cannot be cast automatically to the type of the + destination . + + + + + Copies the elements to an existing one-dimensional Array, starting at the specified array index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based + indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + Copies the elements stored in the to a new array. + + A new array containing a snapshot of elements copied from the . + + + + Gets a value indicating whether access to the is + synchronized with the SyncRoot. + + true if access to the is synchronized + with the SyncRoot; otherwise, false. For , this property always + returns false. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned successfully; otherwise, false. + For , this operation will attempt to remove the object + from the beginning of the . + + + + + Gets an object that can be used to synchronize access to the . This property is not supported. + + The SyncRoot property is not supported. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + For determining whether the collection contains any items, use of the + property is recommended rather than retrieving the number of items from the + property and comparing it to 0. + + + + + Gets a value that indicates whether the is empty. + + true if the is empty; otherwise, false. + + For determining whether the collection contains any items, use of this property is recommended + rather than retrieving the number of items from the property and comparing it + to 0. However, as this collection is intended to be accessed concurrently, it may be the case + that another thread will modify the collection after returns, thus invalidating + the result. + + + + + Defines methods to manipulate thread-safe collections intended for producer/consumer usage. + + Specifies the type of elements in the collection. + + All implementations of this interface must enable all members of this interface + to be used concurrently from multiple threads. + + + + + Attempts to add an object to the . + + The object to add to the . + true if the object was added successfully; otherwise, false. + The was invalid for this collection. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the object was removed and returned successfully, contains the removed object. If no object was available to be removed, the value is + unspecified. + + true if an object was removed and returned successfully; otherwise, false. + + + + Copies the elements contained in the to a new array. + + A new array containing the elements copied from the . + + + + Copies the elements of the to + an + , starting at a specified index. + + The one-dimensional that is the destination of + the elements copied from the . + The array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/NUnit/lib/net40/nunit.framework.dll b/packages/NUnit/lib/net40/nunit.framework.dll new file mode 100755 index 0000000000000000000000000000000000000000..2cc52d167a418b64f660dafa360953ce35a940b9 GIT binary patch literal 302592 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

Vo&sk`jGv%CM+T;gm!l#vxVt z73$d-OBeL^&xRE_Zlm-gQP|2@eph(TgeTMe2@R*>-Cf$L?39ykOu$san5AMcXak_$ zl)?s4V}gjV>UuflshWIa$&jRK)oVtxQ#F}6 z<5RUMr__q`ErEGSY-)6JwNYQnQCUY<{3KMC-&s8?yR*i+bYp$44FBdj3SNHKtw zt-91W>D5y8$U;5rXC3V0vkoW*ku$Y$xZv}srQzD)_|$l;9gbJ)gd>?oNO~4Xom5K9 zo5Z7uGnQb~W}+mp9%-D7vSV2`!5#cLaA1IDd=LL&>$L5&j0NydL|rgltcN-6h1w3w zdkkjZn+%yTcH9iKP=_Jvjwtg!wDhX1qtMnfy&;H#O}!PF#eW9NSbAe^ybmL*s=7pz zdp5%I-3jj;JPS4c${0rNzXCIiP9CN1YW&`K0418d&w^}?u#fj)EGDa_P42m5vO~(w zc%OsI`}|gUy_X1hrEnU}`$B{pjDHm?Ym@s$a@!ld{?_D+OR?ii5J^y{M&0n z*40f4_s$RbH=#{&?gc|E<83|4R=br>X|vLlFuh+*j$AC2;p;#zXtxGid+f0I*j8hy%dh0U!bcj*XZ89ii`6v~IJ zZ!-pmtXgyL(2olD0-oi=VG?9{ChtO&TZ`0x;U}Y3uJ9-E?qXBc@xFwTuHk{POsAb2 z2PExbqMTI2dlkH%{SEfA)vf>*QZi`JXopGZh#IToYDJ|Qixz6}|D}-$DO>Fgz+$3( z>wN%!OC83&?s`PcR*h$S-ou#bv0AZ?eZ28=n2S;4=R?smT&jA8LDe%1u}i>6e=e1Q zZb@q3{!%!)=leTD(4&nG`6oiq!{Wzo?Q#bD8$RBR*quBb&X=C~|0| zasG;+Hqv;P7e@Lb&^zgk7}C*5*T%Jxo)lL`+HrA;!O6y>#yBR%nD$&uF-GSROROU# z$_#F-PYf=!t_|)~s7nm4CKm%;Wfq4k1#n<6$oJdkAmITtG#R%%X=8 z6zjVV^5!EE?gpB!wJIl1Gp)+WQ-f78d5TPWYI8?f6_cKSKgFrdby}mQI9A03Bww21 z)W-8oI+HPV;z7+?)TBc;UpA~*bT7tqii#(8c0-+o^=hQ9!_8cG0=%%Og2F0dqN!F@ z!~x*Y00Vn6VvviB_{SGUx!21rD2@#aKwDj(unz(7LS;Z ze0{vkaOeoM9<(wSxk6d|iI8b@nzMD9?p1J%4&GK+nC^N!EpN)0EV?xfU*WU7mN9AOk_P&7?}B4= zGTWE2m^3Df`2mZ&BP_yFUcgYCnc<6h#WwX?fv75^*nt!%;2+`{6mS^0kb$U266k#m zwPduAi%Bz8y+y<41|-Gj#rk<4QbqNhI=)n8FAUx4)bPFNtGRxwYtioHs6x=~M?>~x z2(t4uc)L&G2NGj85~v30xt`q5M8N~F}#siDJd|-)N?4yfOO;W|UICNb? zSIZ!lm`XAeFL=&NGSr%RFO-Q<=`_JpV7Ga}Lu9+TfF_4WiOS+92jKqbSN- z4W>DzHb@>p8!Tt^#jTN*b3318x(&X^HmKcyjJV&YyGz=s>HaC|`9P@r6C2Q8E*4Jy z84>sABJRsVcfjdyjJ&k;+K77vIkXg~vyHbDUsR9HZ24VjIg?U+IqG>g>bZ`dmf~a; z>C4LZhVl(Dp_bxX^ud-0DW2D8zc7XW6-L5S_~QAV_WzX6h@3?MK)_el$^ryHfM1a_ z1t4HeWq<$(SkC}FZ_&>i`D`hEMSH)dMZGu30-rF0#q|nsAEfFK{}+6sN9sU>#R>|B z+gQwHTgJYOF%34Ocomzn+0PJJ!mY_IipeTOZCn;Nt=8?ljiBM!>dScM8~pF1=;D@~ zk}X~hXswgL5*Q7Z{Z?O!PG=buDo|4$H-+GUc$I$X34s? ziE*3I;ao7^r!hHBVmwQ~bx;YS)~PpdOr+K9a?WpNR|YPXfxMbCfdw&_Oty*gS5TS(t(47jOASklH&DTeM$~6tVEBcY0w{2 zL4OVDzpdyQ28*US-O9v}P9u(S!hkbP#19j}>0hk+HDIRhO@l3Pcf}kg>t2Iar&PbX;QBmx+z*f^)B7rDL(jEQ&)1?JtOAtCz8>{pzFi8rKI-{K)bq`#=Z2`~TT#!A z^vqMTS>8?bEzmyO`!>A`18=qWoigH^>FbnG?-sg)EZ!RRd^hU(UexpbsOPq*=k}-v ztAr)iKZttnjC$^hdawpjit|Hy!YtlHUnz?iu9s!;M`gr6rmsuh2sgclS&XL^?*oQS z$ouiw;`{`^#VQzmcQR|jX8%Q4Pxk?$Bd8=p$D(rizc0s*16G_3@}W<`RcQ>ktXXah z1Q}%v1Rc{DNC@iQ@!;+~2vJxO#q$t7^OVQ(9;T0D_bf#}77kp{B+KUk#UqMdQM4D# z4qMtGwzIhppVCpex zT`(%`-p}Ebxs&$`xT5|?EBuea&%;lf@f=|O^!1CKZYPyXA+k$llvG^J5_+4Rcc;58 z0=*CEUOK!Nl2mJLJ=DR{VJzvE187F&z<%XGi@e~DIzqOlmx9rc4nbVu8-#N4qAYX) zQ|(AYk&DEY30%;TDfbSvL(f*BDvM5MN09Ku%_KQ-Q%J;Z?;)6!Tnvtf;Rw&%yqNt9 zCN}BySg1F%<}e?U$+Wsvat_L=_&Al>w8hy8Op92^OL|Z6=Slpaj7ZelFHvCc^dk-Inuk7t(E z#(C!CWgWj1Km*r>29b`?E=IVe?6Ys-*DIR7&d|- z>mGQbourgnOz#D7sL5qw-f!Tjb>iL#S;pXa5e_|MdpUZIgq7*WLi$Sx4RoN!ZFRG60)aFtq9vbSjo#y2v{{zU85AR((-MyK&KbY=5cw#?01p(Ed+4SB+`0&l;)w#xR zo)AzJ@5Ts0@@^S>26>lQa*U6557(sn-$De*O(Acly+4BKAZAV&pJX})FNb4`b1(Q5 z-$y|E5JTKNrgM2d#9&SLcjR)&U5ziPRHc5LnFP)iOH4@j^opJ|XW!MYHAzmV@s zR=!^dI*zBHUjx}g-8mR5+gP{2D=xT`AwL-#3i6s|qk7F!9UK;H~(tRiXl(ezBb*B3#a7yA}#24|*w+?R)da;g<`vH(O^bef~P9x17BgWvB zQh@id0RN0&31J#+i(K`Yyn|t}OPDvvIHva(5SeQ!L(ITP4R40Q2K*Hun%gow`~x6G zFs?Vf4*|*L7ue1*<+bQd-rsw)JQZ3abc_i0s+6h6#*fOvVYCSveki%RWgB%L&v7~5ycxxbodt`dD)6p zWrQ}7FcRoDs%V!7z^A}6F{+rGz5{^gcT-PZM^XjYGx4LH7M!)Y#<*w0!JbR9PXhhE z;Oir^<9V3z43dArx{)%lunRpU$tw;>?~Y@FeDd=<9J_=N0f+{rYNZp$1z36VrlB#rWN z#9eRak%ylJc`#*~p=GH~cg4(V_Y{hSYyr)u1GOMYF( zSUp6=`rFXObd&;M_>)5{Cg#^R&O&ZGS$?uiC6`+z{UwOve-=OL-VMv`W3ij=8a%ut z5_3;ez^QoPd~y>Sl6wXrMRFd}KxZ6;^dkggR~*Dz3s($7Sh;X~Q#fdSgO&Ic%EU@6 z4gh`thyy?|0K@@cO#p~P`Zcs^-1LNgjpxCb+=dl+`RyWRDAueqgj>(2;jl1{2&L7& zb}jNoT4!V29pF>0KiAQ_o;Kan0V;hBg8v-y_iES-ahII!4l-2jlY6y9kFw-sY|{4X z=pAq31cxmL*cGjh2Z{nGrL-5yNJYN=C{E>3R#D z5X){VWMSL0ym}-9^Gq>O2J+ZwyN6&FidTa~FFye7wnEGCGl%25ayYI=LJXPK>K9E26Lgc@&*cyTq_TZ`bDdY#~&TKo=EMAVl zA%YU(XHXj?a2+~tQ(8~Py$Cc}6}|%DRw<1AKF3Y_m!-9PG_CD*TC>gK73FEY4PIwa zkS%FRY*%DY#xG)mbh5jc5?@j;UPD1JjNOium(nBY+pOE18>Y-6W@yQQv%%DKQ&5dH zxw*O607tPAKS?L!HQ{MG14AI;NwErgG&Bjp`T(Ea1W+Rp_LEGjn`!iuJqDBxI_NaH z3902>i=<_`;WFCc>I(-KCyRrP7)gZb-L_*gFcr3w}y58RiRL{tN-6+;lfQil2` z7G5Y8AU{RR+#Jf}O{B9)vV?x11wO1}D(adDHReLL%+H`$ZS!z3&gYSeSv~LtK1{2< zX5d`7Vgnch*=9d~TRXi;V2LwMT}@bbB*eMLA6NvWth0AttptHlA7=jZ^ zU`q(Ll)yn*s-5h&!R{~H+W5)5&-CQX@#vlAF zekSR6ujEn=%oGRD0VvmQVDM>8>Kr!?1H-Ux=BoXkiN@+p?al6FWZRp9AN3+~J6|SRa~-L=*um zI|k^gGY|&=bSVlD2PUewfR$Jm&RWIO3I?I4E$W#T_2Bx(5*ZFgacZg;5I<~ z%TXqt3s=&aeU1P+;{L9Ry?5x@+ zA8%ZHtFj5mfN{?~>K;d&!=h1xB|9JaM?3x!D+$J_w)-&DgBHDx0BR4z`4j>?1>dOf z=FUmVk?CwujywzBLz#h72MjwuELCfS0?`@+B-&a`ODLM#*b| zj(nkt9C$BMUe-C&Sb+Rt2`Xhy?&e&#g z;LL%$EgrG#CM`xctR(a6bpdYa9;bcX@KM?{Ui(z?c5B6GLL5t!Xe4Y+er(D^g>t3h z*&HUv#F_UrEP^Cg9@Mh+ph*&Ryy-rV{N_iC|D+Cqf-}M*knG>cIXMt!WNcv|=BN;r>R2JH7isj#qvI$M_BY)ZnNFGbyO{3l01GkG zeFINqr-Ceu`%)yX0ulGOI_~enxG#?)1H)Iw0;3F7u0R=$9)i*63cNTdcJv%!b!<(R z7tMblQkfVT{FW@pJirB+?NG0ZIOUogqU~!LV(V-hLgN`?)0{NKHa2;PO^e4hm6>q= zgv_BA`ZHC~Wx5~W>ESRk*E;(zCMl;M;s9_-0EiyO)$AO7m z=YBHLHe-ia%iKwcwub8;9p8%)8iEM*K48PBV7eI5)h!-_qVU5u_OO z@=IhrCkfS=_wKd_89g!Xz1@0oQV%4AdOuB)-G$_?!LGe~KM+aYo%_*&y`K>(3e}6l zYevsZp<4aDZBD0TRj=%H92tJNx#8&Eq@+ox_hK^qo5KWNJ1n!Z_fBEhHS*HQyQpBbY)>}?}$(n5}rM`3dwmd?RIYOOo?r7TK~mftfGKDHP^eC zjLsLTEiYg3pjO}c^9R03A@AK>bp?4(x_j#7y{I;bMX2{GFz7i@Vl}o8Z0!AuWc9P3 z-SKO^*j)q_8T5XQygP;JxeMOCgN#19_=mUm9wpR-dVdL?JvBly;h2Z+>U~j4Z{mH< zJ-x${9EIxr6VRU5rHJhGt(z&?yd%HidNy7d>mcMB<@-b0w?-9kFjaO9cb@t=E&kG5m-s?$nijaK4`}(hXe!P zFLvg@XzAgX{JIyX9*mwnKo$4nlk^y80X6}Ro_PX}55XA(rwKSY1X~H#3YZPSNd*6j z(u(^#g^UBKHy@LhuA1so2+-xEZ0N8XJ91cfJ7gFtzF2ySNd z69hax1bW~yjo>N) zw+lg>4mWz(&f@<5AvlZRQUQ++LA>K&^x(`oC1J%G|0{|kUEdYBYoyrRWU@RX1zYzd4>;T|6vZe>?hyn1b0N4WxfY$_gs|0X7 zSkv=d36Q~FolcS?K3oJ)({pEufLKk>H%q`<0-$3L68XIVpDO`x6Ud#WnZ6^w725X) z@g1gpkBVkudA0XW>??f?|mqskMLl$snS*lra@ zMm4cQ%Jjd1Dxx?3I0T7t+(rimC7iFXfX;d`e!#aH!j}OH>ef~+sy25g@VfK(s#sL+6z174n#i`dgtbL zj{9w)cXke!WI3+M^#ijxa7+vwErDZF;Fzo({&wJDsYCRThjZ2rJa>TJ?R?xWegZ|9 zs~$wQZG2L+xSEA$_H$qx^M;sOr++j!3|$qJo5g)n14|89=fZf+wi*m?A(#{zgY&V1 zIv!e4(y_h8cy!2k7we!B&+>0%zW7pr?SC(Ds@OpU&D-&oAiC5S%a}1{y7`29ML0c& zFB7X*hk0;Hr0|w9dYAHfJC=C0kI8H7Ja8dExY*vbZx4Zx{TyDTrL$6|SN0vM#g?-pa?J<`AFaDdMfW z?GMBft*w*f)frGsQ9$rsZE zu&+RYIPv2vetanI+FIpyLgo`;8LUSvo{q08kcsPUzR z1h*S8)yYZKr(vJMSjzateGq|%d!{%fk<|1>i` zm-<{_woZ(A!Iym|)-#M9!JqXLl}b29-N~p2ha}SJB3?7*Nm925TrGEh`pC;MIGor? zbm$%cw4(0Wg9ifS#qde1wiWwwUW=_qxp=YIU=B`W*szk`Pk)wC3j}fY@On614o?`izih1u)Q7xUa;?}B5sCA zCI@eW>9Y$~bIxpCd^Fc(u*Q?*_Z%k26LQxYOi?>1^Kss8a}-?iS%)}woJXAELs(() zjt1y>81PaxVsB`ZccZ+*9*l)6>uCe_`SI}z;fPhAaI^on>FmSi;O(@-$AVFN6JPgF z=F@7k)4v0SE_v8^XBS{7gWttv}8C!B0DkM zKead(;vOT<&tm&3nV(G~e?DBvk&ce0b8M<@75iLSg`7@nIWnb_RM4*l0Q=ppbgvw+{_d|4P6fW znC@Unba&{_lovDIJ?S+2Nm@J}guFd9=^jfxW1M{-Idgqf9LQ%C-^bwDNQ~Ra(mMg< zW%+G$oLv(-b5+)WgoEyW(vhV&0Q@8X!~r=2d9lP;F7Lgd{Fw5Rl=XhAyngiY zd66{A%dC{^haaC8NvW*|_@oxZfk7&ZQXTOt8)AA`r(~J%eipomY@kkIkCUZ<_S(%+ zrsE%p3W{s`Su#C9ut&HhjqPr;G+@-B3lKVp9xkcQrKKHzRVgY1Wpt^DcYr@X)A3I) zkr1kFz>U3}2|Zvdp*Kn>mZNY>OoQ#;1FyT1wfRK+ zXn~mDzI8}+{uL-w$KT92-r+z^?=bu>Grc3!<48Uls~f7_RY7#ee?BCy4Ee2ukVR$4 zUnGR=DnrIkXW~q+GNg?m?($I~(ZY%CjFmHKSGD?yQZ;fdm^`0^h#fdb!Ud*xGzm^ZhH;}Bu5#GtoJhuRkQb(Zu1bDu z>CcL$kJk%O@&COPQ{8K?HfYuHMRmob@I|K^OH>jrs$A!KY z`%ZDCLErM%A+Ahv{f%%b=H8Le673}W|D|~D!~FO+2BeT!$>LN-!th?D>iBn)o%n=Z z2QDA7{3j(1X$6wT!Tw7?hVFpL^gCw2^#fYdC&P~NRAj;SPC@O%z5dwsIt6~*rfj=K zIC$jX96a3t{Gk7}4Xy$1OS_8mL`iooV8=Zjzn1K>rx#*(9dG9J0jY`Yj4coL@bdo+ zJnP}1A04EDtuF4N*W!v;Y30?xP`%~%UQIf+j!tF z!ZjdPvbW5xkH*T?BEsb`_t6MClM}nA1bLa%-C$0f)K;8aMtG>d8ij)o@1kbHiKN^yGW$URAd(?XdYu%xdvhENH??S*^!C^z~ccR4gkXeAP#J= zW0S;@MK8BcGkGE)5eMg5n^02wp-!ZeLRo{ie!q-@Zcn%BRmxfnD4V;xhfinS=tR?r zr#EKYQ^D|hLdkdrCpP^%kZaZ1?wgS1wwm0oc=_ZV(7UIBw)Iq;zR1YoG#%`k?%9wp zKe5CaR~44{q8=+sCngJaXmD(ApMkvlvktrcjNPKNh|^Qums70rNLI79? zR=q;4e<$ROiN(;hY>b%xJwik?q2^;4vdEv}l5e&=a>Ef?;i`N*6Qg7*z{ZPgJS!t* zV0kPF_p=m1$QXT6C#I_+p{gUHvum=(*?e$l7qrrnws7qPM>NKc)je@5u^0u?Q+Fsm z13gTt_%P;8nD!6ch_eeN^}C1TRGhQLd4y*fO1t>)TctXbuOAmxbk@`=wWRK6&2=mT z|32u?;-^To{*F=VL+Plj^0#|GQ*xymNB54VGGkpCOFQZnqP*QROz#ZDN_Ro|$}vtM z$_vHtQz+M9&hCS3=uy=3LF_8wU8kQjH){bF`x(MEMSZZJKMKzSS(kW4qggx?;mP6v zesMeYARg_t`RRjCB0}6d3*N%-a*g=J^6sb?a{5yd!NAqW{Rfd{ZwN%`t`|nCJIuO~ zn7YI)n^5Bde(hq>envItM@#*;L0&u?Iw={{&1!SR0F?a3>S9Z!GYFi=t;Y`BfymR3EdyislLSbyij6?Dmn0L zah^-(Z|EHS4oXB`L;JQA&0{Q@f8jlX_92G2KPH#7dp{mBUxaS9B7>!5u;fL1_bSG- zJibKlepR_Q(T(k7;@8oAy}0|C50x3q`v&oEDw^BqmJC_m9dOJ0s482QcPD@W$(QBb zO}Avs^6sHqa%Ooyf?H+4^1e;?ckqM6Z>IYe<-U(@$sKiU^3Fx$V3fCeIRdawnJVIJ z1=fm3Af)4d4tjHNLak6EfctsY1aX=YhJ|Aix?cd^H-L7Ro!aDH1_mtZ7ZD;wDh>cI z1%NmJyc_`H0Pq5VBT)8UW$|@LB+f1HkJ6APyV?{3U<_ z4qdSZ$!C}7@NPf~0}N6GtjF3bbeOmEX?fq$lCTgZbK*cc7@sIW901S(C_o$lej5Pd zxZLc24nP54{c^7aQ?CP-PZr+?h^tVl@mWU06T4}OpEv-#6#(J@!0N$w)}@}v31x+O zUu3a?fOSR)=+Fdodgo~ZRwTZBuWD33z3%xs36%I zDMeFNqj~0;%)k332+@%}Hdh<<>-V?j{GKA4E~~$1@_i#VV(h2QnTg>l>nEmHeW;=) zu5qUt-VX#92TI!8j0o6B#r5cP;5@lEOcoh3R)G=h8q51DCjwItMu#G((>`G#J%QMF ztRWbOpnc(GC6Kb~RW5HGa+J(XalG|#aMe*{NWj6Q^LD0o1WV%0F!Y6AM~?ufvvJyL zHP1^Mvlgj6CHAe$fiGiU;vNRuiv`Jj@bFK77Syl^(-63e7lG$md;t`J-UcQf%TL6W zz*q!+5-DSS(p!!o<*6S0Bb3#i@qR&lfIrvqc=`ot;oY`_n81Bt>fugo$A6ef9S-(M zQ_`-9$pN(5c-y(NwmV|(C*y73_{pqsb0@{yVu!DBda(&+D5w`Q;jEEK|M^#ccUJFB z@W|8;ahsomY~y4c=?ge@$t3~QwyK#MdLMkaG9bJQ);5@3j~Y{`12q`3w}b%KSAJ_ z|6~aMi6Bpt#r$VOa2xo0ekR~cAvlBJZ34a#f-MBUDj;_uMRN<938Kw`r@Uzf6)%;S*Q)0yq^h+Dw?|0*dT3JB zXc@Nqi{aNh{puY4Lsc_=TUC$Rfc2ePbLJe}Ba6TC#l@%Df;x*&V!$!PMulU_YN!Om z5ks!s7f1l}gj%HxtvFhWFA?8ePq+s^K5tYN#(u)f&oJ61#A`UT}(5O%ix8FOW?v)3|N?d3WA2OAz#X>z#_zQ=N@5ID0@#j zXUyD(Tfwvu)dto}jKh$A@iN5320~9G0JF6}=3UMd;^{^80u00js7s_5{R?I#9@}<; zW5(h!^%3df2!*%;G0eDpMn=9R&NuPIu&~V9x<9{UyQLQ(S-5|=aYOgq9pN~t?%eLV zQ{Y(j^y%Hb$DuK6u=ifJ1s=cyF!S(r-Mx?}h}!!h1D{uc%@=;CSPUI}S$FSG6&1nW z>7=?%QC+?3qV0O`QmIpt-Us0Bxk3dlefb4<;K#he8y`S&)B)elbKb?K66?9ZK2@LsTs2B86TV zqIIO5rO<0b^sm%wqe5>8(U*z-i@LM@TSN30L@`7odS{5T)9HCaq4$O8SBbJ)0qsvi z^gN>1D|9$O3#ay649F?I9Ms?*%IXw<6Z$ENQ+ze_W1#~6H$y*0U-17f^kdox|LdXu zUi#C;w?g3C0Qh|gFiN)0S>EX2M*dc}_;yI}r3e9TcvqX{le$)>?B?JKkt0*F)?+%^ z6I_W_m){2rCu+hL)h6Am5YQMOaXKd8*GR?F+sl4X^-enI>%hGWOt@$1v`>M)j{rF4aS{3FPRI7&S(+OGPJ!?noM5y+DzTV{orU*BP@ z#(SbO@km;;?@oR6F&cDB%nxT7a<`lj{G=c()%hlV@3?A2mHdqVW$}` z*MHbYuZHZ{)=6P^vkP?%3wcQYA}mRF*p6YDZ&h zvfvEHu7NDJd{6Hv)(y#?1`&_0> z&tzduP1Lx5Q^2+hXKj*A3^?gVgXR2*b2a{%e$O^IVY35%yssdy{%-W{8F~+;_sGz@ zir&?scP+hxfj7I<|03M-uKEzmireX9iSEcY-j;c%9hU9QX(^VFUL9hOd0})0=nvzmo-S(+BE3iKu|$ zE_u)7FY<01Co$jDKaP$li72C6N4JZYFK|zk>F){h2vmCedt1EyEmXnV--?Rox732Y zyFVEXPb~8XM%$7@m@dxdLlbTsl-Zk=&9wYAOj1H@3Bl2=&jYfh_}y`&75R6A{BnjN zu(hIG@>1HyC6(A;FKrQIOh*_gu}j<_KqHw_C%dvT;4ie_qIU8Gl~TJDio}Q((3qT+ zoG2wFr|f@Gz4%ZCIl2k_x;1pFZz4^mGvj9P$e!xX#A6VfUzm$88{$*mJ6B8Iuv67Q zWI0M40Gt322Y^@rhyyw^Wxe2NmbuHzJCmw{aKNL`VQg=ydYqB#0)t~*YlxfP&!C{vF)o&~W!!|g$1<+ZMF7)HLc?MS<&=f0 z@v81=;C$3-)2$~N&mrU5L^$(^e>DTdrw?e1*8$&?81!it4-3E#CCiQymgUNhrA#8_ zn=DMMIV98D)|)ONO!auSr2|vU$Z>106G37ZO=BwZGLw1f`yyDf)F;52P*legfv*L> zY-bzZt}vu-;+}fjU5aqDlkNDh-LHW}jDk#ibyx{R31E>z6^S@n{AZCH>eA#nI{5=P zu}%NMteB-QG;6c7ASgcZvz@pxX73v9uyKEzEm;}6XJsOq{ zMg?qOz-XAmDb&8=S|+OM)*R%BYjwEas2Qj}#ExrS^6)wSTT+x<66P%grQmk@*jwD@^n-G(=S4o<;Pqu)~ zvf$duS1V5RtM%4;W7_O+Y={Y_s<7ffnpluifH+XzXM-bboyz+4kSx80B^RH?nytpf zr{no))&oIRHE{f?pfJ6Oh_2dvST9@&prmE>!p_f)WKHg7TaV->O2|N!OFOcQHg2z&f-<8ajzBp3%ka>Ha_vm({JFJ z-#)IsIauh7SKcJK0_HrwNW(5hXzGqxfw2!yOXPEQPI?KS@_tl)d!ggpGJw|4^^xB}1gzC{O2;*EH=wjGs+jlBuZU~d%P zm~1i6R z0;;aZA)3UOo7KfQHKtr=h3{&rHMqv=bR)Wt;K)Nxy_kh>jW))6ZbNSHA-4ENd?eJ# z*QKicZ$mq3RW5^1lqOn_4%6*VC3M30bZB)--z|tJ9G|Kv{GhTDLQUfFA!d9dDpi}_ zmaO^3K22ARv%MH-G};^8gP>rI>hC(IYPuc;ImfvwAjk9)ng}WI>(ME^Shi>hN(pbu zU>t>`5Hchv4H;)crQ4MPf`KE;lKtl=q1+Rs4pM-mmA9=81ry%_lPec%V*ah6BGR=z z7)uyfhp3H3GGXx=FMRG*lE;kfHbiK&6Y7(|_zLV-P}2M!Cq!b=P3W%2s?LuQH;THS4NtysFXU22j4e2G*hB1nz%5gD?ot9dc4NOs6QJDAEZ`T*bOiutb~mMRf_ z20-*`8rx!!&p&ez8x6L)P|Oi`)*20=7wH1?yoo!LgWJcfEY_Jr)Ln++ng0OvZz<=U zY!$;-BcrN;2b9(*%)&j)EQCtBN{n=EW6)J%q@#i>`Bh@1V*yptRbr&OatyjkjC5Cw zL05^9?(#9{DlyVsHU?cKM!HMKpsU14cgYxZl^EzO^(|o(H@ekrrR1%wsvW2^9E%O( z$-l}XUT~Lyi{aAKtv3d<|Y7sHB*5-QBC)Nx@(rIxT6 zQlSrQ*YX_NcBs0r|NKti4Ax@#MBoItVtw}_3-dAY&|eFz4Zf*PD;`g{?8W9ki+sV{ zP;CnyrCT+K`{7I|=N)ubw1YxJqOujtQQs*q%!r90Dd2#PxDjc)Zg96-b(2+PXiSO zTi-_4i3`Dc&;kwIswiWFy2OSRFjI@q0me(invj!5JKb2FI|lt=?h{U`dZYBYg(mcQ z>PAe#zQcaF8JmmM{J+s+Am@ncI>!_`5Pq{8th??J0&S$Ko1mfkR5gOJTa>a9eg$&l zz`pNSx~Or{5$LMY7&y8&b4Y;aEqpE=#?F|U`3=!tmR2m@pjGCZwJ?##a14U+-^5`2 zCl1wKW+0oj(vKYts?x3Nyv>odMrP3Jay5+QNfTb)CZ6p;!;9ETv2Ued0WD^$6~W&f zg>bOK_tMBh+4FLSm?Bs3_}(bw`$R5}ia`X&XCi`0%IQEf890=ZJ(xPeCZ-7C-G<2J znLd?5`YOEi+F$h2HytP{j8e2yv@m;1IMssASs%B@^Tbg1mU;t=b?#&|ZeCP3Ar@CD z^0vC0uuxjMt?u=hn#XfYxe7dr?_w7v=~x5b$0;!tNvb!_D!zx1;_Z;a1#!;B%uc?D z=AMcyH@WB!BjW8y@q)sWaSy&pjTJ zo0lERPP%UqQKy(9QJ+Ztdf#?RrqO-iTKy(9QX;@xHAi67GRWX(z z%gp&M_zy#7aL*UEQvP6pFQds|^SGQ2pq$J1;ECo7!*eB2??+I0l1G+)3kR+k{u;A11D z&$;t{g!>U0ht29n@WJC|RG7kxV}BwojYGsLf0K;%#cHpt#pk)BEY8Epi!tM^zRyEh zJbRAMRjXs>$|KXwYJr|JdX5m#Gp zR1iexsV%%7BfE5_dk;WqUkKs)F8UwK`y(b()O-yY})w=G`L4_OKXdyKFBw;yR6GAv#)K)^5yxhWxKKoG`DGjrJv~ z?X2W+`kz1&bpwe`lq>(JQargQRf;eF233kD)mVq72X#ms05Dfkl}a3?N_Q`~a~_Y~S^kNXgr&hg68+=*Ay9|3|nrd{-qtz;7x!nnSOiG@5foH^xca-T3g zE@>0yGk`nHzVl#R@T$Y)xYvz<;mz>M96saChUHpwuYI{^A3>5JznY9$X=G;(|$z8ee!MI)Dqkxa6A(fik3iGrpwZ3(ow#%v@}YIlq|bC0z}I&X$OkY@ z;8n;Se541kcFX$!s*PhY=D=(feMSUUKi|RQe*9OG$?(qO@XmCfV)FgWs)w_N$@Id9 zgzO2zB2@t+KxW4a2m5$K(gsmN|L0JO?%aISeG<{K7=wu#O3^0Do2&jp3=cK4gOIo^ zc)Guol)9M$UxsMz+|_h{1q@e|4Pp(wET_4g8aqaFpMyp)Y1VY6`yAqmTJZ5KFwJf> z-H^{V8OC=U1^^Y@E(=kt~RTD8!_S=VnDPxjnqJ9~e1c@KYq8 zEdGpD(sZ|Hu71v1nL8C`@E35Qc|3yYd-GAvol}*w(5T8>Mlo1iK_8s6`4SXXjfFOI zR0iMMk~$EjslsY)zBZO9p2Jig1#ixaC9iyqCm~-mL#mGrIP$2gy_)8{{+d8Y?E~4z3)QY z>Dvo~RD9e_F4%xUV0D6lT}d+Beyh&c8AfZXvCTH12UR zKn5=lmlmDxFU7sTgVxC`PlD5vh*9{CI)RKusNhRY>21g75a-t<#OHjH={fIfU3D3U zoLABnItybh^HF>Xj0Tt)U5%z8s@ja~`2vW77c!*5<0=xg^}HWb?cdEpz*>kr7f){< ze&XH^_-*cR-tIsTVF^Gp(F((bPzV_}gA1O9su6<>h2_#6DR`_IZ~;til;HM|j`E#8ZG3~Z0c zWj#W%)C>rMDfY z=vRSWPMNa4;Mjs;Of>4ZF($Krq;Kb)m79aFV~#P}i7oY?Ml5yYlOk~;;16I5MK7Rt z9tw*NFOFi01oj4jba=Fkk-!~-Ksuy=v5wroke*jWV``4WHE+lQyRaBRN%KrTus7m} z!kz9nRUFHE6_L#TMU4L%oEi6Z;li;$`~0)P0~Z=h@Q_cle+kH7;K{2t7Vkd7!r|Kf zrSRo(0I)GdJqA!*SX96*0%{advbtm9RVQNpqwQc6xv1d#&UdKS7z+Pp5Bb9xkl- zuPy%(=AT_n!;fxJp~MfBXWmU8qF9Eh?TV{+EgOo&32?t5?Cs$W)sOILexs-0uUJ9< z_)8qLw*qOp3DX8#Nk2SEpQ2V-6xOeZQUA5_cchX9jM?}s_?QITI~jab0`8j(J{B;7 zaQ*ug-X6EQ{+%A=c!j9vFb6VHy`h)2KmY3E2FH(o?&qX}@*(0tcVs%Mi^SWA}ALj4}(a9p`he6xZ#>lsUm?vm^s6Wn* zlhvPW+497)$~K5D0y`aMTycDe=0VWBPHiHar+JQ6Pa!%NYE@SH&*Pi9 z#r%UTWxK`f>Q%2dyvosDA74e;xPDV*?8+~vdyJaz^v7>g6FU;J^jvC4m|RpEJ(a!U zPZE@zl(bQ(3ntCbP_W0 zF9|KRNx8G)t+=^bn@6>A$D?cS`FMoT3>#D8uFu3(w~)p)cYFzg_aP`B%ji@&)^%>f2FSFkNmVjzu6h|yB27Iw&!#yi6)P`C{pQREu0CDsX)2{ zQ|VPuAAXUL=80kk8ESsIn6Lg=TnL<*l!yDl&jji~X$2Tn)Bc5#bsjcD_)}lPO4a`S z#z{o4vd?BMnjS}f^=xILx2GY^lL04fk^+~n6#b6M?c8qmLAz1xv~y7V+@Dm?&M{s- zmyk(wQA?OETVFS;3^)fkXbeo6qPu$B?S)A_#=i3i^{y$3>1d)nEh8;gME&{zyQ}^Cx*!$MW8g&A?booB~#S zy_#0?oL?s5_UN4q2!6S_0i-n_fJLgLxQU(%E6p=-`3?QnIv@Eap^n&gh_zm%ZgXKH zw~*bao4)C@ zoAd>~^~)&tTWccDjLXhWm2F>rqw}=>iQcBQl#88s{_(iBP)p;Q=O2%2Yq&J7c@%dD zd9r@#cZb?pt#r``e~n&p)Zcsq#Szp8sS)ms$&0|%U(#({O#ah$6OMt!-lCK#)^TE+ zh?<|;JX#}XR>g6v_I#ykl0D=3JB3L3an}k;C6s!~^)J5nPM17NX-&)qv5sC<8EtW= zoAv^hC_S|SQ(f%TsSdPRAlr@!*U`)(bltLgra7IdNGD_4hEDW#0(Zi8Gr&bz+6FQO zZ+LKv_T+x_97MHqKPu?6_iOEV*?w)OcvSUsp=ATCIRKoO0?Yy6{1jjg0MAPS<^XU( z3NVMpH(&cE-Ycme+)2o2s5pa^XbP9?1h%rH$hd%0KBqcIhTUu){XS}c5j}R*Y`vM} zU#)T~hQ7>T(Jw@^!p;9k;=9|AFO*BYtjMW;7*dq?Rwa;Z1`S~rfU4Y97V zKgVTKqs$PSi84vdtg$)SN>P@eN%i95g-?@%=q(nc1{Lm*|BjYF(f0pK3lN#Ex$OGk z2qUHHNHrh%8r)cUT58&F7rm^SGN^StOIf^@_`5C(o?KB8*Iwwvy64LOQ7N38LElv= zyicXjQu!v00iN9aVW~HKY%2S}`xx+bs=ITY9BeNssV>_PRdlk+OWJNH;8XCMXcMH{ z@o&6r{28)z*%@>pwigwh*orkAZ8W#_aUa6DA==aixRNwoy7XjzLw&bqQu=0RQdR_m z(K{@vdY8dy4~@d><9m^aTWhLEpa`vBK9{flxC@zvHzU!kGleQPuaGlQA-zcMMc{62 z#%(8^OndY`ngkiKPjsK--RD?7>VY?dX+w)S0BlJC<^XVI3NQzN7pDMoFjo>kQ3sqk z{sY;Y@cOJz5l`s<^qH*xQygqj5Xq&`+tuS=trSqz89kmDD~36KoB~c7zlZ&XvTLeB zJ0GBlH2rj2M;M+!wt5P4SIdrNLsFmzQsRAG-OGbQ?YTRv3BQsMeS$iGc2IFvcXzv3 z%V!m;XbM}2R_=73tfue=|7ykI=1Z4p3cJ=_$sE~bVsdIrXI9 zP;tf&O==HE!F#e$xLTsks1aKnXs(u*twj4v$ow8M^U_5}Xk<|Cg~ve8b&6>C!sA*# zw-&J^=7xFro4XuMWjl#aBxKKC)o$F_o}R*8$!X6=MjuLMj7?ZhXN=94%ELPyMDpte z73Epx#G+X-JO`(h-!gLH)}mX%-+2xt=(EqE+VTEC`K4>vo#IhzuYs0TbaMc>HU*di zz;!9W9MUmKkIiNvQ-U*LIqHV_Vg<|UJd9V2P6AZR9$WkAWZe>{%Uqw;>+QBI?X&WB zUQmTMel^L(S0dx~5>HYy%N$PF8p>SK9IGWsKiou`RhAh%=&Al*bs^PvI(qj`PfrWK zbgVlYcM$bLPcPNJ0H4$A&KDfW#VyD}!(75IX=!YEE_~mFJX~5&Wa~%6cu$tOuH3Ui zL&;}C6XS`laf*`9$!e8XKGMlb>0LG{y%}Sf`j|~Gsb|xrciJw}^Bbxo>Z|q5^wr6} zeU=a3Lm6WEPHXgZDV@5Dl+-7>ybXBe%z59nz&WSp*1CznR5Vea)iSiRGgL&;9&Nf) zw6iJQk~ep`liB)sB{Fj3iK-XJ_pTo2n<%YqjeRibny$%(%p{T8YQLe@J87A%cr}i5 zN|9Ql8eYJ6%Cb7iSIJwHoL4;%b=_s)u~YdnB`+P^g{1cywV{SU(X2Fg{g%5g?IL$< zPQ4oRAbKSTk!DX53%PMbW$&nVhO;fMmfeNuVuf+0T|Sew?Wgv7sm_|@z4hze{usvY zqU#|TzFbW5GQF70Fnxpk;A`)Za~d9Vp?;e#Fi5r8=`m1y-oVggQ-*>~DeXAb>Vpf> z2{5#WQuo%qX5FSfh7^&%Y@dYT|TCUYULMf^VR}`Zq&={`G9&v$w zL*$}Wptz|@8;RR$<_RL%6Sm2VA4-xLLJryxFVTRNGRhhGI6E_3jCf&`+WcbTK*KW+Pwhz# z{{%Zq?B*ngf1F6{RX*-wa576`+42AqX8~iUt0sDR?T>4w z{7F|#~yxoa=VsH_TRs~*S%qb(9}ECts`#U@F-BEM4Kw5mz%Qt@z2r%pRBPLQ-Sg zJc6s7US+j6Q+4F>TzCR=1NJC+?&K;M8J-QiU#jRjHI~=;DK)rg z7iX*5VN=dl-RIk}%;pWGJ5QYd$a-lvqy_xF5qeX;{eS4bLeU@&w z?mP-JCAMMsz_fwWlPV!2RNgpHXr)}prmXI_zo78`LTSY#?Z&P%F4`*?IWg@YKkOa; zS8qsl-}gT3T{y4fK-DSK_DQ>c6RBa;r`&uq4!(vm{d^?`b9xoF~e8D zgcicvL_voM%yD@-)&$MBh++`!r=Ie5A-OgB0i^#X)rBCu0TK*2LX6gerfH>l_QjJA zKSjNFt)zX_I_cN$Ob~UZ->IanU1R4vyit7dy-8ovQvZAg-#05wN4_1)n)y_ytCD_0 zOxp{1ybx(UK<`Ak&z`jFc2C;1?~q~DTVoTZM7`pA_lBKbSX_I8>l?1jB$1^aeNRjx zJe&PVuNX+L>}@k%+cPH)lgl1}EX1%xcVwV^7VdC*E@K|TES1fXC`z8*H zbo9*Wt&|I0nC`GQd$;S-xZO&_@&`lIaIda+|3KKY!RGRPX9deBojk|8&91d=Pg|4l z9`CN-NKV`gV4P$C>el6OubE?Ul&in&Dy?{@TNA$zo|qKUuTH31aVB%Q4zQTb_8$W2 zDcsLgCu29F)>jDgI_dZVs7te+cSibTF=y!NXfbVB{l=+Dzj6Pfbnq{`=O1VL7&5*M z%7w(BMtQV9cmI;BR5@+i|RT3UB&`t zh%7P2P5L!V&{(RQSqXGlbsFfY^!N9;N1%K2{k_H~0IOk-Kk^%jzrV*l^4!e_!Xy5Z$`d<#+3A~*=2gg@u6J8w@%8>gi{m$wy15wY8T_t?JeJ`SOk1 zB}o--zSMSCj>|TJbp?CSH`)U#S$WUO_s{x=7^27Rpew-YT*u;rI_4lF+&6bDet+tI zx?}eRehT+@zt_37A8-V?cT$FdRT)`WK*ZQ?!a^b3j0RSLdJ0Kl@;J`01FJgqQkm$J zz;-68MhB(u^YxCWv)>R{BM?#c&}r;4e8^J7$Y0KPG%@b5MX&|VibH%douIo}#^dQP zCZx0t!pCE9l@&pSo3f<{MOTFx@rbOqZ=L(Ms2>u%I>mxAU zQ|>K9OL6p7X0b%V26%DHAi}}~KrjAf_-j9POD0lImP}pMoO5rC(^>Feg)^S$|dwZ|e&lix1dC7Foe?9I(JmMnKLcJnA>^e%CmFKt6O zPs+*Zp1b%q749ZMSOuw9$!GJ<7Kq8rTk&XiV_(V=+e@TF6JmU+fz47RA1%jWmmYWl zBz!w$lXcEdCa)Bbm929M-q1*!Z|QK~A$s9WmxsbTqLUC~PXSYA`4Y+$JjHxsxC`jY#AI<- zI}pMe)9;4vUE-(O7dTU^XA+kKB~Au@L-Glt735i`*qIhO0HPspvFY z?EsRpc#M2e9{pT(T?4^kzai|1gOJ5&DS%?WGrSvFjdWJKIwKjVto3FaRo<VV&k z2m5mt@J-y@+lb#ZHQ+l0NDDiVFR^GU^|L(M7CjG zf@+PX-mikdHh|cdyK#tnzfdMiwB`Qz*8gbWrQt0Uc$VHNvNA) zM!PeMR37eYu}Uv2Tf106>NG36_urQy+n`kGz-C~7m+pE~k6sH4%IThary}U@s%;3W zr@El(aen-@cF;}m?%~Jh?~@XlMEk2PFb3;Z&FoTohdw7o1XsPfyZVxh?CNz?E8XGM{4zW29w@2+ zSM@VZ+BVSB-{S`C+Km35jD0(J`WDF~>852{q-_5KgT5*j3>toy#G*O4lfSM8^H4zt5 zSrKVA&{3VOwL-cqvfJiA?zY)uugq;xU-U}Ew#~xbo*L2W9($s@w5moe@7`!DEwe_+ ze1KVXzPrC`!?x}HEXPtik7GaWFBD;5mdlPVUu{w@yMwN%3Uj-{0MC_e|@KA(euYXfM5! z4+SfX+?2NyuyT1i)BWc&8V&ThK<4&8QSt63*o?|tX6Fm!oQZuDsP^|UfBq2&z-`9! z1Ln^&+}dDP|173Hvy!zzuM2-0GooI=y~#Q_Dd&QfGvn`+axPdoYoC(Ir_U|);a8;d z+e11oxVxj5lBNE*I~DI${c)$^RP5E=n5ejJrlootXSKyeAQ&EXm_z$V%fY2bt1OVg zR-eP#_YzE}R0yz%Daq;i4RvQfkiPaE5MYY)G&s(naRS&OnvNHyxgMJ&%p0WgwkpVt z)}88qhL;4>wm$apBW;|7hte-$c|j!d(Mou%E!>$#d^|PY<%jv!9q`Z;KgoP+d3+1O zTb1Y0AG1#|HMSGyUHzZn+cm9y?{(Vi|I0@ zJW~_i4?$(1^AVPEP+LRPOh8_ zw9y1|K)$2ejry;XA$=epKe%u5JOZF2;M3U$EeyB&CDy~L(U4~SP4<(zx7b^FfSXgo zo%iOqdM7L;Nb}Xb!1-s@z4|jMvz!US=GhX&KQhmr;mr@z`D&;41?Vxn^_OmXkfJEA zVO`@gF1Xv>(e+;?Y5wa;v`|_M0m0q!wEr&m7I; zEKQ;ZqyBviEG-5;&bPN->|t*vd|J1-)l>CV&hB>hn^3I!TDLb){9x12_0m`pM&FB- z!vZsvZAoB%;kIaBs?_$@6ef){_F#XfQ;}&5h@>J*>h!jW!EV>tX+A-(?`k)>cI%L( z-X*Vdc5I}3VwUgyi(~*F%V}2XbdE4ZRByl}$}vv!u?{xJ`*5ZRXf>ZSDLuf3CND{< z(6znQL47FIAujY5u5syVy|E|helSV*jnrACJClcTNK;CTJ1xF6fj`fWUgg*K1J=B& zC4avmH&;dgYrOS6O3?cd^jt`E00Au0*eo~@R}ej9)emDy3jiGisP>rKKR|HF^4b|T zax&`m7FFH)b<@y}dJhFT>^HwmX$=R>uksmPLfzk=y3hWGuQz1SuDA4erRV@c)DInE z{m{dtJynp}*u0}%W>2)rY?2^bJ<><5&N|+#%`@bCo@{8}2XR-Qb7l+eBa%T-p99Oq z@pmDle6&v4)y?C?e=vTI+zvV~)%Fm2h~b`SJ#e$_q&#ha{=Y)YkfK8fiVo$cSXqJq z4-*9oDMX@X)y?`vs{mje4z%{56ETXMM8uBR5rie{qFLUGgPfd~*N+6eRUESypYw?1 zeN-}?tYb!~Gc!776Oh%CQlDzDG|TFH@|9)G_7g4fY`TuTc~yzGm-{M6AAM(Q$|M5! zcUK440y3qusZ7+OD(}&jM=*Xc?o#+1jXWqpa)~ny$+?hi$#O0T*MjKhszI*OX;H)d z1n3M85COCbA66!{XJQTjA4vh`0PwFVz#PZ>p{x#a&XV7tZhUBddOkAx7%~dBJZb%x z#!rWefq7@C@Wx*fvZJKm=qLnSUG1pkBhiXDtW~UXaDRV1y|ev%B*%?Ew>bK>IGi~j zcVxL`E`$w3L+8k#jVK%q(etQ)n(w>_em<`HXY9g5lCXv}GyTopnIb7gi+sG~x@vYl z-g`eYY9oTjKybvRQ(csg53-Piza1rGO7t9_8!prS{NG7mf2I0fP}+JoLM%JyyX7>? ziuJt}^d9pc18wKO2mf4$`d*y#obz5e;~xy9SpRJPvs$sS{m@A2FwJQEgA7=hN#L=R&*&{J zCQnpI{Zf9z)699XoE!K_n#%EV>I}-U3eJTm>(d#YA}~y`CE?gM2Y|1p0CNCfx7T5q z1Hji)fH?qsBL$cP0ooI(H>+-Q&p@71bez~mFRZ?8Z|cY=)VFYYix=B@r;+}!9G$?I z-JBEoNE>xN@v_@v?Yidr;RRlIa=-WN`boqY_M?;eM9<|Xe4etWHads2(84hfQ~qfH zVkaM+0#a)pLbv2_a^Z!9){mP8Q|*i8Mi#GJmu#nyq_5E1sHkj3%AWf&K9t74scmBN zSh3vm!KIbbg(uQEzOJ$(8)7a9FTf*t}}R)12BR%@~J)SMg%sRk`ciVPXd#bNcdcRb$k5zI4XKxP9f1Iq9p~& zp(qTB^v(9|$=e`O0pZ~ck~?2SKS#|?2nW#_#7x&{yD?_DamMF1^87oUTk{|0$R7O$ z>!LH2Qgjx-NdZJ>C-eVtVsR1{h7Ah1?aLYY4EB=&K)^=r7n<$Vx3;Rrt|) z!aCo`EKA62v2lty!1Dle1i`)N%!Z=sjmbZu_>E~Oy14+AL9hFa9_jUy1>6^Udv9}Y zEd7zIkE$$9uirER=+F1aqb3F%ttQ(+%{}8D6Xa(p29tlW&*maX?$UgaE1J2Zi-@_2#lB z{W6|c_v3en_3LnAtMa3`A)xy5a^inR_2ouXCJVM`-?cU?{xk@26HBd0HL<|RmwQQ)_H`14T z`&{7aG<$5h@M?rQdcEIx00BggK{lRwASKdxF!j69Q1iz_$O$T)B-f_<^Bc^Db50GoN}?_q z{sArgPdSXlXyXvEGf^^x?C}9JqNnn_2>$iQh-u{(G`|Udetd>ySZ;fP#q1?mao*2C zvE+C|p0&8&5Kfz|+Jg8+t*BOO?V%!9uG9ggc^2v2*Qx_n?xwhO(r^^ZVE}b)vn`0< zJB47oqWG-go8J<{RxkX9+|fZ=Fr6Jg+KT2vLz{1qw)VHwhVp{FX$tDjDG*x$V@j)#}uBnPgV>||s#@oO<4_-dkDu-H+Yk`;2 zsIRJD#xHASzwsSn^_Cyy1r5CO+Xm^rlit-yu_8sN0Ek4)Yy8wU}%@%>3N@yxQItX0jdV zRhVtuKv~EzvTrNlo(i@`)NzcIdM9>E#=57b8S8lEA=O(f@XBMZFHrklO&Ux-vi%jd z4R`9XlColD^K!U%xz@?`TdhikuU3}k$9E{po8tHL@xxaE3){7W`Q?A9fHbu>2hyU9 z)|37hmA>VtSm9o~>j;_r7=^b$2200eFX{Lurs??1luB!Vc%+u*FYuN^|39E#XXl`Z z)`0=MxFcWZx4xMlZ5XekIfdIuX2iGC_%2V)@4D*rh|AOOl&6MZnLI&TbJNrKeo5tI z;Z|7HrGfhn1)EiPR&Fl5?bp)<7-BG@x0Akh^gpKTQqCXY>kME^%q*N+EFSHLd(q~a z-&2(euK`cC!`q-ByjCzy{0gHS?E|t;MKo`;7GDs4mRcKeOuINWfa0i38*s?30`A)t zDMpTz)bZKG6Y?gzoY~m@Ph=N<1IF0o7SBO$wig|MpH|`k^$#mc7rE^E^(*1L`H=EI z7`{g#^W*+?RK0C}gZ-jhw5Mi5J@H~-bxK#y5eUwSGXng-hc-7sv$93<_Loo&9px=k zC7U#9Hhe@7hFnW{{p7gIXDl@nM}{1dLe0_x?SYHvP%6f7Gl(6B0% zYB?YO3Yhb`W_25-MX(BR?rP%vr4D$+HM*WOQ#eS=yq zIY77_$n2cuRA&ecjYsEgbU>fnAZmBkGf?1w;44Ujjl)8B;$+7*<>!E@{8Ypbghvnw z=lQy$f2Slk_{UlO*?^s-Dy4y*N8Sc2fLFD^%LfI1mE%yt+xKMIPdRyZE-SyJ+(n<}D;n#yZ{kq(g)p?d)N& zJa{i#2YBbe*+=*vq+Dk3)t}FQ5C4|~dkO!80`jMM)s1|=s`~a4gp?@4Twz>I=1Qy1 zbw%R}jDaz&WH*5Bd{+I^C*fL^>{h~4pfzwR=4bX$9QiVF@|g$!5;ewED2W$?)s(b)e!82MQ~enYU#c%s#X1_BpgV}a%t%6n@Z8;308*h~5B$ZzHM z?~P-RxOBho(tXO(6>L(ve#1aY+>JrT`N4D=>BtBl()pao_iL1aZ+ja}wt14R9ESBD z;K?Q9ILC+FINlIS!JU|NE0>?719)50{cxhk9`c3`bYnO7x)sqjF`Nu`9xIeyd#rGB z+7JGyL#!PuOBq{5105}53c`OSa~Rl7VAlZSuyUDYVrUo%u-AfE~norc#D?0Jk76HsVS@_>$T*2ElkLNoxYTFXZvn-_;HeH zJ_i3&=Y~l7hXUuCKhmeO$rfAApOI@mYTr()yM9AB?M^lN3gi%^>Jln>kJT*m72z=1 z3)ZtdJ%OL>@)Y=af@fAE4P(b*B{ODq7fhK~aCKd&*XHN34bl)pwV5o!af?T1LOfj# zCX;5={x)j5JZgUc-4f5YTN>uon3Z_n&{C9sjTB{M-!yL#(b5iCy-Zzj>5T3|+8jb*k$MI#V7(}mtvaM37 zgAy%j2R_x__#G5Q-f2l}y`j0p#o#g`_1FKz7*Wh;9y#T-&VLdw`Y8dfXY<3a0?=mK zVm8zITnFcZI5+eiA^#0z_k^Z4@4q)qXGeOv^G)~dc&z2^MN!@%e+_foS|NTV7NmJ3 z^b0Usv}f}2>GIRx9==kgBEHq9e^d1@C`P|z`iP!}-+BZS&lbK}Gr}?7Aup20`0>rA z+_yx}gvIiuul^%w(XgXO`R3~F%8z<6e|@Bve#E@Jo_0f1NR!apHwSR z+56r)c+($eIe!i`+JtDFbIWSB<2mRWgpVNr+QC@_g+GzIA!0$a5432EiZ_ZjN8c%t z8cHdM_H85buF*FjVfA7Y={_KN8@*_6uq+Xl4NAZOL3E~Z)B+ere$}1{&U1*w(SoVW z6^yyj$19}_o^R|#=d=m#MQol(XeSq)O<*wgW#ezXNrv$!{3$Hg7RNtD;^_j!7*guf zQ>{Ld!1n`%oq8voPDHA6*e0sAc+f-GK?+w?R?VBgkUU#A%AEIbzag;IMfF8Rtp^3+ zV4g}u>%olI-1Rq*mo}c7PC$FBKM!#Da}@%fp8#Wp^vLSHOY6We7|rc;!9_< z4)}fIc}dpu@~r3eEsyA()S_^>-+uWp{7b@C+)D0fYM#22&5~XCl)@GN)l_@uJKV1? z5w?OhkAlSGf%PA>Ag3mfuS3J(%oXHpzhuWT>pyD27fyozss&#>3I5I&oN2D5wXl`e z(ggCB7S5~$@^}m9^aQdMb{#)|p@xa)CtElhghR&bQxX&C&KA}YDb|!M2-duc-OZ;|DA%iwzArjlKM=mEKW#4A8CP( zO+njR5eHJxtu3rWQ_$O6pd(Yzzqdfgr=WMXKt~D00wY(ysRcVkFdFp(X^Pn4e~a#? z&JS;LpWEH%HSY6TeHc7nXWt;a#er{ipWEE$_3rZqeRdDRH|jg7&F)WXgji+OS2a{$ zRZD$U7xh&I)K|4mUsWewqt)!mjxag^0jfBY0t`Tas>q}O0}!CfFe$(Q1gJ_VE!6{k zRrvaZ_6*J-q$|;P99HaCA2bQGrel*)s`IxlRsQnuMr$Cx?tCAu461r=rzY z<;kHbSBRO%4Sq}4&KAc%DcX8%@n|=O;{m2k=hQ$7a7uOuX8QX(4IP>wn*+e_Q-C=} z(YZi}_XemX4W$u1suWVsWAZFvi2kD-nDh@{j3fH1d?#lW+@$aaQNG7-{E=_16t6u* z>t6vg>rfXOeObaD;WqW32=?8)_!P$02O0a_y2Cvd&m%}8U@w_ii7*jR6y0|F1cGA5 z-c)jxepZ6Qv|==nODTwK7Cwr6N})}^?qT|(eWF}x#jN-wc#Pk|k6RY8;QBK}SaAJ? z&*=5>=adKAn6XVXzoFo^9Tl6WF)#Hvbeq_5Vel8uW#J7Pj&4Lw>_CWGX;qytxiVqB zl~cO%s}>fz#)7U&2N#)cB7*FK+(_(;?XiMsA~}xS4xH`NvF3GBD?7ct*^e167RIo+ z&+am=6?3K~o+|wmSMA_|B~MRnFdg(d#jXtBA7SVh78AhPq5vZG=pPrOkFEVNmi$%lM=mBC z_IP4%@vUBfKE}=mOW*Ka%}L!_aTrTyS}U^jXf5n)si@~Ax$@u+c4h*zYsA4l+&N*% zmGRE|-ajDM1GVA2vuJxO7ya+6j$5EE)-qOG&{#QkYgSwMCKAp~oHkj)uWdkpWsLYpbx?}^RP0+Hc z7~V{fy13A~@cHo`kV5~qpD0ewAv;x<`a5gYW=84J4u%XCgf;&ge|ArlWOey61n|uwyYV?ru=_R@jHf$Zi zM29ry&Xl@mXc5xKG(1X+`f(h7yzk-O6;19M z2M`6N8+FZ*hVH9SR%t>_ckMJE-dqYYZ@4 zo6n@X6N*r!)wT=ktbF{lQo7$j$88}GLe1hO$~p)AHqi3&>LguV5BkG%F4U>FuN)g)CJb)q{BB4v^ey)$%iX0Lev zmnU~7XXoP|Qul11D?`rhYt`1J7ye7(6-4eq8#qY(VeTp`jqTC-blJTeezODTfVW2% z0J%$CT%(`SZGoHW6?5*Z>rC!YRaefwy4F;tQPuaC-h}Ug$(Kcmsn%JQ*q3FAeOZ?j zr4blsbED`^BF&F~K^{iW=6PVZZ<`z}8UurFVSfBq1*>1nnQo4KtF&L!G=OQQ492_R z>-rssouH?@N4}3U|o}UNerm%c1|^4XSu7#aZFHP8jC4r zSBAeykukDjL7Z1|CDs=F8(?L$CHN1>7eAn1_*eb;2;U!(54|h)FSK0__q#98^F9Te zvpWL&<{Q7lH#BrXZy|N{Eh6q#7qGGG944?_i*??vi_ST>sR)MRVr=X_XP|R-2bO`1 zKzE9QDdOGpjbDNsvbrzkR?aA7e5+_rF4RFcI;0)G4x^C1^6>9`f1KpugGnCjOCElm zcr#0IXpj?heS^&DOc!PX)fO38u;~qVlX^ZQyu3}bo4tVi&z)PkBUOFA{vPnQzCSfO;hcdqfg=Tqa7+6i<-D?pYjgk{e*ZW&bZhfV6QtB*jHJX zUNp4BHF?8Fk(cE> zjOKHzdb{F>mbHk)SF{NxGY``ga4WkuOcMu6ECM}LvK{hYGNkA0gH^%=?N zs$6NHo8vH$={7PwEixSBsY0eLg#I4LV1NNKFvXOnxbHbSgEJ>Nyge}K#yoe@!AQ;x zoanv#&vxy_8~5F0F#Xv6+!J{}j|3kh-ky?cku?KN(PlxV+$uhD*ILi_p_ z?Yn?Xrv3R0?HgOPV>r6473*EZioe=IJbI=#u3p2jd$$r1NZp46y;~s7Wj;#2f2w-4 zWsRmI7{s(*#kUEj6OvUBZX#>SDN}TuQ@UJE8HMOF`&G54uy`fWyIN8hIwLv}5shHn zq_T&sdUO|tst#1pjZ@Xb=so<5^e3jn@>X%jzFinP%i&de3-Rq_FKJFx*S^xqUl?!L z(jh6wo6T+54Dg;%9@er&N2 z|8L@-wj{eg9=X+<93CW=SJr$^u0>KC?e|u5hKq3CX3k}Dz6$3W^)2~$dn*TPgpiNl z-3DA|fcLckl`WhGX#1X@k3Z4&ZDbMC_8pUtzu5L2kdMFG_N~ar-)j37=i~3<>u#Gu zaRRMigTo2h-R-rl?t|{<H6l!A-z(-?%Ovp<~HV6(G93qPjP$>QJnyKl8H=|%0ej4D)>2f*XC~^ zja0e{euCK=1C+Ou;H6J_JJHe!+{a$oDCTo3J4ShuqLnDtLO1qyb*}0ybr$BHvC*)4 zegDK z$|tj-z~VX5rV&SF`DHYob{YL)s)budvzKL(b-%4;HxsL2M5gzzM);xON3r^B|~+Hx&wxzvPRD4lBJdUMOQt>t3ok%Y2X zO zt?r3?sUL|7aLXc6RXlx>Lio=XPrtbn!%;_Dd<)0;2j_i;qhD|;4oA5Zj^!4d_ZyCW z!KpeN$wW9N8*n~gIQj*rW;o%$7)-ywmJ8OB1!EiaL30+Y*SN2W%Vsa!eM@FDNl5oh zF9<&fnNcz>)n|3__!*dgQpK{refo0-xKZV9iqMl15f$@T5!W=-9WNf{doKSKrXdMQ zHVwi{;DZRJj#GK;2(;|=Tl81AIRM>1W2XoS=EikrBvFHuoTL_hU-S6*YKkiUl*)^l zfAK1l#h+ou$wJ+MWMN;Eg=Sllg`0gPA;!sv2>HL31*g6|CW2n&Qpv(dN*0&G+hr;D z8DT5|)pLSKaS?>DQ)E?8u)ef@Cn2Z`gbz(8gmfx9->#fgt$PZ36SNp^?_LW_zupzUdx_r*#lpX3_*G37zpJq8^lBp9rTNEbVNxt!)0z}(ZdWdi6=Y&vI2z9gKkcqk zZ(==r3)!{Jrh;uY_37Nw!3bMMzN#2rMoal=4IYWr={*b1`ZO28#dvMd4>r@qcI520 zGhFY=={i8wg*n^IXEqdU79eN8o#7!4=lTT4zTn&?N6vmb!$XDBbw5ky%s%>Bt)RQ7 z0IT)ze({^n$FD^2Zd)w5)9C4gdI zP%=#+Ji?)9Bd1DZvG43)v%Wd|4UaMm*GNz$S})Tb@Jz^|I8 zzei?J_9NBmoY}qM*8tA$vrqW-1YxxE#I;*tWm0nSq~vA=Tj;Snsx)c)E(z|^H)p@$ zH$f&HxdA%55wKQBOkr8+?b)>qG153g} z-C;BD` zJ(c|n(YJ8WQHS5=8<;7D>IjxFS0hHASQjV z(*X~9N1o}*M_-+DvQxj5J-*?3*zM4TN3E@C7T%xL zuUQ`$eOH`SO622vxOxi6@-y^6SYYfm6L=2+t^LSZ<6$^UuA~lTZEy5?d#rHR86AZPc>?LK*6 zCzI^LG)fioxJ%_&-?vNU+7)w1i3x!v&V)d(kEz=4D|PpA{Rq=`|@aaqO)G_Ex*F)_?6dv$m@T?qxFeJ9j|y8@-uz=AX4khN`gP);QF+>HJ8r^ zpuyP9Jzi|*xVwe!iXj!nDb)KMa|5~V8V31mU1h9{nqsp*w|WlRg$2mRZs0 zsoJ*Y5_J2{DvRu7W69CAgG6YP>_~E;(6x!2_pW>F$eGR4sD@6DZ=-ZZQ{{&38piM_ zRq3%X62M&{wXO8b+J7Ub6iphg@Wq6u0L3#vF|VCm)uI2t$yT~?{rS-kD7Cfc0txLIxyd#J6vqe1v}p?E6x&*4va+Do@cm~02;M;f0Do#_NJN6sGuD=8h>@M7B0^u1j?I&N^f;%1m zZlv|J>YW8sv4zzW_#A^j4eE{r%R42tWsD@GCOr!edNzHAiW|6bHaYlg7p#whIa_(I zAe*q3#g}79%CbM?1fZqD91{Tl#d`u`CQ+E!}{G~9kE$8 zNX2%6)tk|;PgnfCLH)}u0=$N3MSfoka@yn)nC~bRgUR;1^2h1G^n*Ggs!JNFJ+HvV z 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 + + + nunit.framework + + + + + The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly syncronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asyncronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name of the assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the the Completed event for the top level work item + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that an async delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate does not throw an exception. + + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + + This method is provided for use by VB developers needing to test + the value of properties with private setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + Delegate used by tests that execute async code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter ids for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Marks a test that must run in a particular threading apartment state, causing it + to run in a separate thread if necessary. + + + + + Construct an ApartmentAttribute + + The apartment state that this test must be run under. You must pass in a valid apartment state. + + + + Provides the Author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument + data provided. Since this is the default, the attribute is + optional. + + + + + Default constructor + + + + + Marks a test to use a particular CombiningStrategy to join + any parameter data provided. Since this is the default, the + attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParamterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + TestAssemblyDirectoryResolveAttribute is used to mark a test assembly as needing a + special assembly resolution hook that will explicitly search the test assembly's + directory for dependent assemblies. This works around a conflict between mixed-mode + assembly initialization and tests running in their own AppDomain in some cases. + + + + + LevelOfParallelismAttribute is used to set the number of worker threads + that may be allocated by the framework for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + Attribute used to identify a method that is called once + to perform setup before any child tests are run. + + + + + Attribute used to identify a method that is called once + after all the child tests have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RetryAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + ParallelizableAttribute is used to mark tests that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + The abstract base class for all data-providing attributes + defined by NUnit. Used to select all data sources for a + method, class or parameter. + + + + + Default constructor + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointSourceAttribute. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointsAttribute. + + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct a description Attribute + + The text of the description + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Marks a test to use a pairwise join of any argument + data provided. Arguments will be combined in such a + way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No Parallelism is permitted + + + + + The test itself may be run in parallel with others at the same level + + + + + Descendants of the test may be run in parallel with one another + + + + + Descendants of the test down to the level of TestFixtures may be run in parallel + + + + + PlatformAttribute is used to mark a test fixture or an + individual method as applying to a particular platform only. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-delimited list of platforms + + + + Causes a test to be skipped if this PlatformAttribute is not satisfied. + + The test to modify + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + RandomAttribute is used to supply a set of random _values + to a single parameter of a parameterized test. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Construct a set of ints within a specified range + + + + + Construct a set of unsigned ints within a specified range + + + + + Construct a set of longs within a specified range + + + + + Construct a set of unsigned longs within a specified range + + + + + Construct a set of shorts within a specified range + + + + + Construct a set of unsigned shorts within a specified range + + + + + Construct a set of doubles within a specified range + + + + + Construct a set of floats within a specified range + + + + + Construct a set of bytes within a specified range + + + + + Construct a set of sbytes within a specified range + + + + + Get the collection of _values to be used as arguments. + + + + + RangeAttribute is used to supply a range of _values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of unsigned ints using default step of 1 + + + + + + + Construct a range of unsigned ints specifying the step size + + + + + + + + Construct a range of longs using a default step of 1 + + + + + + + Construct a range of longs + + + + + + + + Construct a range of unsigned longs using default step of 1 + + + + + + + Construct a range of unsigned longs specifying the step size + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test that must run in the MTA, causing it + to run in a separate thread if necessary. + + On methods, you may also use MTAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresMTAAttribute + + + + + Marks a test that must run in the STA, causing it + to run in a separate thread if necessary. + + + + + Construct a RequiresSTAAttribute + + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Summary description for SetCultureAttribute. + + + + + Construct given the name of a culture + + + + + + Summary description for SetUICultureAttribute. + + + + + Construct given the name of a culture + + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Build a SetUpFixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A SetUpFixture object as a TestSuite. + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Gets or sets the expected result. + + The result. + + + + Returns true if an expected result has been set + + + + + Construct a TestMethod from a given method. + + The method for which a test is to be constructed. + The suite to which the test will be added. + A TestMethod + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Comma-delimited list of platforms to run the test for + + + + + Comma-delimited list of platforms to not run the test for + + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + TestCaseSourceAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Returns a set of ITestCaseDataItems for use as arguments + to a parameterized test method. + + The method for which data is needed. + + + + + TestFixtureAttribute is used to mark a class that represents a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Build a fixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A an IEnumerable holding one TestFixture object. + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + TestCaseSourceAttribute indicates the source to be used to + provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestFixtures from a given Type, + using available parameter data. + + The TypeInfo for which fixures are to be constructed. + One or more TestFixtures as TestSuite + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Indicates which class the test or test fixture is testing + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + Used on a method, marks the test with a timeout value in milliseconds. + The test will be run in a separate thread and is cancelled if the timeout + is exceeded. Used on a class or assembly, sets the default timeout + for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of _values to be used as arguments + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + + An enumeration containing individual data items + + + + + A set of Assert methods operating on one or more collections + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionTally counts (tallies) the number of + occurrences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + The number of objects remaining in the tally + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + ComparisonAdapter class centralizes all comparisons of + _values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare _values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint with the specified delay time. + + The delay in milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost contraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occured in applying the constraint (reserved for future use) + + + + + Contain the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The _expected. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected key is contained in the dictionary + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected value is contained in the dictionary + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + true if comparing case insensitive; otherwise, false. + + + + + Gets a value indicating whether or not to clip strings. + + + true if set to clip strings otherwise, false. + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable _values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point _values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual _values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to true [ignore directories]. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the _values are + allowed to deviate by up to 2 adjacent floating point _values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point _values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point _values that are allowed to + be between the left and the right floating point _values + + True if both numbers are equal or close to being equal + + + Floating point _values can only represent a finite subset of natural numbers. + For example, the _values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point _values are between + the left and the right number. If the number of possible _values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point _values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point _values that are + allowed to be between the left and the right double precision floating point _values + + True if both numbers are equal or close to being equal + + + Double precision floating point _values can only represent a limited series of + natural numbers. For example, the _values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + _values are between the left and the right number. If the number of possible + _values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual _values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric _values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric _values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the _values are equal + + + + Compare two numeric _values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the _values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depthy. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Helper method to compare two arrays + + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + _values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two _values are within a + specified range. + + + + + Initializes a new instance of the class. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both _values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Returns the ActualValueDelegate itself as the value to be tested. + + A delegate representing the code to be tested + The delegate itself + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to + specifying an exact match unless + is set, in which case, the + will be used. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match even if + is set. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Gets the for the current Tolerance + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared _values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared _values my deviate from each other. + + + + + Compares two _values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in xml format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build a TestFixture from one or more Types. In general, it is exposed + by an attribute, but may be implemented in a helper class used by the + attribute in some cases. + + + + + Build one or more TestFixtures from type provided. At least one + non-null TestSuite must always be returned, since the method is + generally called because the user has marked the target class as + a fixture. If something prevents the fixture from being used, it + will be returned nonetheless, labelled as non-runnable. + + The type info of the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The IDataPointProvider interface is used by extensions + that provide data for a single test parameter. + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + The IParameterDataSource interface is implemented by types + that can provide data for a test method parameter. + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + An enumeration containing individual data items + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple _values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all _values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued propeties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are _values present, otherwise false + + + + Gets or sets the list of _values for a particular key + + The key for which the _values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single TestMethod from a suitable MethodInfo Types. In general, + it is exposed by an attribute, but may be implemented in a helper class + used by the attribute in some cases. + + + + + Build a TestMethod from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a suite from one or more Types. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + True if the type can be used to build a TestSuite + + + + Build a TestSuite from type provided. + + The type of the fixture to be used + A TestSuite + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets an IMethod for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build one or more TestMethods from a MethodInfo. In general, it is exposed + by an attribute, which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Build one or more TestMethods from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test case from certain methods. + + + This interface is not the same as the ITestCaseBuilder interface in NUnit 2.x. + We have reused the name because the two products don't interoperate at all. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + True is the builder can use this method + + + + Build a TestCase from the provided MethodInfo for + inclusion in the suite being constructed. + + The method to be used as a test case + The test suite being populated, or null + A TestCase or null + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. Not available in + the Compact Framework 1.0. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the Namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an oject of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, if any. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, ouput destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from it's XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + Asserts on Files + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. Anything set through + this class applies to the entire test run. It should not normally + be used from within a test, since it is not thread-safe. + + + + + Default tolerance for floating point equality + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + Waits for pending asynchronous operations to complete, if appropriate, + and returns a proper result of the invocation by unwrapping task results + + The raw result of the method invocation + The unwrapped result, if necessary + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + A ParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + A Test representing one or more method invocations + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + The test fixture being populated, or null + A Test representing one or more method invocations + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + A ParameterizedMethodSuite populated with test cases + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + A TestMethod. + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + The root of the test suite being created by this builder. + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the _values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labelled as non-runnable. + + An ITypeInfo for the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + The fixture to which cases should be added + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Checks to see if the provided Type is a fixture. + To be considered a fixture, it must be a non-abstract + class with one or more attributes implementing the + IFixtureBuilder interface or one or more methods + marked as tests. + + The fixture type to check + True if the fixture can be built, false if not + + + + Build a TestSuite from TypeInfo provided. + + The fixture type to build + A TestSuite built from that type + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + A list of the attributes found. + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + http://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + http://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks thru the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks thru the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + ParameterDataSourceProvider supplies individual argument _values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting null + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + The CommandStage enumeration represents the defined stages + of execution for a series of TestCommands. The int _values + of the enum are used to apply decorators in the proper + order. Lower _values are applied first and are therefore + "closer" to the actual test execution. + + + No CommandStage is defined for actual invocation of the test or + for creation of the context. Execution may be imagined as + proceeding from the bottom of the list upwards, with cleanup + after the test running in the opposite order. + + + + + Use an application-defined default value. + + + + + Make adjustments needed before and after running + the raw test - that is, after any SetUp has run + and before TearDown. + + + + + Run SetUp and TearDown for the test. This stage is used + internally by NUnit and should not normally appear + in user-defined decorators. + + + + + Make adjustments needed before and after running + the entire test - including SetUp and TearDown. + + + + + TODO: Documentation needed for class + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext + + The context in which the test should run. + A TestResult + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run after Setup + + + + Overridden to run the one-time setup for a suite. + + The TestExecutionContext to be used. + A TestResult + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The test suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run before teardown. + + + + Overridden to run the teardown methods specified on the test. + + The TestExecutionContext to be used. + A TestResult + + + + SetUpTearDownCommand runs any SetUp methods for a suite, + runs the test and then runs any TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand runs the BeforeTest actions for a test, + then runs the test and finally runs the AfterTestActions. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + TestActionItem represents a single execution of an + ITestAction. It is used to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + Overridden to call the inner command and adjust the result + in case all chlid results were inconclusive. + + + + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. + + The exception. + A string representation of the stack trace. + + + + A utility class to create TestCommands + + + + + Gets the command to be executed before any of + the child tests are run. + + A TestCommand + + + + Gets the command to be executed after all of the + child tests are run. + + A TestCommand + + + + Creates a test command for use in running this test. + + + + + + Creates a command for skipping a test. The result returned will + depend on the test RunState. + + + + + Builds the set up tear down list. + + Type of the fixture. + Type of the set up attribute. + Type of the tear down attribute. + A list of SetUpTearDownItems + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + A count of how many tests in the work item have a value for the Order Property + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do setup, run all child + items and then do teardown. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + Sorts tests under this suite. + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the contet, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Write a single char + + + + + Write a string + + + + + Write a string followed by a newline + + + + + Get the Encoding for this TextWriter + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the eventpump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or null). + + + If true and the queue is empty, the calling thread is blocked until + either an element is enqueued, or is called. + + + + + If the queue not empty + the first element. + + + otherwise, if ==false + or has been called + null. + + + + + + + Stop processing of the queue + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Enumerates all the shifts supported by the dispatcher + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Method that performs actually performs the work. + + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and a thread is created on which to + run it. Subsequent calls come from the top level + item or its descendants on the proper thread. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + The apartment state to use for running tests + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The execution context + + + + + The unique id of the worker executing this item. + + + + + The test actions to be performed before and after this test + + + + + Indicates whether this WorkItem may be run in parallel + + + + + The test result + + + + + Execute the current work item, including any + child work items. + + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + + + + Gets the name of the work item queue. + + + + + Gets the total number of items processed so far + + + + + Gets the maximum number of work items. + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a list of the queues associated with this shift. + + Used for testing + + + + Gets the list of workers associated with this shift. + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matchedT + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type argments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + An array of type arguments. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the spcified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + OSPlatform represents a particular operating system platform + + + + + Platform ID for Unix as defined by Microsoft .NET 2.0 and greater + + + + + Platform ID for Unix as defined by Mono + + + + + Platform ID for XBox as defined by .NET and Mono, but not CF + + + + + Platform ID for MacOSX as defined by .NET and Mono, but not CF + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + OperatingSystem to be used + RuntimeFramework to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if the a particular platform or comma- + delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are _values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of _values for a particular key + + + + + Returns an XmlNode representating the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random _values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same _values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probablility a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return an array of methods having a + particular attribute. The array is order with base methods first. + + The type to examine + The attribute Type to look for + Specifies whether to search the fixture type inheritance chain + The array of methods found + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Used because the compact framework doesn't support + Type.GetTypeArray() + + An array of objects + An array of Types + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + THe FailureSite to use in the result + + + + RecordTearDownException appends the message and stacktrace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Adds a reason element to a node and returns it. + + The target node. + The new reason element. + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft .NET Compact Framework + + + Microsoft Shared Source CLI + + + Mono + + + Silverlight + + + MonoTouch + + + + RuntimeFramework represents a particular version + of a common language runtime implementation. + + + + + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + + + + + Construct from a runtime type and version. If the version has + two parts, it is taken as a framework version. If it has three + or more, it is taken as a CLR version. In either case, the other + version is deduced based on the runtime type and provided version. + + The runtime type of the framework + The version of the framework + + + + Static method to return a RuntimeFramework object + for the framework that is currently in use. + + + + + The type of this runtime framework + + + + + The framework version for this runtime framework + + + + + The CLR version for this runtime framework + + + + + Return true if any CLR version may be used in + matching this RuntimeFramework object. + + + + + Returns the Display name for this framework + + + + + Parses a string representing a RuntimeFramework. + The string may be just a RuntimeType name or just + a Version or a hyphenated RuntimeType-Version or + a Version prefixed by 'versionString'. + + + + + + + Overridden to return the short name of the framework + + + + + + Returns true if the current framework matches the + one supplied as an argument. Two frameworks match + if their runtime types are the same or either one + is RuntimeType.Any and all specified version components + are equal. Negative (i.e. unspecified) version + components are ignored. + + The RuntimeFramework to be matched. + True on match, otherwise false + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + An internal class is used to hold settings and a stack + of these objects is pushed and popped as Save and Restore + are called. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + The current Principal. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Get the current context or return null if none is found. + + + + + + Clear the current context. This is provided to + prevent "leakage" of the CallContext containing + the current context back to any runners. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set the working directory + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + The unique name of the worker that spawned the context. + For builds with out the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Obtain lifetime service object + + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from it's TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + Arguments to be used + The display name + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet _values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Returns the parent test item for the targer test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters characters that can't be used with their + corresponding xml representations. + + The string to be used + A new string with the _values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Gets a string representing the type of test + + + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Construct from a MethodInfo + + + + + + Gets a string representing the type of test + + + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + The type. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + TODO: Documentation needed for constructor + + + + + + Construct a test from a MethodInfo + + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied ICustomAttributeProvider, which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + An object implementing ICustomAttributeProvider + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares this test to another test for sorting purposes + + The other test + Value of -1, 0 or +1 depending on whether the current test is less than, equal to or greater than the other test + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the path from which it was loaded. + + The assembly this test represents. + The path used to load the assembly. + + + + Initializes a new instance of the class + for a path which could not be loaded. + + The path used to load the assembly. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture + + + + + Set to true to suppress sorting this suite's contents + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + The attribute type to check for + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Do our best to Kill a thread + + The thread to kill + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + + + + TypeHelper provides static methods that operate on Types. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + The first type. + The second type. + Either type1 or type2, depending on which is more general. + + + + Determines whether the specified type is numeric. + + The type to be examined. + + true if the specified type is numeric; otherwise, false. + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + true if this the provided args give sufficient information to determine the type args to be used; otherwise, false. + + + + + Gets the _values for an enumeration, using Enum.GetTypes + where available, otherwise through reflection. + + + + + + + Gets the ids of the _values for an enumeration, + using Enum.GetNames where available, otherwise + through reflection. + + + + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the _values of a property + + The collection of property _values + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Basic Asserts on strings. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for fomatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compould function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists.N + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the paramter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNUllException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attache a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the frameowrk TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the test + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + Portable libraries do not have an ICustomAttributeProvider, so we need to cast to each of + it's direct subtypes and try to get attributes off those instead. + The actual. + Type of the attribute. + if set to true [inherit]. + A list of the given attribute on the given object. + + + + A MarshalByRefObject that lives forever + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class supplies GetTypeInfo() on platforms + that don't support it. + + + + + GetTypeInfo gives access to most of the Type information we take for granted + on .NET Core and Windows Runtime. Rather than #ifdef different code for different + platforms, it is easiest to just code all platforms as if they worked this way, + thus the simple passthrough. + + + + + + + Extensions for Assembly that are not available in pre-4.5 .NET releases + + + + + An easy way to get a single custom attribute from an assembly + + The attribute Type + The assembly + An attribute of Type T + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + Env is a static class that provides some of the features of + System.Environment that are not available under all runtimes + + + + + The newline sequence in the current environment. + + + + + Path to the 'My Documents' folder + + + + + Directory used for file output if not specified on commandline. + + + + diff --git a/packages/NUnit/lib/net45/nunit.framework.dll b/packages/NUnit/lib/net45/nunit.framework.dll new file mode 100755 index 0000000000000000000000000000000000000000..f08e57564d28e70c94bf06b45da35a3ca9dc8074 GIT binary patch literal 303104 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 literal 0 HcmV?d00001 diff --git a/packages/NUnit/lib/net45/nunit.framework.xml b/packages/NUnit/lib/net45/nunit.framework.xml new file mode 100755 index 0000000..47332e2 --- /dev/null +++ b/packages/NUnit/lib/net45/nunit.framework.xml @@ -0,0 +1,18070 @@ + + + + nunit.framework + + + + + The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly syncronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asyncronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name of the assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the the Completed event for the top level work item + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that an async delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate does not throw an exception. + + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + + This method is provided for use by VB developers needing to test + the value of properties with private setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + Delegate used by tests that execute async code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter ids for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Marks a test that must run in a particular threading apartment state, causing it + to run in a separate thread if necessary. + + + + + Construct an ApartmentAttribute + + The apartment state that this test must be run under. You must pass in a valid apartment state. + + + + Provides the Author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument + data provided. Since this is the default, the attribute is + optional. + + + + + Default constructor + + + + + Marks a test to use a particular CombiningStrategy to join + any parameter data provided. Since this is the default, the + attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParamterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + The abstract base class for all data-providing attributes + defined by NUnit. Used to select all data sources for a + method, class or parameter. + + + + + Default constructor + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointSourceAttribute. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointsAttribute. + + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct a description Attribute + + The text of the description + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + TestAssemblyDirectoryResolveAttribute is used to mark a test assembly as needing a + special assembly resolution hook that will explicitly search the test assembly's + directory for dependent assemblies. This works around a conflict between mixed-mode + assembly initialization and tests running in their own AppDomain in some cases. + + + + + LevelOfParallelismAttribute is used to set the number of worker threads + that may be allocated by the framework for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Attribute used to identify a method that is called once + to perform setup before any child tests are run. + + + + + Attribute used to identify a method that is called once + after all the child tests have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + Marks a test to use a pairwise join of any argument + data provided. Arguments will be combined in such a + way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + ParallelizableAttribute is used to mark tests that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No Parallelism is permitted + + + + + The test itself may be run in parallel with others at the same level + + + + + Descendants of the test may be run in parallel with one another + + + + + Descendants of the test down to the level of TestFixtures may be run in parallel + + + + + PlatformAttribute is used to mark a test fixture or an + individual method as applying to a particular platform only. + + + + + Constructor with no platforms specified, for use + with named property syntax. + + + + + Constructor taking one or more platforms + + Comma-delimited list of platforms + + + + Causes a test to be skipped if this PlatformAttribute is not satisfied. + + The test to modify + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + RandomAttribute is used to supply a set of random _values + to a single parameter of a parameterized test. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Construct a set of ints within a specified range + + + + + Construct a set of unsigned ints within a specified range + + + + + Construct a set of longs within a specified range + + + + + Construct a set of unsigned longs within a specified range + + + + + Construct a set of shorts within a specified range + + + + + Construct a set of unsigned shorts within a specified range + + + + + Construct a set of doubles within a specified range + + + + + Construct a set of floats within a specified range + + + + + Construct a set of bytes within a specified range + + + + + Construct a set of sbytes within a specified range + + + + + Get the collection of _values to be used as arguments. + + + + + RangeAttribute is used to supply a range of _values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of unsigned ints using default step of 1 + + + + + + + Construct a range of unsigned ints specifying the step size + + + + + + + + Construct a range of longs using a default step of 1 + + + + + + + Construct a range of longs + + + + + + + + Construct a range of unsigned longs using default step of 1 + + + + + + + Construct a range of unsigned longs specifying the step size + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test that must run in the MTA, causing it + to run in a separate thread if necessary. + + On methods, you may also use MTAThreadAttribute + to serve the same purpose. + + + + + Construct a RequiresMTAAttribute + + + + + Marks a test that must run in the STA, causing it + to run in a separate thread if necessary. + + + + + Construct a RequiresSTAAttribute + + + + + Marks a test that must run on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RetryAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Summary description for SetCultureAttribute. + + + + + Construct given the name of a culture + + + + + + Summary description for SetUICultureAttribute. + + + + + Construct given the name of a culture + + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Build a SetUpFixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A SetUpFixture object as a TestSuite. + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Gets or sets the expected result. + + The result. + + + + Returns true if an expected result has been set + + + + + Construct a TestMethod from a given method. + + The method for which a test is to be constructed. + The suite to which the test will be added. + A TestMethod + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Comma-delimited list of platforms to run the test for + + + + + Comma-delimited list of platforms to not run the test for + + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + TestCaseSourceAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Returns a set of ITestCaseDataItems for use as arguments + to a parameterized test method. + + The method for which data is needed. + + + + + TestFixtureAttribute is used to mark a class that represents a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Build a fixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A an IEnumerable holding one TestFixture object. + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + TestCaseSourceAttribute indicates the source to be used to + provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestFixtures from a given Type, + using available parameter data. + + The TypeInfo for which fixures are to be constructed. + One or more TestFixtures as TestSuite + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Indicates which class the test or test fixture is testing + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + Used on a method, marks the test with a timeout value in milliseconds. + The test will be run in a separate thread and is cancelled if the timeout + is exceeded. Used on a class or assembly, sets the default timeout + for all contained test methods. + + + + + Construct a TimeoutAttribute given a time in milliseconds + + The timeout value in milliseconds + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of _values to be used as arguments + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + + An enumeration containing individual data items + + + + + A set of Assert methods operating on one or more collections + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + BinarySerializableConstraint tests whether + an object is serializable in binary format. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation + + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionTally counts (tallies) the number of + occurrences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + The number of objects remaining in the tally + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + ComparisonAdapter class centralizes all comparisons of + _values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare _values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint with the specified delay time. + + The delay in milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost contraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occured in applying the constraint (reserved for future use) + + + + + Contain the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The _expected. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected key is contained in the dictionary + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected value is contained in the dictionary + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyDirectoryConstraint is used to test that a directory is empty + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + true if comparing case insensitive; otherwise, false. + + + + + Gets a value indicating whether or not to clip strings. + + + true if set to clip strings otherwise, false. + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable _values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point _values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual _values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to true [ignore directories]. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the _values are + allowed to deviate by up to 2 adjacent floating point _values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point _values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point _values that are allowed to + be between the left and the right floating point _values + + True if both numbers are equal or close to being equal + + + Floating point _values can only represent a finite subset of natural numbers. + For example, the _values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point _values are between + the left and the right number. If the number of possible _values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point _values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point _values that are + allowed to be between the left and the right double precision floating point _values + + True if both numbers are equal or close to being equal + + + Double precision floating point _values can only represent a limited series of + natural numbers. For example, the _values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + _values are between the left and the right number. If the number of possible + _values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual _values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric _values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric _values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the _values are equal + + + + Compare two numeric _values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the _values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depthy. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Helper method to compare two arrays + + + + + Method to compare two DirectoryInfo objects + + first directory to compare + second directory to compare + true if equivalent, false if not + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + _values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two _values are within a + specified range. + + + + + Initializes a new instance of the class. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Summary description for SamePathConstraint. + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SamePathOrUnderConstraint tests that one path is under another + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both _values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Returns the ActualValueDelegate itself as the value to be tested. + + A delegate representing the code to be tested + The delegate itself + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to + specifying an exact match unless + is set, in which case, the + will be used. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match even if + is set. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Gets the for the current Tolerance + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared _values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared _values my deviate from each other. + + + + + Compares two _values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in xml format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Asserts on Files + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. Anything set through + this class applies to the entire test run. It should not normally + be used from within a test, since it is not thread-safe. + + + + + Default tolerance for floating point equality + + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build a TestFixture from one or more Types. In general, it is exposed + by an attribute, but may be implemented in a helper class used by the + attribute in some cases. + + + + + Build one or more TestFixtures from type provided. At least one + non-null TestSuite must always be returned, since the method is + generally called because the user has marked the target class as + a fixture. If something prevents the fixture from being used, it + will be returned nonetheless, labelled as non-runnable. + + The type info of the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The IDataPointProvider interface is used by extensions + that provide data for a single test parameter. + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + The IParameterDataSource interface is implemented by types + that can provide data for a test method parameter. + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + An enumeration containing individual data items + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple _values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all _values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued propeties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are _values present, otherwise false + + + + Gets or sets the list of _values for a particular key + + The key for which the _values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single TestMethod from a suitable MethodInfo Types. In general, + it is exposed by an attribute, but may be implemented in a helper class + used by the attribute in some cases. + + + + + Build a TestMethod from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a suite from one or more Types. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + True if the type can be used to build a TestSuite + + + + Build a TestSuite from type provided. + + The type of the fixture to be used + A TestSuite + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets an IMethod for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test case from certain methods. + + + This interface is not the same as the ITestCaseBuilder interface in NUnit 2.x. + We have reused the name because the two products don't interoperate at all. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + True is the builder can use this method + + + + Build a TestCase from the provided MethodInfo for + inclusion in the suite being constructed. + + The method to be used as a test case + The test suite being populated, or null + A TestCase or null + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + The ITestBuilder interface is exposed by a class that knows how to + build one or more TestMethods from a MethodInfo. In general, it is exposed + by an attribute, which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Build one or more TestMethods from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. Not available in + the Compact Framework 1.0. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the Namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an oject of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, if any. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, ouput destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from it's XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + A ParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Checks to see if the provided Type is a fixture. + To be considered a fixture, it must be a non-abstract + class with one or more attributes implementing the + IFixtureBuilder interface or one or more methods + marked as tests. + + The fixture type to check + True if the fixture can be built, false if not + + + + Build a TestSuite from TypeInfo provided. + + The fixture type to build + A TestSuite built from that type + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + A list of the attributes found. + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + A Test representing one or more method invocations + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + The test fixture being populated, or null + A Test representing one or more method invocations + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + A ParameterizedMethodSuite populated with test cases + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + A TestMethod. + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + The root of the test suite being created by this builder. + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the _values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labelled as non-runnable. + + An ITypeInfo for the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + The fixture to which cases should be added + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + http://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + http://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks thru the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks thru the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + ParameterDataSourceProvider supplies individual argument _values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting null + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Waits for pending asynchronous operations to complete, if appropriate, + and returns a proper result of the invocation by unwrapping task results + + The raw result of the method invocation + The unwrapped result, if necessary + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run after Setup + + + + Overridden to run the one-time setup for a suite. + + The TestExecutionContext to be used. + A TestResult + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The test suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run before teardown. + + + + Overridden to run the teardown methods specified on the test. + + The TestExecutionContext to be used. + A TestResult + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + The CommandStage enumeration represents the defined stages + of execution for a series of TestCommands. The int _values + of the enum are used to apply decorators in the proper + order. Lower _values are applied first and are therefore + "closer" to the actual test execution. + + + No CommandStage is defined for actual invocation of the test or + for creation of the context. Execution may be imagined as + proceeding from the bottom of the list upwards, with cleanup + after the test running in the opposite order. + + + + + Use an application-defined default value. + + + + + Make adjustments needed before and after running + the raw test - that is, after any SetUp has run + and before TearDown. + + + + + Run SetUp and TearDown for the test. This stage is used + internally by NUnit and should not normally appear + in user-defined decorators. + + + + + Make adjustments needed before and after running + the entire test - including SetUp and TearDown. + + + + + TODO: Documentation needed for class + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext + + The context in which the test should run. + A TestResult + + + + SetUpTearDownCommand runs any SetUp methods for a suite, + runs the test and then runs any TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand runs the BeforeTest actions for a test, + then runs the test and finally runs the AfterTestActions. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + TestActionItem represents a single execution of an + ITestAction. It is used to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + Overridden to call the inner command and adjust the result + in case all chlid results were inconclusive. + + + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the contet, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Write a single char + + + + + Write a string + + + + + Write a string followed by a newline + + + + + Get the Encoding for this TextWriter + + + + + A utility class to create TestCommands + + + + + Gets the command to be executed before any of + the child tests are run. + + A TestCommand + + + + Gets the command to be executed after all of the + child tests are run. + + A TestCommand + + + + Creates a test command for use in running this test. + + + + + + Creates a command for skipping a test. The result returned will + depend on the test RunState. + + + + + Builds the set up tear down list. + + Type of the fixture. + Type of the set up attribute. + Type of the tear down attribute. + A list of SetUpTearDownItems + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + A count of how many tests in the work item have a value for the Order Property + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do setup, run all child + items and then do teardown. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + Sorts tests under this suite. + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the eventpump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or null). + + + If true and the queue is empty, the calling thread is blocked until + either an element is enqueued, or is called. + + + + + If the queue not empty + the first element. + + + otherwise, if ==false + or has been called + null. + + + + + + + Stop processing of the queue + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Enumerates all the shifts supported by the dispatcher + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Method that performs actually performs the work. + + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and a thread is created on which to + run it. Subsequent calls come from the top level + item or its descendants on the proper thread. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + The apartment state to use for running tests + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The execution context + + + + + The unique id of the worker executing this item. + + + + + The test actions to be performed before and after this test + + + + + Indicates whether this WorkItem may be run in parallel + + + + + The test result + + + + + Execute the current work item, including any + child work items. + + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + + + + Gets the name of the work item queue. + + + + + Gets the total number of items processed so far + + + + + Gets the maximum number of work items. + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a list of the queues associated with this shift. + + Used for testing + + + + Gets the list of workers associated with this shift. + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matchedT + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type argments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + An array of type arguments. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. + + The exception. + A string representation of the stack trace. + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the spcified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + OSPlatform represents a particular operating system platform + + + + + Platform ID for Unix as defined by Microsoft .NET 2.0 and greater + + + + + Platform ID for Unix as defined by Mono + + + + + Platform ID for XBox as defined by .NET and Mono, but not CF + + + + + Platform ID for MacOSX as defined by .NET and Mono, but not CF + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + OperatingSystem to be used + RuntimeFramework to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if the a particular platform or comma- + delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are _values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of _values for a particular key + + + + + Returns an XmlNode representating the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random _values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same _values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probablility a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return an array of methods having a + particular attribute. The array is order with base methods first. + + The type to examine + The attribute Type to look for + Specifies whether to search the fixture type inheritance chain + The array of methods found + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Used because the compact framework doesn't support + Type.GetTypeArray() + + An array of objects + An array of Types + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + THe FailureSite to use in the result + + + + RecordTearDownException appends the message and stacktrace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Adds a reason element to a node and returns it. + + The target node. + The new reason element. + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft .NET Compact Framework + + + Microsoft Shared Source CLI + + + Mono + + + Silverlight + + + MonoTouch + + + + RuntimeFramework represents a particular version + of a common language runtime implementation. + + + + + DefaultVersion is an empty Version, used to indicate that + NUnit should select the CLR version to use for the test. + + + + + Construct from a runtime type and version. If the version has + two parts, it is taken as a framework version. If it has three + or more, it is taken as a CLR version. In either case, the other + version is deduced based on the runtime type and provided version. + + The runtime type of the framework + The version of the framework + + + + Static method to return a RuntimeFramework object + for the framework that is currently in use. + + + + + The type of this runtime framework + + + + + The framework version for this runtime framework + + + + + The CLR version for this runtime framework + + + + + Return true if any CLR version may be used in + matching this RuntimeFramework object. + + + + + Returns the Display name for this framework + + + + + Parses a string representing a RuntimeFramework. + The string may be just a RuntimeType name or just + a Version or a hyphenated RuntimeType-Version or + a Version prefixed by 'versionString'. + + + + + + + Overridden to return the short name of the framework + + + + + + Returns true if the current framework matches the + one supplied as an argument. Two frameworks match + if their runtime types are the same or either one + is RuntimeType.Any and all specified version components + are equal. Negative (i.e. unspecified) version + components are ignored. + + The RuntimeFramework to be matched. + True on match, otherwise false + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + An internal class is used to hold settings and a stack + of these objects is pushed and popped as Save and Restore + are called. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + The current Principal. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Get the current context or return null if none is found. + + + + + + Clear the current context. This is provided to + prevent "leakage" of the CallContext containing + the current context back to any runners. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set the working directory + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + The unique name of the worker that spawned the context. + For builds with out the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Obtain lifetime service object + + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from it's TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + Arguments to be used + The display name + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet _values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Returns the parent test item for the targer test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters characters that can't be used with their + corresponding xml representations. + + The string to be used + A new string with the _values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Gets a string representing the type of test + + + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Construct from a MethodInfo + + + + + + Gets a string representing the type of test + + + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + The type. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + TODO: Documentation needed for constructor + + + + + + Construct a test from a MethodInfo + + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied ICustomAttributeProvider, which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + An object implementing ICustomAttributeProvider + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares this test to another test for sorting purposes + + The other test + Value of -1, 0 or +1 depending on whether the current test is less than, equal to or greater than the other test + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the path from which it was loaded. + + The assembly this test represents. + The path used to load the assembly. + + + + Initializes a new instance of the class + for a path which could not be loaded. + + The path used to load the assembly. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture + + + + + Set to true to suppress sorting this suite's contents + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + The attribute type to check for + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Do our best to Kill a thread + + The thread to kill + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + + + + TypeHelper provides static methods that operate on Types. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + The first type. + The second type. + Either type1 or type2, depending on which is more general. + + + + Determines whether the specified type is numeric. + + The type to be examined. + + true if the specified type is numeric; otherwise, false. + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + true if this the provided args give sufficient information to determine the type args to be used; otherwise, false. + + + + + Gets the _values for an enumeration, using Enum.GetTypes + where available, otherwise through reflection. + + + + + + + Gets the ids of the _values for an enumeration, + using Enum.GetNames where available, otherwise + through reflection. + + + + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the _values of a property + + The collection of property _values + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Basic Asserts on strings. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for fomatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compould function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists.N + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the paramter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNUllException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attache a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the frameowrk TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the test + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + Portable libraries do not have an ICustomAttributeProvider, so we need to cast to each of + it's direct subtypes and try to get attributes off those instead. + The actual. + Type of the attribute. + if set to true [inherit]. + A list of the given attribute on the given object. + + + + A MarshalByRefObject that lives forever + + + + + Obtains a lifetime service object to control the lifetime policy for this instance. + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + Env is a static class that provides some of the features of + System.Environment that are not available under all runtimes + + + + + The newline sequence in the current environment. + + + + + Path to the 'My Documents' folder + + + + + Directory used for file output if not specified on commandline. + + + + diff --git a/packages/NUnit/lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10/nunit.framework.dll b/packages/NUnit/lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10/nunit.framework.dll new file mode 100755 index 0000000000000000000000000000000000000000..97f9b8ae1d07860b33a5bc0acb58df7a3e06ecf3 GIT binary patch literal 264704 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

G7aYRi)}U2yrsX7PxhmrmM8@H?pI&8) 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 V2km)34maFiqptm?D|a7({{ysm2yg%Z literal 0 HcmV?d00001 diff --git a/packages/NUnit/lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10/nunit.framework.xml b/packages/NUnit/lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10/nunit.framework.xml new file mode 100755 index 0000000..d12fbe6 --- /dev/null +++ b/packages/NUnit/lib/portable-net45+win8+wp8+wpa81+Xamarin.Mac+MonoAndroid10+MonoTouch10+Xamarin.iOS10/nunit.framework.xml @@ -0,0 +1,16348 @@ + + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly syncronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asyncronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name of the assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Loads the tests found in an Assembly + + The assembly to load + Dictionary of option settings for loading the assembly + True if the load was successful + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the the Completed event for the top level work item + + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first int is greater than the second + int. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is greater than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be greater + The second value, expected to be less + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the first value is less than or equal to the second + value. If it is not, then an + is thrown. + + The first value, expected to be less + The second value, expected to be greater + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Asserts that a condition is false. If the condition is true the method throws + an . + + The evaluated condition + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is not equal to null + If the object is null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the object that is passed in is equal to null + If the object is not null then an + is thrown. + + The object that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that the double that is passed in is an NaN value. + If the object is not NaN then an + is thrown. + + The value that is to be tested + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is empty - that is equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing ICollection + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that a string is not empty - that is not equal to string.Empty + + The string to be tested + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Assert that an array, list or other collection is not empty + + An array, list or other collection implementing ICollection + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + We don't actually want any instances of this object, but some people + like to inherit from it to add other static methods. Hence, the + protected constructor disallows any instances of this object. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + Throws an with the message and arguments + that are passed in. This is used by the other Assert functions. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This is used by the other Assert functions. + + The message to initialize the with. + + + + Throws an . + This is used by the other Assert functions. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a list. + + The expected object + The list to be examined + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two doubles are equal considering a delta. If the + expected value is infinity then the delta value is ignored. If + they are not equal then an is + thrown. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are not equal an is thrown. + + The value that is expected + The actual value + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that two objects are not equal. Two objects are considered + equal if both are null, or if both have the same value. NUnit + has special semantics for some object types. + If they are equal an is thrown. + + The value that is expected + The actual value + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects refer to the same object. If they + are not the same an is thrown. + + The expected object + The actual object + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that two objects do not refer to the same object. If they + are the same an is thrown. + + The expected object + The actual object + + + + Helper for Assert.AreEqual(double expected, double actual, ...) + allowing code generation to work consistently. + + The expected value + The actual value + The maximum acceptable difference between the + the expected and the actual + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that an async delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that an async delegate does not throw an exception. + + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + A constraint to be satisfied by the exception + A TestSnippet delegate + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + The exception Type expected + A TestDelegate + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws a particular exception when called. + + Type of the expected exception + A TestDelegate + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception when called + and returns it. + + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + The expected Exception Type + A TestDelegate + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate throws an exception of a certain Type + or one derived from it when called and returns it. + + A TestDelegate + + + + Verifies that a delegate does not throw an exception + + A TestDelegate + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Verifies that a delegate does not throw an exception. + + A TestDelegate + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + + This method is provided for use by VB developers needing to test + the value of properties with private setters. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object may not be assigned a value of a given Type. + + The expected Type. + The object under examination + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is not an instance of a given type. + + The expected Type + The object being examined + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + Delegate used by tests that execute async code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter ids for constraints and + asserts and avoiding conflict with the definition of + , from which it inherits much of its + behavior, in certain mock object frameworks. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint to be applied + The actual value to test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + The actual value to test + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Returns a ListMapper based on a collection. + + The original collection + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Provides the Author of a test or test fixture. + + + + + Initializes a new instance of the class. + + The name of the author. + + + + Initializes a new instance of the class. + + The name of the author. + The email address of the author. + + + + Attribute used to apply a category to a test + + + + + The name of the category + + + + + Construct attribute for a given category based on + a name. The name may not contain the characters ',', + '+', '-' or '!'. However, this is not checked in the + constructor since it would cause an error to arise at + as the test was loaded without giving a clear indication + of where the problem is located. The error is handled + in NUnitFramework.cs by marking the test as not + runnable. + + The name of the category + + + + Protected constructor uses the Type name as the name + of the category. + + + + + The name of the category + + + + + Modifies a test by adding a category to it. + + The test to modify + + + + Marks a test to use a combinatorial join of any argument + data provided. Since this is the default, the attribute is + optional. + + + + + Default constructor + + + + + Marks a test to use a particular CombiningStrategy to join + any parameter data provided. Since this is the default, the + attribute is optional. + + + + + Construct a CombiningStrategyAttribute incorporating an + ICombiningStrategy and an IParamterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Modify the test by adding the name of the combining strategy + to the properties. + + The test to modify + + + + CultureAttribute is used to mark a test fixture or an + individual method as applying to a particular Culture only. + + + + + Constructor with no cultures specified, for use + with named property syntax. + + + + + Constructor taking one or more cultures + + Comma-deliminted list of cultures + + + + Causes a test to be skipped if this CultureAttribute is not satisfied. + + The test to modify + + + + Tests to determine if the current culture is supported + based on the properties of this attribute. + + True, if the current culture is supported + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + The abstract base class for all data-providing attributes + defined by NUnit. Used to select all data sources for a + method, class or parameter. + + + + + Default constructor + + + + + Used to mark a field for use as a datapoint when executing a theory + within the same fixture that requires an argument of the field's Type. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointSourceAttribute. + + + + + Used to mark a field, property or method providing a set of datapoints to + be used in executing any theories within the same fixture that require an + argument of the Type provided. The data source may provide an array of + the required Type or an . + Synonymous with DatapointsAttribute. + + + + + Attribute used to provide descriptive text about a + test case or fixture. + + + + + Construct a description Attribute + + The text of the description + + + + ExplicitAttribute marks a test or test fixture so that it will + only be run if explicitly executed from the gui or command line + or if it is included by use of a filter. The test will not be + run simply because an enclosing suite is run. + + + + + Default constructor + + + + + Constructor with a reason + + The reason test is marked explicit + + + + Modifies a test by marking it as explicit. + + The test to modify + + + + Attribute used to mark a test that is to be ignored. + Ignored tests result in a warning message when the + tests are run. + + + + + Constructs the attribute giving a reason for ignoring the test + + The reason for ignoring the test + + + + The date in the future to stop ignoring the test as a string in UTC time. + For example for a date and time, "2014-12-25 08:10:00Z" or for just a date, + "2014-12-25". If just a date is given, the Ignore will expire at midnight UTC. + + + Once the ignore until date has passed, the test will be marked + as runnable. Tests with an ignore until date will have an IgnoreUntilDate + property set which will appear in the test results. + + The string does not contain a valid string representation of a date and time. + + + + Modifies a test by marking it as Ignored. + + The test to modify + + + + Abstract base for Attributes that are used to include tests + in the test run based on environmental settings. + + + + + Constructor with no included items specified, for use + with named property syntax. + + + + + Constructor taking one or more included items + + Comma-delimited list of included items + + + + Name of the item that is needed in order for + a test to run. Multiple items may be given, + separated by a comma. + + + + + Name of the item to be excluded. Multiple items + may be given, separated by a comma. + + + + + The reason for including or excluding the test + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + TestAssemblyDirectoryResolveAttribute is used to mark a test assembly as needing a + special assembly resolution hook that will explicitly search the test assembly's + directory for dependent assemblies. This works around a conflict between mixed-mode + assembly initialization and tests running in their own AppDomain in some cases. + + + + + LevelOfParallelismAttribute is used to set the number of worker threads + that may be allocated by the framework for running tests. + + + + + Construct a LevelOfParallelismAttribute. + + The number of worker threads to be created by the framework. + + + + Summary description for MaxTimeAttribute. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + Attribute used to identify a method that is called once + to perform setup before any child tests are run. + + + + + Attribute used to identify a method that is called once + after all the child tests have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + Defines the order that the test will run in + + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + Marks a test to use a pairwise join of any argument + data provided. Arguments will be combined in such a + way that all possible pairs of arguments are used. + + + + + Default constructor + + + + + ParallelizableAttribute is used to mark tests that may be run in parallel. + + + + + Construct a ParallelizableAttribute using default ParallelScope.Self. + + + + + Construct a ParallelizableAttribute with a specified scope. + + The ParallelScope associated with this attribute. + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No Parallelism is permitted + + + + + The test itself may be run in parallel with others at the same level + + + + + Descendants of the test may be run in parallel with one another + + + + + Descendants of the test down to the level of TestFixtures may be run in parallel + + + + + PropertyAttribute is used to attach information to a test as a name/value pair.. + + + + + Construct a PropertyAttribute with a name and string value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and int value + + The name of the property + The property value + + + + Construct a PropertyAttribute with a name and double value + + The name of the property + The property value + + + + Constructor for derived classes that set the + property dictionary directly. + + + + + Constructor for use by derived classes that use the + name of the type as the property name. Derived classes + must ensure that the Type of the property value is + a standard type supported by the BCL. Any custom + types will cause a serialization Exception when + in the client. + + + + + Gets the property dictionary for this attribute + + + + + Modifies a test by adding properties to it. + + The test to modify + + + + RandomAttribute is used to supply a set of random _values + to a single parameter of a parameterized test. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + Construct a set of ints within a specified range + + + + + Construct a set of unsigned ints within a specified range + + + + + Construct a set of longs within a specified range + + + + + Construct a set of unsigned longs within a specified range + + + + + Construct a set of shorts within a specified range + + + + + Construct a set of unsigned shorts within a specified range + + + + + Construct a set of doubles within a specified range + + + + + Construct a set of floats within a specified range + + + + + Construct a set of bytes within a specified range + + + + + Construct a set of sbytes within a specified range + + + + + Get the collection of _values to be used as arguments. + + + + + RangeAttribute is used to supply a range of _values to an + individual parameter of a parameterized test. + + + + + Construct a range of ints using default step of 1 + + + + + + + Construct a range of ints specifying the step size + + + + + + + + Construct a range of unsigned ints using default step of 1 + + + + + + + Construct a range of unsigned ints specifying the step size + + + + + + + + Construct a range of longs using a default step of 1 + + + + + + + Construct a range of longs + + + + + + + + Construct a range of unsigned longs using default step of 1 + + + + + + + Construct a range of unsigned longs specifying the step size + + + + + + + + Construct a range of doubles + + + + + + + + Construct a range of floats + + + + + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RepeatAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + RepeatAttribute may be applied to test case in order + to run it multiple times. + + + + + Construct a RepeatAttribute + + The number of times to run the test + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the RetryAttribute + + + + + Initializes a new instance of the class. + + The inner command. + The number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + Attribute used to mark a class that contains one-time SetUp + and/or TearDown methods that apply to all the tests in a + namespace or an assembly. + + + + + SetUpFixtureAttribute is used to identify a SetUpFixture + + + + + Build a SetUpFixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A SetUpFixture object as a TestSuite. + + + + Attribute used to identify a method that is called + immediately after each test is run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Descriptive text for this test + + + + + The author of this test + + + + + The type that this test is testing + + + + + Modifies a test by adding a description, if not already set. + + The test to modify + + + + Gets or sets the expected result. + + The result. + + + + Returns true if an expected result has been set + + + + + Construct a TestMethod from a given method. + + The method for which a test is to be constructed. + The suite to which the test will be added. + A TestMethod + + + + TestCaseAttribute is used to mark parameterized test cases + and provide them with their arguments. + + + + + Construct a TestCaseAttribute with a list of arguments. + This constructor is not CLS-Compliant + + + + + + Construct a TestCaseAttribute with a single argument + + + + + + Construct a TestCaseAttribute with a two arguments + + + + + + + Construct a TestCaseAttribute with a three arguments + + + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test case. + + + + + Gets the list of arguments to a test case + + + + + Gets the properties of the test case + + + + + Gets or sets the expected result. + + The result. + + + + Returns true if the expected result has been set + + + + + Gets or sets the description. + + The description. + + + + The author of this test + + + + + The type that this test is testing + + + + + Gets or sets the reason for ignoring the test + + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets or sets the reason for not running the test. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets and sets the category for this test case. + May be a comma-separated list of categories. + + + + + Performs several special conversions allowed by NUnit in order to + permit arguments with types that cannot be used in the constructor + of an Attribute such as TestCaseAttribute or to simplify their use. + + The arguments to be converted + The ParameterInfo array for the method + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The MethodInfo for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + TestCaseSourceAttribute indicates the source to be used to + provide test cases for a test method. + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestMethods from a given MethodInfo, + using available parameter data. + + The IMethod for which tests are to be constructed. + The suite to which the tests will be added. + One or more TestMethods + + + + Returns a set of ITestCaseDataItems for use as arguments + to a parameterized test method. + + The method for which data is needed. + + + + + TestFixtureAttribute is used to mark a class that represents a TestFixture. + + + + + Default constructor + + + + + Construct with a object[] representing a set of arguments. + In .NET 2.0, the arguments may later be separated into + type arguments and constructor arguments. + + + + + + Gets or sets the name of the test. + + The name of the test. + + + + Gets or sets the RunState of this test fixture. + + + + + The arguments originally provided to the attribute + + + + + Properties pertaining to this fixture + + + + + Get or set the type arguments. If not set + explicitly, any leading arguments that are + Types are taken as type arguments. + + + + + Descriptive text for this fixture + + + + + The author of this fixture + + + + + The type that this fixture is testing + + + + + Gets or sets the ignore reason. May set RunState as a side effect. + + The ignore reason. + + + + Gets or sets the reason for not running the fixture. + + The reason. + + + + Gets or sets the ignore reason. When set to a non-null + non-empty value, the test is marked as ignored. + + The ignore reason. + + + + Gets or sets a value indicating whether this is explicit. + + + true if explicit; otherwise, false. + + + + + Gets and sets the category for this fixture. + May be a comma-separated list of categories. + + + + + Build a fixture from type provided. Normally called for a Type + on which the attribute has been placed. + + The type info of the fixture to be used. + A an IEnumerable holding one TestFixture object. + + + + Attribute used to identify a method that is + called before any tests in a fixture are run. + + + + + TestCaseSourceAttribute indicates the source to be used to + provide test fixture instances for a test class. + + + + + Error message string is public so the tests can use it + + + + + Construct with the name of the method, property or field that will provide data + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + Construct with a Type + + The type that will provide data + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets or sets the category associated with every fixture created from + this attribute. May be a single category or a comma-separated list. + + + + + Construct one or more TestFixtures from a given Type, + using available parameter data. + + The TypeInfo for which fixures are to be constructed. + One or more TestFixtures as TestSuite + + + + Returns a set of ITestFixtureData items for use as arguments + to a parameterized test fixture. + + The type for which data is needed. + + + + + Attribute used to identify a method that is called after + all the tests in a fixture have run. The method is + guaranteed to be called, even if an exception is thrown. + + + + + Indicates which class the test or test fixture is testing + + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Initializes a new instance of the class. + + The type that is being tested. + + + + Adding this attribute to a method within a + class makes the method callable from the NUnit test runner. There is a property + called Description which is optional which you can provide a more detailed test + description. This class cannot be inherited. + + + + [TestFixture] + public class Fixture + { + [Test] + public void MethodToTest() + {} + + [Test(Description = "more detailed description")] + public void TestDescriptionMethod() + {} + } + + + + + + Construct the attribute, specifying a combining strategy and source of parameter data. + + + + + ValuesAttribute is used to provide literal arguments for + an individual parameter of a test. + + + + + The collection of data to be returned. Must + be set by any derived attribute classes. + We use an object[] so that the individual + elements may have their type changed in GetData + if necessary + + + + + Constructs for use with an Enum parameter. Will pass every enum + value in to the test. + + + + + Construct with one argument + + + + + + Construct with two arguments + + + + + + + Construct with three arguments + + + + + + + + Construct with an array of arguments + + + + + + Get the collection of _values to be used as arguments + + + + + ValueSourceAttribute indicates the source to be used to + provide data for one parameter of a test method. + + + + + Construct with the name of the factory - for use with languages + that don't support params arrays. + + The name of a static method, property or field that will provide data. + + + + Construct with a Type and name - for use with languages + that don't support params arrays. + + The Type that will provide data + The name of a static method, property or field that will provide data. + + + + The name of a the method, property or fiend to be used as a source + + + + + A Type to be used as a source + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + + An enumeration containing individual data items + + + + + A set of Assert methods operating on one or more collections + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + AssignableFromConstraint is used to test that an object + can be assigned from a given Type. + + + + + Construct an AssignableFromConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AssignableToConstraint is used to test that an object + can be assigned to a given Type. + + + + + Construct an AssignableToConstraint for the type provided + + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + AttributeConstraint tests that a specified attribute is present + on a Type or other provider and that the value of the attribute + satisfies some other constraint. + + + + + Constructs an AttributeConstraint for a specified attribute + Type and base constraint. + + + + + + + Determines whether the Type or other provider has the + expected attribute and if its value matches the + additional constraint specified. + + + + + Returns a string representation of the constraint. + + + + + AttributeExistsConstraint tests for the presence of a + specified attribute on a Type. + + + + + Constructs an AttributeExistsConstraint for a specific attribute Type + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Tests whether the object provides the expected attribute. + + A Type, MethodInfo, or other ICustomAttributeProvider + True if the expected attribute is present, otherwise false + + + + BinaryConstraint is the abstract base of all constraints + that combine two other constraints in some fashion. + + + + + The first constraint being combined + + + + + The second constraint being combined + + + + + Construct a BinaryConstraint from two other constraints + + The first constraint + The second constraint + + + + CollectionConstraint is the abstract base class for + constraints that operate on collections. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Determines whether the specified enumerable is empty. + + The enumerable. + + true if the specified enumerable is empty; otherwise, false. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Protected method to be implemented by derived classes + + + + + + + CollectionContainsConstraint is used to test whether a collection + contains an expected object as a member. + + + + + Construct a CollectionContainsConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + + Construct a CollectionEquivalentConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionTally counts (tallies) the number of + occurrences of each object in one or more enumerations. + + + + + Construct a CollectionTally object from a comparer and a collection + + + + + The number of objects remaining in the tally + + + + + Try to remove an object from the tally + + The object to remove + True if successful, false if the object was not found + + + + Try to remove a set of objects from the tally + + The objects to remove + True if successful, false if any object was not found + + + + ComparisonAdapter class centralizes all comparisons of + _values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare _values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + If true, less than returns success + + + + + if true, equal returns success + + + + + if true, greater than returns success + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + if set to true less succeeds. + if set to true equal succeeds. + if set to true greater succeeds. + String used in describing the constraint. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Gets the topmost operator without modifying the stack. + + + + + Pushes the specified operator onto the stack. + + The operator to put onto the stack. + + + + Pops the topmost operator from the stack. + + The topmost operator on the stack + + + + ConstraintStack is a type-safe stack for holding Constraints + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + true if empty; otherwise, false. + + + + Pushes the specified constraint. As a side effect, + the constraint's Builder field is set to the + ConstraintBuilder owning this stack. + + The constraint to put onto the stack + + + + Pops this topmost constraint from the stack. + As a side effect, the constraint's Builder + field is set to null. + + The topmost contraint on the stack + + + + Initializes a new instance of the class. + + + + + Appends the specified operator to the expression by first + reducing the operator stack and then pushing the new + operator on the stack. + + The operator to push. + + + + Appends the specified constraint to the expression by pushing + it on the constraint stack. + + The constraint to push. + + + + Sets the top operator right context. + + The right context. + + + + Reduces the operator stack until the topmost item + precedence is greater than or equal to the target precedence. + + The target precedence. + + + + Resolves this instance, returning a Constraint. If the Builder + is not currently in a resolvable state, an exception is thrown. + + The resolved constraint + + + + Gets a value indicating whether this instance is resolvable. + + + true if this instance is resolvable; otherwise, false. + + + + + ConstraintExpression represents a compound constraint in the + process of being constructed from a series of syntactic elements. + + Individual elements are appended to the expression as they are + reorganized. When a constraint is appended, it is returned as the + value of the operation so that modifiers may be applied. However, + any partially built expression is attached to the constraint for + later resolution. When an operator is appended, the partial + expression is returned. If it's a self-resolving operator, then + a ResolvableConstraintExpression is returned. + + + + + The ConstraintBuilder holding the elements recognized so far + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class passing in a ConstraintBuilder, which may be pre-populated. + + The builder. + + + + Returns a string representation of the expression as it + currently stands. This should only be used for testing, + since it has the side-effect of resolving the expression. + + + + + + Appends an operator to the expression and returns the + resulting expression itself. + + + + + Appends a self-resolving operator to the expression and + returns a new ResolvableConstraintExpression. + + + + + Appends a constraint to the expression and returns that + constraint, which is associated with the current state + of the expression being built. Note that the constraint + is not reduced at this time. For example, if there + is a NotOperator on the stack we don't reduce and + return a NotConstraint. The original constraint must + be returned because it may support modifiers that + are yet to be applied. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that fails if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that fails if the actual + value matches the pattern supplied as an argument. + + + + + Returns a constraint that tests whether the actual value falls + within a specified range. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occured in applying the constraint (reserved for future use) + + + + + Contain the result of matching a against an actual value. + + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + The status of the new ConstraintResult. + + + + Constructs a for a particular . + + The Constraint to which this result applies. + The actual value to which the Constraint was applied. + If true, applies a status of Success to the result, otherwise Failure. + + + + The actual value that was passed to the method. + + + + + Gets and sets the ResultStatus for this result. + + + + + True if actual value meets the Constraint criteria otherwise false. + + + + + Display friendly name of the constraint. + + + + + Description of the constraint may be affected by the state the constraint had + when was performed against the actual value. + + + + + Write the failure message to the MessageWriter provided + as an argument. The default implementation simply passes + the result and the actual value to the writer, which + then displays the constraint description and the value. + + Constraints that need to provide additional details, + such as where the error occured can override this. + + The MessageWriter on which to display the message + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The _expected. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected key is contained in the dictionary + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the expected value is contained in the dictionary + + + + + EmptyCollectionConstraint tests whether a collection is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that the collection is empty + + + + + + + EmptyConstraint tests a whether a string or collection is empty, + postponing the decision about which test is applied until the + type of the actual argument is known. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EmptyStringConstraint tests whether a string is empty. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + EndsWithConstraint can test whether a string ends + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + EqualConstraint is able to compare an actual value with the + expected value provided in its constructor. Two objects are + considered equal if both are null, or if both have the same + value. NUnit has special semantics for some object types. + + + + + NUnitEqualityComparer used to test equality. + + + + + Initializes a new instance of the class. + + The expected value. + + + + Gets the tolerance for this comparison. + + + The tolerance. + + + + + Gets a value indicating whether to compare case insensitive. + + + true if comparing case insensitive; otherwise, false. + + + + + Gets a value indicating whether or not to clip strings. + + + true if set to clip strings otherwise, false. + + + + + Gets the failure points. + + + The failure points. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to suppress string clipping + and return self. + + + + + Flag the constraint to compare arrays as collections + and return self. + + + + + Flag the constraint to use a tolerance when determining equality. + + Tolerance value to be used + Self. + + + + Flags the constraint to include + property in comparison of two values. + + + Using this modifier does not allow to use the + constraint modifier. + + + + + Switches the .Within() modifier to interpret its tolerance as + a distance in representable _values (see remarks). + + Self. + + Ulp stands for "unit in the last place" and describes the minimum + amount a given value can change. For any integers, an ulp is 1 whole + digit. For floating point _values, the accuracy of which is better + for smaller numbers and worse for larger numbers, an ulp depends + on the size of the number. Using ulps for comparison of floating + point results instead of fixed tolerances is safer because it will + automatically compensate for the added inaccuracy of larger numbers. + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual _values is allowed to deviate from + the expected value. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in days. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in hours. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in minutes. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in seconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in milliseconds. + + Self + + + + Causes the tolerance to be interpreted as a TimeSpan in clock ticks. + + Self + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both _values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + Helper routines for working with floating point numbers + + + The floating point comparison code is based on this excellent article: + http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm + + + "ULP" means Unit in the Last Place and in the context of this library refers to + the distance between two adjacent floating point numbers. IEEE floating point + numbers can only represent a finite subset of natural numbers, with greater + accuracy for smaller numbers and lower accuracy for very large numbers. + + + If a comparison is allowed "2 ulps" of deviation, that means the _values are + allowed to deviate by up to 2 adjacent floating point _values, which might be + as low as 0.0000001 for small numbers or as high as 10.0 for large numbers. + + + + + Union of a floating point variable and an integer + + + The union's value as a floating point variable + + + The union's value as an integer + + + The union's value as an unsigned integer + + + Union of a double precision floating point variable and a long + + + The union's value as a double precision floating point variable + + + The union's value as a long + + + The union's value as an unsigned long + + + Compares two floating point _values for equality + First floating point value to be compared + Second floating point value t be compared + + Maximum number of representable floating point _values that are allowed to + be between the left and the right floating point _values + + True if both numbers are equal or close to being equal + + + Floating point _values can only represent a finite subset of natural numbers. + For example, the _values 2.00000000 and 2.00000024 can be stored in a float, + but nothing inbetween them. + + + This comparison will count how many possible floating point _values are between + the left and the right number. If the number of possible _values between both + numbers is less than or equal to maxUlps, then the numbers are considered as + being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + Compares two double precision floating point _values for equality + First double precision floating point value to be compared + Second double precision floating point value t be compared + + Maximum number of representable double precision floating point _values that are + allowed to be between the left and the right double precision floating point _values + + True if both numbers are equal or close to being equal + + + Double precision floating point _values can only represent a limited series of + natural numbers. For example, the _values 2.0000000000000000 and 2.0000000000000004 + can be stored in a double, but nothing inbetween them. + + + This comparison will count how many possible double precision floating point + _values are between the left and the right number. If the number of possible + _values between both numbers is less than or equal to maxUlps, then the numbers + are considered as being equal. + + + Implementation partially follows the code outlined here: + http://www.anttirt.net/2007/08/19/proper-floating-point-comparisons/ + + + + + + Reinterprets the memory contents of a floating point value as an integer value + + + Floating point value whose memory contents to reinterpret + + + The memory contents of the floating point value interpreted as an integer + + + + + Reinterprets the memory contents of a double precision floating point + value as an integer value + + + Double precision floating point value whose memory contents to reinterpret + + + The memory contents of the double precision floating point value + interpreted as an integer + + + + + Reinterprets the memory contents of an integer as a floating point value + + Integer value whose memory contents to reinterpret + + The memory contents of the integer value interpreted as a floating point value + + + + + Reinterprets the memory contents of an integer value as a double precision + floating point value + + Integer whose memory contents to reinterpret + + The memory contents of the integer interpreted as a double precision + floating point value + + + + + Tests whether a value is greater than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a givel + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual _values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric _values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric _values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the _values are equal + + + + Compare two numeric _values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the _values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depthy. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + Helper method to compare two arrays + + + + + FailurePoint class represents one point of failure + in an equality test. + + + + + The location of the failure + + + + + The expected value + + + + + The actual value + + + + + Indicates whether the expected value is valid + + + + + Indicates whether the actual value is valid + + + + + Represents a constraint that succeeds if all the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + they all succeed. + + + + + Operator that requires both it's arguments to succeed + + + + + Construct an AndOperator + + + + + Apply the operator to produce an AndConstraint + + + + + Operator that tests for the presence of a particular attribute + on a type and optionally applies further tests to the attribute. + + + + + Construct an AttributeOperator for a particular Type + + The Type of attribute tested + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Abstract base class for all binary operators + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Gets the left precedence of the operator + + + + + Gets the right precedence of the operator + + + + + Abstract method that produces a constraint by applying + the operator to its left and right constraint arguments. + + + + + Abstract base for operators that indicate how to + apply a constraint to items in a collection. + + + + + Constructs a CollectionOperator + + + + + The ConstraintOperator class is used internally by a + ConstraintBuilder to represent an operator that + modifies or combines constraints. + + Constraint operators use left and right precedence + _values to determine whether the top operator on the + stack should be reduced before pushing a new operator. + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + The syntax element preceding this operator + + + + + The syntax element following this operator + + + + + The precedence value used when the operator + is about to be pushed to the stack. + + + + + The precedence value used when the operator + is on the top of the stack. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Represents a constraint that succeeds if none of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + none of them succeed. + + + + + Negates the test of the constraint it wraps. + + + + + Constructs a new NotOperator + + + + + Returns a NotConstraint applied to its argument. + + + + + Operator that requires at least one of it's arguments to succeed + + + + + Construct an OrOperator + + + + + Apply the operator to produce an OrConstraint + + + + + PrefixOperator takes a single constraint and modifies + it's action in some way. + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Returns the constraint created by applying this + prefix to another constraint. + + + + + + + Operator used to test for the presence of a named Property + on an object and optionally apply further tests to the + value of that property. + + + + + Gets the name of the property to which the operator applies + + + + + Constructs a PropOperator for a particular named property + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + Abstract base class for operators that are able to reduce to a + constraint whether or not another syntactic element follows. + + + + + Represents a constraint that succeeds if any of the + members of a collection match a base constraint. + + + + + Returns a constraint that will apply the argument + to the members of a collection, succeeding if + any of them succeed. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two _values are within a + specified range. + + + + + Initializes a new instance of the class. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + Initializes a new instance of the class. + + The pattern. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ResolvableConstraintExpression is used to represent a compound + constraint being constructed at a point where the last operator + may either terminate the expression or may have additional + qualifying constraints added to it. + + It is used, for example, for a Property element or for + an Exception element, either of which may be optionally + followed by constraints that apply to the property or + exception. + + + + + Create a new instance of ResolvableConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + Appends an And Operator to the expression + + + + + Appends an Or operator to the expression. + + + + + Resolve the current expression to a Constraint + + + + + ReusableConstraint wraps a constraint expression after + resolving it so that it can be reused consistently. + + + + + Construct a ReusableConstraint from a constraint expression + + The expression to be resolved and reused + + + + Converts a constraint to a ReusableConstraint + + The constraint to be converted + A ReusableConstraint + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Return the top-level constraint for this expression + + + + + + SameAsConstraint tests whether an object is identical to + the object passed to its constructor + + + + + Initializes a new instance of the class. + + The expected object. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SomeItemsConstraint applies another constraint to each + item in a collection, succeeding if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Returns the ActualValueDelegate itself as the value to be tested. + + A delegate representing the code to be tested + The delegate itself + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to + specifying an exact match unless + is set, in which case, the + will be used. + + + + + Returns an empty Tolerance object, equivalent to + specifying an exact match even if + is set. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Gets the for the current Tolerance + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Gets the value of the current Tolerance instance. + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared _values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared _values my deviate from each other. + + + + + Compares two _values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + Abstract base for Exceptions that terminate a test and provide a ResultState. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Gets the ResultState provided by this exception + + + + + GlobalSettings is a place for setting default values used + by the framework in performing asserts. Anything set through + this class applies to the entire test run. It should not normally + be used from within a test, since it is not thread-safe. + + + + + Default tolerance for floating point equality + + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new CollectionContainsConstraint checking for the + presence of a particular object in the collection. + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + Any ITest that implements this interface is at a level that the implementing + class should be disposed at the end of the test run + + + + + The IFixtureBuilder interface is exposed by a class that knows how to + build a TestFixture from one or more Types. In general, it is exposed + by an attribute, but may be implemented in a helper class used by the + attribute in some cases. + + + + + Build one or more TestFixtures from type provided. At least one + non-null TestSuite must always be returned, since the method is + generally called because the user has marked the target class as + a fixture. If something prevents the fixture from being used, it + will be returned nonetheless, labelled as non-runnable. + + The type info of the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + IImplyFixture is an empty marker interface used by attributes like + TestAttribute that cause the class where they are used to be treated + as a TestFixture even without a TestFixtureAttribute. + + Marker interfaces are not usually considered a good practice, but + we use it here to avoid cluttering the attribute hierarchy with + classes that don't contain any extra implementation. + + + + + The IMethodInfo class is used to encapsulate information + about a method in a platform-independent manner. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + The IDataPointProvider interface is used by extensions + that provide data for a single test parameter. + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + The IParameterDataSource interface is implemented by types + that can provide data for a test method parameter. + + + + + Gets an enumeration of data items for use as arguments + for a test method parameter. + + The parameter for which data is needed + An enumeration containing individual data items + + + + The IParameterInfo interface is an abstraction of a .NET parameter. + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter + + + + + Gets the underlying .NET ParameterInfo + + + + + Gets the Type of the parameter + + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple _values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all _values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued propeties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are _values present, otherwise false + + + + Gets or sets the list of _values for a particular key + + The key for which the _values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single TestMethod from a suitable MethodInfo Types. In general, + it is exposed by an attribute, but may be implemented in a helper class + used by the attribute in some cases. + + + + + Build a TestMethod from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ISuiteBuilder interface is exposed by a class that knows how to + build a suite from one or more Types. + + + + + Examine the type and determine if it is suitable for + this builder to use in building a TestSuite. + + Note that returning false will cause the type to be ignored + in loading the tests. If it is desired to load the suite + but label it as non-runnable, ignored, etc., then this + method must return true. + + The type of the fixture to be used + True if the type can be used to build a TestSuite + + + + Build a TestSuite from type provided. + + The type of the fixture to be used + A TestSuite + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets an IMethod for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the RunState of the test, indicating whether it can be run. + + + + + Count of the test cases ( 1 if this is a test case ) + + + + + Gets the properties of the test + + + + + Gets the parent test, if any. + + The parent test or null if none exists. + + + + Returns true if this is a test suite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets a fixture object for running this test. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build one or more TestMethods from a MethodInfo. In general, it is exposed + by an attribute, which has additional information available to provide + the necessary test parameters to distinguish the test cases built. + + + + + Build one or more TestMethods from the provided MethodInfo. + + The method to be used as a test + The TestSuite to which the method will be added + A TestMethod object + + + + The ITestCaseBuilder interface is exposed by a class that knows how to + build a test case from certain methods. + + + This interface is not the same as the ITestCaseBuilder interface in NUnit 2.x. + We have reused the name because the two products don't interoperate at all. + + + + + Examine the method and determine if it is suitable for + this builder to use in building a TestCase to be + included in the suite being populated. + + Note that returning false will cause the method to be ignored + in loading the tests. If it is desired to load the method + but label it as non-runnable, ignored, etc., then this + method must return true. + + The test method to examine + The suite being populated + True is the builder can use this method + + + + Build a TestCase from the provided MethodInfo for + inclusion in the suite being constructed. + + The method to be used as a test case + The test suite being populated, or null + A TestCase or null + + + + The ITestCaseData interface is implemented by a class + that is able to return complete testcases for use by + a parameterized test method. + + + + + Gets the expected result of the test case + + + + + Returns true if an expected result has been set + + + + + The ITestData interface is implemented by a class that + represents a single instance of a parameterized test. + + + + + Gets the name to be used for the test + + + + + Gets the RunState for this test case. + + + + + Gets the argument list to be provided to the test + + + + + Gets the property dictionary for the test case + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + The ITestResult interface represents the result of a test. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. Not available in + the Compact Framework 1.0. + + + + + Gets the number of asserts executed + when running the test and all its children. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the Namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type is a static class. + + + + + Get the display name for this typeInfo. + + + + + Get the display name for an oject of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeSetUp + + + + + A suite had an unexpected exception in its OneTimeDown + + + + + Gets the TestStatus for the test. + + The status. + + + + Gets the label under which this test result is + categorized, if any. + + + + + Gets the stage of test execution in which + the failure or other result took place. + + + + + Get a new ResultState, which is the same as the current + one but with the FailureSite set to the specified value. + + The FailureSite to use + A new ResultState + + + + Determines whether the specified , is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + The FailureSite enum indicates the stage of a test + in which an error or failure occurred. + + + + + Failure in the test itself + + + + + Failure in the SetUp method + + + + + Failure in the TearDown method + + + + + Failure of a parent test + + + + + Failure of a child test + + + + + The RunState enum indicates whether a test can be executed. + + + + + The test is not runnable. + + + + + The test is runnable. + + + + + The test can only be run explicitly + + + + + The test has been skipped. This value may + appear on a Test when certain attributes + are used to skip the test. + + + + + The test has been ignored. May appear on + a Test, when the IgnoreAttribute is used. + + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, ouput destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from it's XML text representation + + The XML text to be parsed + A TNode + + + + Adds a new element as a child of the current node and returns it. + + The element name. + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + + The element name + The text content of the new element + The newly created child element + + + + Adds a new element with a value as a child of the current node and returns it. + The value will be output using a CDATA section. + + The element name + The text content of the new element + The newly created child element + + + + Adds an attribute with a specified name and value to the XmlNode. + + The name of the attribute. + The value of the attribute. + + + + Finds a single descendant of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + + + Finds all descendants of this node matching an xpath + specification. The format of the specification is + limited to what is needed by NUnit and its tests. + + + + + Writes the XML representation of the node to an XmlWriter + + + + + + Class used to represent a list of XmlResults + + + + + Class used to represent the attributes of a node + + + + + Gets or sets the value associated with the specified key. + Overridden to return null if attribute is not found. + + The key. + Value of the attribute or null + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which is the AssemblyName + + + + + + + Waits for pending asynchronous operations to complete, if appropriate, + and returns a proper result of the invocation by unwrapping task results + + The raw result of the method invocation + The unwrapped result, if necessary + + + + CombinatorialStrategy creates test cases by using all possible + combinations of the parameter data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + Provides data from fields marked with the DatapointAttribute or the + DatapointsAttribute. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + A ParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + Built-in SuiteBuilder for all types of test classes. + + + + + Checks to see if the provided Type is a fixture. + To be considered a fixture, it must be a non-abstract + class with one or more attributes implementing the + IFixtureBuilder interface or one or more methods + marked as tests. + + The fixture type to check + True if the fixture can be built, false if not + + + + Build a TestSuite from TypeInfo provided. + + The fixture type to build + A TestSuite built from that type + + + + We look for attributes implementing IFixtureBuilder at one level + of inheritance at a time. Attributes on base classes are not used + unless there are no fixture builder attributes at all on the derived + class. This is by design. + + The type being examined for attributes + A list of the attributes found. + + + + Class to build ether a parameterized or a normal NUnitTestMethod. + There are four cases that the builder must deal with: + 1. The method needs no params and none are provided + 2. The method needs params and they are provided + 3. The method needs no params but they are provided in error + 4. The method needs params but they are not provided + This could have been done using two different builders, but it + turned out to be simpler to have just one. The BuildFrom method + takes a different branch depending on whether any parameters are + provided, but all four cases are dealt with in lower-level methods + + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + A Test representing one or more method invocations + + + + Determines if the method can be used to build an NUnit test + test method of some kind. The method must normally be marked + with an identifying attribute for this to be true. + + Note that this method does not check that the signature + of the method for validity. If we did that here, any + test methods with invalid signatures would be passed + over in silence in the test run. Since we want such + methods to be reported, the check for validity is made + in BuildFrom rather than here. + + An IMethodInfo for the method being used as a test method + The test suite being built, to which the new test would be added + True if the builder can create a test case from this method + + + + Build a Test from the provided MethodInfo. Depending on + whether the method takes arguments and on the availability + of test case data, this method may return a single test + or a group of tests contained in a ParameterizedMethodSuite. + + The method for which a test is to be built + The test fixture being populated, or null + A Test representing one or more method invocations + + + + Builds a ParameterizedMethodSuite containing individual test cases. + + The method for which a test is to be built. + The list of test cases to include. + A ParameterizedMethodSuite populated with test cases + + + + Build a simple, non-parameterized TestMethod for this method. + + The MethodInfo for which a test is to be built + The test suite for which the method is being built + A TestMethod. + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + The root of the test suite being created by this builder. + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + Helper method that checks the signature of a TestMethod and + any supplied parameters to determine if the test is valid. + + Currently, NUnitTestMethods are required to be public, + non-abstract methods, either static or instance, + returning void. They may take arguments but the _values must + be provided or the TestMethod is not considered runnable. + + Methods not meeting these criteria will be marked as + non-runnable and the method will return false in that case. + + The TestMethod to be checked. If it + is found to be non-runnable, it will be modified. + Parameters to be used for this test, or null + True if the method signature is valid, false if not + + The return value is no longer used internally, but is retained + for testing purposes. + + + + + NUnitTestFixtureBuilder is able to build a fixture given + a class marked with a TestFixtureAttribute or an unmarked + class containing test methods. In the first case, it is + called by the attribute and in the second directly by + NUnitSuiteBuilder. + + + + + Build a TestFixture from type provided. A non-null TestSuite + must always be returned, since the method is generally called + because the user has marked the target class as a fixture. + If something prevents the fixture from being used, it should + be returned nonetheless, labelled as non-runnable. + + An ITypeInfo for the fixture to be used. + A TestSuite object or one derived from TestSuite. + + + + Overload of BuildFrom called by tests that have arguments. + Builds a fixture using the provided type and information + in the ITestFixtureData object. + + The TypeInfo for which to construct a fixture. + An object implementing ITestFixtureData or null. + + + + + Method to add test cases to the newly constructed fixture. + + The fixture to which cases should be added + + + + Method to create a test case from a MethodInfo and add + it to the fixture being built. It first checks to see if + any global TestCaseBuilder addin wants to build the + test case. If not, it uses the internal builder + collection maintained by this fixture builder. + + The default implementation has no test case builders. + Derived classes should add builders to the collection + in their constructor. + + The method for which a test is to be created + The test suite being built. + A newly constructed Test + + + + PairwiseStrategy creates test cases by combining the parameter + data so that all possible pairs of data items are used. + + + + The number of test cases that cover all possible pairs of test function + parameters values is significantly less than the number of test cases + that cover all possible combination of test function parameters values. + And because different studies show that most of software failures are + caused by combination of no more than two parameters, pairwise testing + can be an effective ways to test the system when it's impossible to test + all combinations of parameters. + + + The PairwiseStrategy code is based on "jenny" tool by Bob Jenkins: + http://burtleburtle.net/bob/math/jenny.html + + + + + + FleaRand is a pseudo-random number generator developed by Bob Jenkins: + http://burtleburtle.net/bob/rand/talksmall.html#flea + + + + + Initializes a new instance of the FleaRand class. + + The seed. + + + + FeatureInfo represents coverage of a single value of test function + parameter, represented as a pair of indices, Dimension and Feature. In + terms of unit testing, Dimension is the index of the test parameter and + Feature is the index of the supplied value in that parameter's list of + sources. + + + + + Initializes a new instance of FeatureInfo class. + + Index of a dimension. + Index of a feature. + + + + A FeatureTuple represents a combination of features, one per test + parameter, which should be covered by a test case. In the + PairwiseStrategy, we are only trying to cover pairs of features, so the + tuples actually may contain only single feature or pair of features, but + the algorithm itself works with triplets, quadruples and so on. + + + + + Initializes a new instance of FeatureTuple class for a single feature. + + Single feature. + + + + Initializes a new instance of FeatureTuple class for a pair of features. + + First feature. + Second feature. + + + + TestCase represents a single test case covering a list of features. + + + + + Initializes a new instance of TestCaseInfo class. + + A number of features in the test case. + + + + PairwiseTestCaseGenerator class implements an algorithm which generates + a set of test cases which covers all pairs of possible values of test + function. + + + + The algorithm starts with creating a set of all feature tuples which we + will try to cover (see method). This set + includes every single feature and all possible pairs of features. We + store feature tuples in the 3-D collection (where axes are "dimension", + "feature", and "all combinations which includes this feature"), and for + every two feature (e.g. "A" and "B") we generate both ("A", "B") and + ("B", "A") pairs. This data structure extremely reduces the amount of + time needed to calculate coverage for a single test case (this + calculation is the most time-consuming part of the algorithm). + + + Then the algorithm picks one tuple from the uncovered tuple, creates a + test case that covers this tuple, and then removes this tuple and all + other tuples covered by this test case from the collection of uncovered + tuples. + + + Picking a tuple to cover + + + There are no any special rules defined for picking tuples to cover. We + just pick them one by one, in the order they were generated. + + + Test generation + + + Test generation starts from creating a completely random test case which + covers, nevertheless, previously selected tuple. Then the algorithm + tries to maximize number of tuples which this test covers. + + + Test generation and maximization process repeats seven times for every + selected tuple and then the algorithm picks the best test case ("seven" + is a magic number which provides good results in acceptable time). + + Maximizing test coverage + + To maximize tests coverage, the algorithm walks thru the list of mutable + dimensions (mutable dimension is a dimension that are not included in + the previously selected tuple). Then for every dimension, the algorithm + walks thru the list of features and checks if this feature provides + better coverage than randomly selected feature, and if yes keeps this + feature. + + + This process repeats while it shows progress. If the last iteration + doesn't improve coverage, the process ends. + + + In addition, for better results, before start every iteration, the + algorithm "scrambles" dimensions - so for every iteration dimension + probes in a different order. + + + + + + Creates a set of test cases for specified dimensions. + + + An array which contains information about dimensions. Each element of + this array represents a number of features in the specific dimension. + + + A set of test cases. + + + + + Gets the test cases generated by this strategy instance. + + A set of test cases. + + + + The ParameterDataProvider class implements IParameterDataProvider + and hosts one or more individual providers. + + + + + Construct with a collection of individual providers + + + + + Determine whether any data is available for a parameter. + + An IParameterInfo representing one + argument to a parameterized test + True if any data is available, otherwise false. + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + An IEnumerable providing the required data + + + + ParameterDataSourceProvider supplies individual argument _values for + single parameters using attributes implementing IParameterDataSource. + + + + + Determine whether any data is available for a parameter. + + A ParameterInfo representing one + argument to a parameterized test + + True if any data is available, otherwise false. + + + + + Return an IEnumerable providing data for use with the + supplied parameter. + + An IParameterInfo representing one + argument to a parameterized test + + An IEnumerable providing the required data + + + + + SequentialStrategy creates test cases by using all of the + parameter data sources in parallel, substituting null + when any of them run out of data. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + The CommandStage enumeration represents the defined stages + of execution for a series of TestCommands. The int _values + of the enum are used to apply decorators in the proper + order. Lower _values are applied first and are therefore + "closer" to the actual test execution. + + + No CommandStage is defined for actual invocation of the test or + for creation of the context. Execution may be imagined as + proceeding from the bottom of the list upwards, with cleanup + after the test running in the opposite order. + + + + + Use an application-defined default value. + + + + + Make adjustments needed before and after running + the raw test - that is, after any SetUp has run + and before TearDown. + + + + + Run SetUp and TearDown for the test. This stage is used + internally by NUnit and should not normally appear + in user-defined decorators. + + + + + Make adjustments needed before and after running + the entire test - including SetUp and TearDown. + + + + + TODO: Documentation needed for class + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext + + The context in which the test should run. + A TestResult + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run after Setup + + + + Overridden to run the one-time setup for a suite. + + The TestExecutionContext to be used. + A TestResult + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The test suite to which the command applies + A SetUpTearDownList for use by the command + A List of TestActionItems to be run before teardown. + + + + Overridden to run the teardown methods specified on the test. + + The TestExecutionContext to be used. + A TestResult + + + + SetUpTearDownCommand runs any SetUp methods for a suite, + runs the test and then runs any TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand runs the BeforeTest actions for a test, + then runs the test and finally runs the AfterTestActions. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + TestActionItem represents a single execution of an + ITestAction. It is used to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + Overridden to call the inner command and adjust the result + in case all chlid results were inconclusive. + + + + + + + CultureDetector is a helper class used by NUnit to determine + whether a test should be run based on the current culture. + + + + + Default constructor uses the current culture. + + + + + Construct a CultureDetector for a particular culture for testing. + + The culture to be used + + + + Test to determine if one of a collection of cultures + is being used currently. + + + + + + + Tests to determine if the current culture is supported + based on a culture attribute. + + The attribute to examine + + + + + Test to determine if the a particular culture or comma- + delimited set of cultures is in use. + + Name of the culture or comma-separated list of culture ids + True if the culture is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + ExceptionHelper provides static methods for working with exceptions + + + + + Rethrows an exception, preserving its stack trace + + The exception to rethrow + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. + + The exception. + A string representation of the stack trace. + + + + A utility class to create TestCommands + + + + + Gets the command to be executed before any of + the child tests are run. + + A TestCommand + + + + Gets the command to be executed after all of the + child tests are run. + + A TestCommand + + + + Creates a test command for use in running this test. + + + + + + Creates a command for skipping a test. The result returned will + depend on the test RunState. + + + + + Builds the set up tear down list. + + Type of the fixture. + Type of the set up attribute. + Type of the tear down attribute. + A list of SetUpTearDownItems + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + A count of how many tests in the work item have a value for the Order Property + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do setup, run all child + items and then do teardown. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + Sorts tests under this suite. + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + A simplified implementation of .NET 4 CountdownEvent + for use in earlier versions of .NET. Only the methods + used by NUnit are implemented. + + + + + Construct a CountdownEvent + + The initial count + + + + Gets the initial count established for the CountdownEvent + + + + + Gets the current count remaining for the CountdownEvent + + + + + Decrement the count by one + + + + + Block the thread until the count reaches zero + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + A SimpleWorkItem represents a single test case and is + marked as completed immediately upon execution. This + class is also used for skipped or ignored test suites. + + + + + Construct a simple work item for a test. + + The test to be executed + The filter used to select this test + + + + Method that performs actually performs the work. + + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and a thread is created on which to + run it. Subsequent calls come from the top level + item or its descendants on the proper thread. + + The item to dispatch + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The execution context + + + + + The unique id of the worker executing this item. + + + + + The test actions to be performed before and after this test + + + + + The test result + + + + + Execute the current work item, including any + child work items. + + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Display Expected and Actual lines for given _values. This + method may be called by constraints that need more control over + the display of actual and expected _values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given _values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string _values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + The expected value + + + + Write the generic 'Expected' line for a given value + and tolerance. + + The expected value + The tolerance within which the test was made + + + + Write the generic 'Actual' line for a constraint + + The ConstraintResult for which the actual value is to be written + + + + Write the generic 'Actual' line for a given value + + The actual value causing a failure + + + + Combines multiple filters so that a test must pass all + of them in order to pass this filter. + + + + + Constructs an empty AndFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters pass, otherwise false + + + + Checks whether the AndFilter is matched by a test + + The test to be matched + True if all the component filters match, otherwise false + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Check whether the filter matches a test + + The test to be matched + True if it matches, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an AndFilter from an array of filters + + + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters pass, otherwise false + + + + Checks whether the OrFilter is matched by a test + + The test to be matched + True if any of the component filters match, otherwise false + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be matchedT + True for a match, false otherwise. + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + GenericMethodHelper is able to deduce the Type arguments for + a generic method from the actual arguments provided. + + + + + Construct a GenericMethodHelper for a method + + MethodInfo for the method to examine + + + + Return the type argments for the method, deducing them + from the arguments actually provided. + + The arguments to the method + An array of type arguments. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the spcified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Thrown when an assertion failed. Here to preserve the inner + exception and hence its stack trace. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + + + + Initializes a new instance of the class. + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but _values + may be of any type. Null _values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + _values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple _values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are _values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of _values for a particular key + + + + + Returns an XmlNode representating the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random _values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same _values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probablility a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return an array of methods having a + particular attribute. The array is order with base methods first. + + The type to examine + The attribute Type to look for + Specifies whether to search the fixture type inheritance chain + The array of methods found + + + + Examine a fixture type and return true if it has a method with + a particular attribute. + + The type to examine + The attribute Type to look for + True if found, otherwise false + + + + Invoke the default constructor on a Type + + The Type to be constructed + An instance of the Type + + + + Invoke a constructor on a Type with arguments + + The Type to be constructed + Arguments to the constructor + An instance of the Type + + + + Returns an array of types from an array of objects. + Used because the compact framework doesn't support + Type.GetTypeArray() + + An array of objects + An array of Types + + + + Invoke a parameterless method returning void on an object. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + + + + Invoke a method, converting any TargetInvocationException to an NUnitException. + + A MethodInfo for the method to be invoked + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Represents the result of running a single test case. + + + + + Construct a TestCaseResult based on a TestMethod + + A TestMethod to which the result applies. + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets or sets the count of asserts executed + when running the test. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + THe FailureSite to use in the result + + + + RecordTearDownException appends the message and stacktrace + from an exception arising during teardown of the test + to any previously recorded information, so that any + earlier failure information is not lost. Note that + calling Assert.Ignore, Assert.Inconclusive, etc. during + teardown is treated as an error. If the current result + represents a suite, it may show a teardown error even + though all contained tests passed. + + The Exception to be recorded + + + + Adds a reason element to a node and returns it. + + The target node. + The new reason element. + + + + Adds a failure element to a node and returns it. + + The target node. + The new failure element. + + + + Represents the result of running a test suite + + + + + Construct a TestSuiteResult base on a TestSuite + + The TestSuite to which the result applies + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + Zero if the strings are equivalent, a negative number if strA is sorted first, a positive number if + strB is sorted first + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to true, the case of the letters in the strings is ignored. + True if the strings are equivalent, false if not. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + An internal class is used to hold settings and a stack + of these objects is pushed and popped as Save and Restore + are called. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Clear the current context. This is provided to + prevent "leakage" of the CallContext containing + the current context back to any runners. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set the working directory + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + The unique name of the worker that spawned the context. + For builds with out the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + Record any changes in the environment made by + the test code in the execution context so it + will be passed on to lower level tests. + + + + + Set up the execution environment to match a context. + Note that we may be running on the same thread where the + context was initially created or on a different thread. + + + + + Increments the assert count by one. + + + + + Increments the assert count by a specified amount. + + + + + Adds a new ValueFormatterFactory to the chain of formatters + + The new factory + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter expicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicityly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from it's TNode representation + + + + + Nested class provides an empty filter - one that always + returns true when called. It never matches explicitly. + + + + + Adds an XML node + + True if recursive + The added XML node + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + Type arguments used to create a generic fixture instance + + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + The display name + + + + Get the display name for a TestMethod and it's arguments + + A TestMethod + Arguments to be used + The display name + + + + TestParameters is the abstract base class for all classes + that know how to provide data for constructing a test. + + + + + Default Constructor creates an empty parameter set + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a ParameterSet from an object implementing ITestData + + + + + + The RunState for this set of parameters. + + + + + The arguments to be used in running the test, + which must match the method signature. + + + + + A name to be used for this test case in lieu + of the standard generated name containing + the argument list. + + + + + Gets the property dictionary for this test + + + + + Applies ParameterSet _values to the test itself. + + A test. + + + + The original arguments provided by the user, + used for display purposes. + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Returns the parent test item for the targer test item if it exists + + + parent test item + + + + Makes a string safe for use as an attribute, replacing + characters characters that can't be used with their + corresponding xml representations. + + The string to be used + A new string with the _values replaced + + + + ParameterizedFixtureSuite serves as a container for the set of test + fixtures created from a given Type using various parameters. + + + + + Initializes a new instance of the class. + + The ITypeInfo for the type that represents the suite. + + + + Gets a string representing the type of test + + + + + + ParameterizedMethodSuite holds a collection of individual + TestMethods with their arguments applied. + + + + + Construct from a MethodInfo + + + + + + Gets a string representing the type of test + + + + + + SetUpFixture extends TestSuite and supports + Setup and TearDown methods. + + + + + Initializes a new instance of the class. + + The type. + + + + The Test abstract class represents a test within the framework. + + + + + Static value to seed ids. It's started at 1000 so any + uninitialized ids will stand out. + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + TODO: Documentation needed for constructor + + + + + + Construct a test from a MethodInfo + + + + + + Gets or sets the id of the test + + + + + + Gets or sets the name of the test + + + + + Gets or sets the fully qualified name of the test + + + + + + Gets the name of the class where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied ICustomAttributeProvider, which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + An object deriving from MemberInfo + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied ICustomAttributeProvider, which is + usually the reflection element from which the test was constructed, + but may not be in some instances. The attributes retrieved are + saved for use in subsequent operations. + + An object deriving from MemberInfo + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares this test to another test for sorting purposes + + The other test + Value of -1, 0 or +1 depending on whether the current test is less than, equal to or greater than the other test + + + + TestAssembly is a TestSuite that represents the execution + of tests in a managed assembly. + + + + + Initializes a new instance of the class + specifying the Assembly and the path from which it was loaded. + + The assembly this test represents. + The path used to load the assembly. + + + + Initializes a new instance of the class + for a path which could not be loaded. + + The path used to load the assembly. + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + TestFixture is a surrogate for a user test fixture class, + containing one or more tests. + + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + The TestMethod class represents a Test implemented as a method. + + + + + The ParameterSet used to create this test method + + + + + Initializes a new instance of the class. + + The method to be used as a test. + + + + Initializes a new instance of the class. + + The method to be used as a test. + The suite or fixture to which the new test will be added + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Sorts tests under this suite. + + + + + Adds a test to the suite. + + The test. + + + + Gets this test's child tests + + The list of child tests + + + + Gets a count of test cases represented by + or contained under this test. + + + + + + The arguments to use in creating the fixture + + + + + Set to true to suppress sorting this suite's contents + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + The attribute type to check for + + + + TypeHelper provides static methods that operate on Types. + + + + + A special value, which is used to indicate that BestCommonType() method + was unable to find a common type for the specified arguments. + + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The display name for the Type + + + + Gets the display name for a Type as used by NUnit. + + The Type for which a display name is needed. + The arglist provided. + The display name for the Type + + + + Returns the best fit for a common type to be used in + matching actual arguments to a methods Type parameters. + + The first type. + The second type. + Either type1 or type2, depending on which is more general. + + + + Determines whether the specified type is numeric. + + The type to be examined. + + true if the specified type is numeric; otherwise, false. + + + + + Convert an argument list to the required parameter types. + Currently, only widening numeric conversions are performed. + + An array of args to be converted + A ParameterInfo[] whose types will be used as targets + + + + Determines whether this instance can deduce type args for a generic type from the supplied arguments. + + The type to be examined. + The arglist. + The type args to be used. + + true if this the provided args give sufficient information to determine the type args to be used; otherwise, false. + + + + + Gets the _values for an enumeration, using Enum.GetTypes + where available, otherwise through reflection. + + + + + + + Gets the ids of the _values for an enumeration, + using Enum.GetNames where available, otherwise + through reflection. + + + + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + from must be less than or equal to true + Inclusive beginning of the range. Must be less than or equal to to. + Inclusive end of the range. Must be greater than or equal to from. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the _values of a property + + The collection of property _values + + + + + The SpecialValue enum is used to represent TestCase arguments + that cannot be used as arguments to an Attribute. + + + + + Null represents a null value, which cannot be used as an + argument to an attriute under .NET 1.x + + + + + Basic Asserts on strings. + + + + + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + override the default ReferenceEquals to throw an InvalidOperationException. This + implementation makes sure there is no mistake in calling this function + as part of Assert. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for fomatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compould function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any stacktrace associated with an + error or failure. + + + + + Gets the number of test cases that failed + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists.N + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the paramter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNUllException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attache a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the frameowrk TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the test + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + Portable libraries do not have an ICustomAttributeProvider, so we need to cast to each of + it's direct subtypes and try to get attributes off those instead. + The actual. + Type of the attribute. + if set to true [inherit]. + A list of the given attribute on the given object. + + + + Specifies flags that control binding and the way in which the search for members + and types is conducted by reflection. + + + + + Specifies no binding flag. + + + + + Specifies that only members declared at the level of the supplied type's hierarchy + should be considered. Inherited members are not considered. + + + + + Specifies that instance members are to be included in the search. + + + + + Specifies that static members are to be included in the search. + + + + + Specifies that public members are to be included in the search. + + + + + Specifies that non-public members are to be included in the search. + + + + + Specifies that public and protected static members up the hierarchy should be + returned. Private static members in inherited classes are not returned. Static + members include fields, methods, events, and properties. Nested types are not + returned. + + + + + A MarshalByRefObject that lives forever + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class allows direct calls on Type on + those platforms that would normally require use of + GetTypeInfo(). + + + + + Returns an array of generic arguments for the give type + + + + + + + Gets the constructor with the given parameter types + + + + + + + + Gets the constructors for a type + + + + + + + + + + + + + + + + + + + + + + + Gets declared or inherited interfaces on this type + + + + + + + Gets the member on a given type by name. BindingFlags ARE IGNORED. + + + + + + + + + Gets all members on a given type. BindingFlags ARE IGNORED. + + + + + + + + Gets field of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets public methods on the given type + + + + + + + Gets methods on a type + + + + + + + + Extensions to the various MemberInfo derived classes + + + + + Returns the get method for the given property + + + + + + + + Returns an array of custom attributes of the specified type applied to this member + + Portable throws an argument exception if T does not + derive from Attribute. NUnit uses interfaces to find attributes, thus + this method + + + + Returns an array of custom attributes of the specified type applied to this parameter + + + + + Returns an array of custom attributes of the specified type applied to this assembly + + + + + Extensions for Assembly that are not available in portable + + + + + DNX does not have a version of GetCustomAttributes on Assembly that takes an inherit + parameter since it doesn't make sense on Assemblies. This version just ignores the + inherit parameter. + + The assembly + The type of attribute you are looking for + Ignored + + + + + Gets the types in a given assembly + + + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + Env is a static class that provides some of the features of + System.Environment that are not available under all runtimes + + + + + The newline sequence in the current environment. + + + + + Path to the 'My Documents' folder + + + + + Directory used for file output if not specified on commandline. + + + + + A shim of the .NET interface for platforms that do not support it. + Used to indicate that a control can be the target of a callback event on the server. + + + + + Processes a callback event that targets a control. + + + + + + Returns the results of a callback event that targets a control. + + + + + diff --git a/packages/SpaceApe.Common.1.0.5/SpaceApe.Common.1.0.5.nupkg b/packages/SpaceApe.Common.1.0.5/SpaceApe.Common.1.0.5.nupkg deleted file mode 100644 index 6420a2ed588d6eab085cb94e8a9f0d27f50c2355..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26836 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

OZ}ROcxlrH0%e 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
+0~T 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
  • PpIO?S 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�kF?NfZYnwu97=aM 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

    2y_?l0W6Kta8lOh9 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 R>{<=09H`0ijk(Pz2zumw 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

      PTmBh!q*-8u7|HM88~8 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

      KqxY}gfUz0ZCw*_g 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 z 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

      ;!s_B;iqFo`fHDcpqb7o$Wemy>WkQ}I9VT; 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
      V@$=`Q*K=M1of!H3zitWBz%dycQo9-&e!c+t6 zWWbi}3;b&9w!+YZOmjl?c8+1w3A>U+thnpZ)mquvl;%$Z*CiZL-2=Ea^CG+qbl9bU z{`)r¥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
      {m#5?E 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 diff --git a/packages/Unity.UnityEngine.5.4.0/Unity.UnityEngine.5.4.0.nupkg b/packages/Unity.UnityEngine.5.4.0/Unity.UnityEngine.5.4.0.nupkg deleted file mode 100644 index fa6c42a61813d215f97103ed47db130251b63a47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384132 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

      1#?{O4|b!q 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

      AzKt7XP2$H8BN1opf9%(JECrjP)*}c`H`u+J# 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 z zrz-peCapNw{cm9EvzV@lyq~fokY#1*f}P5FDo9uT7e}t*yYYXsj0#Y0bhO#fb#I7C z#)3!CXX*46iWuWJMxVOy=eM--LN$cO&xd;3dj)^QP97>cco0+W60LsxO5HJ~n4PSl zVa_ZUh$eFCv#insyi{Xn8sX-XA_adG|GgjP1np1fNa{&INrHqE2{sWZQ=3n&l>-sT zb0Wbe^Yo+iLzDr59DOt;w1|aFrFW~)7}@~`k7SC5hUHH*!+Xx*y3@EF+C^SQuDdr2gGx*^Tt0UjKw$BpaoSz7X%P@6MGl*AW|XE;`(_Q}dk18d*xu z(g&OECKEZ-n(^|B2UF)fcF12hHg~e@gZew&xFvD!>6yPP?v@HDM{nS5$pK!kdZ@8o z9W`r)Q4Pwg0KG2b-Bc|8|4^=Tm)dTMBv2fIpHvS#rSVAX>1Rv$mzLBLh z+Sm8?b;mUuje`w}6E?JW#YJCiJ(6S_yjpA#v*HsfCN`I-pAsia#Ih?hOfD;Y{xX$S zVvnrSY_;4s%}*%OuWANlC0R-r#s|{)6AC?=IL&)wl8C;g;E&yTfPoo*3#DvUNt``s z>f*@Gjq1#hb50+%&hTPrUT464p_20PGVnRejAI~g#VjP0UkIsrMtX|OW^b&?j|E23 zD~N-+shld_gpn{<)V-uZC+By3dj~g^-6q=jQ&fwO@^(B2zpT-(bgVRtFq!)66+gy0 zJJj1Dw^nrnF&<^eQrAfRe2W~+3P{*qlYm+R`0OOhYXPl;K-*5BAOa~=~MDi;%u-x*MwW658? zKyg!#U;UFCECloM&T9N+-I&UmlnLI_4!MWD+;`12IE_Wgk93OiJKv1gNM*eCD6gBI zyl!Pkja~I$PUEq5yFTUSTK|@ZTv(-k%0uMKRlYq{YLw)c6v8-%K7MVwKpu=5R~f84 zbmwKF(H(#MrA)VsG=4CzlWlPJu*p=#vfd<#5e=A-O7fEYvbgkwkD^8fC4myk?T;&M z@2q|ra-2TxNcF=uPjJ@$gyB2(dSj=iM0Nd5k-z_~tDP;k#MugD@ndozU+)s_2BWMm zbo2gdLnF!t%-c`eH6v_`)3BX6y^7I@s<&ik;$@$9_+mX2r)(;X!p$*QXXGfA!K(Pr zYCM?n6#AzBKWAUM)JU#0S`Tv{pqrkvMSO813^ay0&~UKn?GI7d1=PW=@|4Of^Yk}2 zrBX}L^WBJUtX!nhzNAu_CWj##faJp=%KWR&r|nBfhM-AI9Y5rRS*h#gO{RAm>lX*M zx|U+8A;N?7mq!#37}_1$_As(nTBr-MZbHw?^m$4@Y^7lP2~K73Njnw@IINfr)!!ZN z8o8TN@Kp6?W}6Mi`EqAYyYCRX!*r=QM)O_jBdvq42`Gb8Zc9zH5T~H?q z-GM3JPAhLOyn2M{@y6TJ-J`Hvg{F4?Q5T#YaTS6^%szpdfEoT>|qBCyqoTU6rfO6q^h=o~@-Jvhg8UZRGUX zvd15{a9|zQ;udO-c2kj1Ki3_gW)ZoDy&i6Y$;#OSl3~MafHZG>8z~I`}T^Fy$+tc}8d1I-9Q0bH6)j(I}X=i^9il zk`AodJ&EsqRC^LzHj^EFL>LnJ9jy5iRP1_#eccxNl<7dBG2>>78_3kXt>?5pqpB;^ z&va3yi-F5n@ar*;Ak=`MuP~03$7EWw=%b-`4j%}Tb>}r%6jnFr)phWGZq(B?&1ioOo}K+!pe znmfNdrt3WTUEsSL4>&e903jX}zE0KN{IU0^?cOJsil;@>k`%K0PMT;YZ%>*#7=#Tm z8bT1Ok!PerMQV9$jhqqM)1S_~&K`}8Cr=<~d+Q&_Tn)`Li>bD^%SW`isdpH4q+JVp z{ljL}Z<`|Wth0s`M3^2;max-DUk*-@CjBh!Lb_?1S$f;s%Puk_PIn72%H=4URN0&p z>zB9`L8~tGBeW<+b?QzjorVSH-AyYRvg$y))qT&Z-~e=DgZ^Cozz(6(0!EF$U?aT(mgsH|XYQ1slJPJwcqd z>ve;EGH}a#(vBK}81x72$u1uIm+Bm=8fDHfgEwo27F%&mLO6!d;OU88XOT;Y>P{Zf zuZ+tGXZ%FO%~VQ(O^vDk{ilP&b`)#-vfXx*l!Yj$WNtQCV}pdflRT>4l2gbCKt=;} zzss>C!si85%sUnHDxO8E+2ZKz?5N(66od^_xmmZqLL>8gp0sbS&xLXYb2b~*t`{0e0rV*5bK$WkW$DaJWi{@oTUPibLy!(&aAX`^^=i=3p z519+KyLIVp!;q;VFEi%JoLoNci?HYigx*z&&we~71L_pu<)!3(JQcq!L&qL#v(TvLw5uD^RJQ#(H zHkVT)5&{!EgvN1KBGPS$Plv8;6e1802E_AweutM3c~8zy8A33= zi%f8a4-*qLlIp&H#%(b>?Sh>%2UvBykOv=ad#lGrwpQ;nL~7*Ao=)EQ2XE9->vW^9 z2A{##Nce=F8fYia zH=O~@%s!>~grBxJL;KKnCcOv|rC6q9aWvD=c@Fzm-H)fZSOQ>QltYZB=JR8HT;VwZrZ~vAM3HYh;y~&{^+LJhH)*X`DWXWTSNL2_9lyq4qR^l$%RYq3vTlFv zA8lY}!+;z65RMZ|qQRt)V9xvgNrC;2t2I@WGAt;rv2d*Q#Qb?@j^`bmW10upIZK<% z2`TGmjHO$aJ#=-d4BiJ=_%ntp!h|k-Q9sEfZYBQ9o|vJ-P4#KZ;c-}Fzls<0gw(L@ zD4&S`WBRKRA17pLJVrJ9(ALZd^dW)%kBzH*p%7vcuO+GW~BHkjH@^f^>AEn8qo@j@6V zKgXWJTqx|9KAJyI3Zc@=d(DkPLk3sid6Ok-S#O@h1CnO7i|Lb3* z7)8hdxtkRm1Xl%_=_FeO_}bh;d*c3|AM?mE$wvZnax-T((OetMjbec2jU>OlmCXbu zD+O-5aG@gG9T$R}thviv8;LR}hC(d!Z1@u;=dASEPdxA`R#C(k{R=n;Pyn$X=*xjSg>KEy@EW>Cl@g`E5y#U=gLc{fgpI1Vo_%!&twa8--zwe;KR1ei<@^9w zF8F@{;mRLE?yFt3!^?3vy0jbmv+SYu@SFX>!D~E^ad6Q-bbJKhzcBOR&ViRA+BM*I z!5mv;#iGsrVr+KR9KD=Y^_`=2fq>Z#4sfq@-?Mo$X9kXY-Rv5CAj`*#D>y=3^(d?1 zQB7MJ?NoZnPhVN~=cJ>?Z+1Am?1?0=wXI&j7Zf7~kV?WifXQTo&C)tfMF#}EF8^5V z4yxU!YWEuv7tO=gYbJXhYQJTFT5s<0J#>YEWzR33S*2h}ieq@SL+NQe;RGL)^Oaj*Ijq+U^B{eRPRD3_ImzPFz#S@H=0UPY{AIeT zpxZ#N#7k~6mCL57UP@vSFaqy)=xE;cU5##}JO_nZ-tq)GayGr@}qI(p|Y z6<6OJkfbGsc-av^2L=q#Bn{3T<@4TrSLL3Gi9Nv?T?7B2%N-0Ub(|s(`$=wX9`}95Ng>SzjgJt zT~%za6F+bqRFltptNt6c05{5A+|(r3dS>I0_zN*^zWQFif95!Hsiqo}VOWuR40(W$ zhntw)2zB`E+uB(m?1G%x206O~I6MD~Nt9>Fu0RI@9tiwN;7~r;eB~g^i=N?w<>O z(9p-qZw`3Vf{wJ%cPg48b@Ia(z$iW6Y&3k+`2!YiP{noi)tCOuY>8LFkK^Oe?;jom z3FdfDTYB35Zqu&LuFjx4L*HJJ8!W}*Yf^eZfFBUtm!3073pe2DNlmj(K8i6>V-{wG zX{N>7cH1CJ1%#a;;06B?iii`uTvmsKnW<-Io!5&QXA(9c7cK08(K4F6gS)Dod%;(l zQcN7^55s~YEf+}BoQeMeFglMjB2#V0tSNdcganCnYFY90bMl;a%sK2_2Lk_M6jBWYG^ zO6+=vmBE-DcKJNPmPw?1l9PPLiAak*jK2n*{GCD;aAzToiPzQT{XMFPx8x8B*G>OY zgS!486j<`{rLr~`onBav6_?&F`4)OlutUw z(T4@m$GNz^I*Nc>W1OYGV}Eme`11hmw($A}jh(~j>)Jn!&Hoa?mI&W=LoaydAN$rr zC{yw)WuTo32VDsA)iWyAISt{yhkQK3AZwm$d?<9%W;W&s6^dFa04IlUWm^*c$^@{| zna0rx1K*-zUvn_4j8?K1$2)Fz_`1qJzGz|U+@i$7PwlRRq{D3g5S~&hV3S|%2hv_O zqC%Q|`$dcU2OQH^P#fERY$&T69o0Mkp*-#!2UdOL{`S6I1!EPqg7ayICl48Qp6VSdN@qzxHi!n*#qKrl>(qvuWk@C8 ztTFZgD}y+j6cp!%aZaWI+qcCh+|`luM{Lrcnds<-yBIv{SbvnqxU3osNVlYFX~eb@ z-t=KNxq{M?$pQMo8M$^N3d-mt4bkd{=1To4L(5!y*KG>OtO9c_@RHwy>wVX$34tO7 z#s0Jq0^ntk(d)B@v^cz`Pfl6vniY16Dxk7-aEI&_0=B3Dy5CB>BO^Dxe@8q;rNw{; zt_wjr`_!;QS)p1u>NvvqaV2EVNy94VB{aTFHzR@Ganoz{m;jrcWE>#9@tG)~OWc}~ zBH^@tZg{(C*W_*edSnKl%TX-P>R;a^Gd`?%{cM1wlF6E_uVw~9EISLvm~2keDNx6O zjsfle+I!3WbGk!hEnH~ELIV`*IH@{cRiR?E9^w)&$Xp=I>~|r!3PBfwZ3y1`H@>3z zh7n`}Yw1QC+pq{rH`K^6zJePsiayA#n-0kT566{(#t-Y>fs~pd(%M zYu&)PYCW{iWIl6c%)k?}y9&nkhlZTs9jEwuy}q5I4YV7YBx4)KHf9uqfm#dcA}Cg> z&(SfrVG`|=0F_dzUyCV;3QL{0g)5^=+(q6}E=ts5TpAJD;4XqPz3K!VbJGMz9mZ)W zv6&O00vAmJ)V7Cjvg39+DsY(|;7UlG1Fk2!3^P|=Qo)+KXkceQNSGg<0R!ptdWJde zZ^yIl3N2BL!Kx(N^Yxu9K!zsWCO~v41mRgn&f@Woijzgd7FC0PS~3wN0(~@=b;K&O zevsnfh;xFMCZV^6-d5;Rd3Vy*EZ^wnE$TDPcR z!(xqg4EB?~9R*{Dp!4f-r)JF{XJ?R;QQXeqyC7Jh=nacEotnRUFxH{pBdQ_j6~8b> zOJ}Lo+FL$JXXvAT!$ts7f~Yh#WbXOaKLH_t6^!m%evYh$Jg%2wY$!AF0Ti|(Y|ZE< zHYqat!W&ueVtE0l49Z7Tg(r;5TcUzfhUOz`oGrEZp5pXUKFL`U!65S(){1-yna41u zk|M;dzYAvXB8wVdy?EmRgu>_fMLI{d{TDZ_q;W}GHt307gn$w$318kL5soL7BV&{Z zd8_VpbGV0|(vpW-GCIyCXJ!s(i5mYddqxT6rh}sf(;XQ%qTp<#oKOS`(OtDH**u@1 z8nlFXt@m>Q{oq&DeME6WazdjUQz|$Az3dK~doh9>VZab)8d=$mH zG$o{Vj-9`gS@uu7RNSD}6sfHr_gjd@uLLie@v(>F2mR2*MG=<$DY`VIxHL$==7pdJ z>DEMf6Z~6sG`#Ib@A2dF>#Ct=&D2^*CvjW7AIVal)=@DjEeoTy%0k(ylX~MI#{<*` z`l36(JeHUB*eRvA@j--My?kD`I8Crf2IAAP^+|q@TW8T{PC{OQL&q*-|K+qE)-TY< zmaS~}Cy64W5I>(@JmJBR?nTU#A$ebjlO;(7ylx+6kL)sH!Jp~KE%U%xH%61fyy?7^ ziD;tW*@X|XA*fuk#(9G`%N~v--|Atz-@#Dl^13Rj;mNA7`8j;cv&;Rxf^57k(s@U$LQk0)Zj)Oq*gJR?C0-r*DSduc&%U{gEq z^Di{DqjzM%o>Xj7j7+Si_ez1n&0nCX_X>0c5w^~_OO0FwatD&3?o6LjR2ZLUo6Q~- ztLb)CZ5K_^Z2!x9S=O0CMWx@LNI&G>=)}~hdm)aH1we(Tuq?n=XaRrn$+N6p8N9l- zB1A3*!@XJG>}cG>kNt4;QNtQq1(iv@N^Z8Wk(BpId`-lX9=tw`9Daoykof;i98+Ke z!t|5j%oAX|%{Z1v!DmjKNQf-#arl6LKH{GP{PPL_{Dy!2hJXH!fBu1g{t15`kof_b zACUP0nIDk(0hu3=`2m?9kogXo?~wTpneUMK4w>(e`3{-ykooSPyrOFPvUlAv8Jcgl zy+eU9yN5{NX*JX$7vPOs2Td`>O{Y4^IXv81_Y1IvbHVgL*N}>EwQRe$>Y`bU2EcWFpHrSwXfWjD>&OY(aZ?L4_-@^{F zl1DSCFhbOU_@V)-G48&7SsU#|;b!z668K5=?yU3iZby zn0-^Gs=8vF@_!;dIntvtUH;y-|*Ie!_)KB|omk7(5Xt z9B{PW?MMH@JYCDL3r$JGox3k>RWYOv`2xgpF|iYM6APnD`0M5l zHo)FenM>ibEzHs_KTzN~p0egh)`137gx|Xq!9r&s6cHyqcM)hhCCNNm}P4e6;g{Icr9y znNHE-R?~$%C`BHRE&Ck_%-}a*SbBzd!4X2jEKs9J9E|WHc%#49`j!#Z59t9XSr>O# z&44FXRE!$%T{P*Z`s=Tlg+>Nc%?i8onzFvwZQ9Z9{-wRIGeNs0B(OOUu>Ca+T62p6 z>-9)s*KZPYyV!6pwofi)7OU!hGd*v5RM~v1-YcaoNL~mjfX#fGaT*<`AqI^ z&`{P*7s4#raIiCSjZdh6lR7|(JRl$g-qK_^5ZIu%*ah}8HtE0H!ENoW)8w&Vw>>(x zCG{c&#z$BQj$sdn9xy6m@^h*(8TD9;)?M)`&`GdBrqk2}{F!m2!oA}db*oWY2elF= z5Io`ddfE;BgKEC)>BYvCMUlV~eGnnV+d_PJ_==6pLOYTKLIZIM11|?7X-HoUu;_T} zI|(Z8r`YJ27(Hpi#qDzN9~BpU()^d5Z&5h6j&R6t)`GyO74`SiD8yyA$4gGdNMlk(6)5FzpFJ8Vw;NU#3b z8J0hG%<;!AFhFVtDEY7O&jCtc2^zIXJ?ozPr{+jSd-J2yx?6AP8W(m!s13R%L6yFlfYUb& zE+DXD2nl^{>mznpggsc)Q6e(kTF+n%dE#X^Thpr^+%1QTMxU3;-9r0%h;ua*k^IgB zk07^RyT>pYU1n6+*z^ygWv9;{L|3CgDM!%nO-59X|LoCu5v`gO42LHadXZ+}oOI}6 zvGH>d^jM-CvT=FxLgKq?nUi_=jRS4yh^txiB_4c!AqY;lIj6Zz(w`#x1LCHB3#xKn z)X(z4<}Oxq9%%!?#Ebq8X0fXniS{acgFUKuEDS~KmhKUD#5ncwo%$YT3_Sx6`|hke zRGaQBPfldEM+b zZ?Nk~36ct|1ZboW)`JEO0n=W7f|V65%r(b*j9yT-ZO0j~zm4t6Pe^DCnjRl)@KDJ< zOAD)C^(YHxfu^g}=mR9H!$rXOM5e_cI7Blr4Ml7grfP^S8a^8u51x#H(X93%&xUY& zqEnpCYA|>TtMfbSZnDP43u0K*bV0L=nJ#46B9<>;=^CW#k6l`d%SvHM(M6)PKok~- z!or}7f?W`zxjCDQ?L2JfU_1ZXxi^`23)5d=>dWT1crMGQmg#XnG3NbvFOBtd1eHgR z>G-zOrybsQO6W94^|m6%^l)ea78LK(stQNC$9@GzBgidm!C}WCT@Cin3$A9Usw{Lk zkopaeaoVS&P})F}?{vzCY@9~}Y8haeV6{BM3YyX{sL*R!pI_3@wy;WCis2^qKHB()fqMp57W-i{;Mh{)U@yI;_wZ~rC6U!_PD@(X9w zWgf!LN;cUog~BAcy1f6In`6z$d<+mn$x(3?%eze|O>g(kj9D}&bujO?6J+3omGv17 z<#=;N%R?OldnS)C4iY)x?cVZP7JnFqn zmU%)JrYoh)6Q#54$rfcXnqe^UOEEGs-8s~%1k3i;MR3RyrAt6H#x)BZEBQTX2RK&y zO$J~CM)ns1hYd&cV^sF=lmvS`lrNyF-~u;siV+^_iaEM4)#OYhh;WUn@mT-yB|O)U zIF!>#JI2K8W0{o4q6{9DxkCw#k~mmhC_fShm{>vkojjjG%k$npeDA&N$t#fRz7|Jc z=8b;DdA*z@*{dizyI`(@yD3*jN8IEZgEefEVfYBeDsHYCX&gQj>h zrKi(*X~v6ZslvD}4Bl*LzCY*+UEj1lzR~zMp5Mt1riA8b%@ji{zai@(3$h;YL}kTPvJxb~harH{A~opV)(P@7Ls6LQZsX3E4d_dz{AHYXV0+QSq%|8^6NCWk z-r%}f(NhnN4BZX)o@ohj`JtSCejU9fUd>Ahm&jWR`6iMtv3$?7bAbs;%0ajR4tsA^ zQsZfD+nSDQIlQN!OJu&~nr)0BqBBQGlokV;-}Lb_2;ybC@h0t|_U1QdVk+9DhzK}r z9_o$^Zm%()^hg2f`*XKuvk&Z4@DeR8vXIZu*XTTQk561-NqQg$)@Z3ko|kW7H}zs5 z9~9p~WVl1a^-h+#+p9-ZaUn0e&e0nn|L6}ApaE|v*X-@r2l%ZFIkug_2tmIS@w-xOV+;#*xt_HhMqSqgDBeKunX6I?K(XVmia99rn_sQKGstv;@{_e7;1Ec zIu$u1@9|dB6lyBsG+#Y(vrNUz>A0`ut#ZJ*0uK0iswd2|cl06bQ>0cf+$&9GWe8t; ze0$6_}&d^BuSo*oY)aMuZ0VOefQwQeojI6 zNow)}l7}7K>J6<9iSY|X@d@9QZKJ8#S%6g&^Atq~Bu-P)3u$ROg*3AGxMr{iIx#3o z{@=w=ni$yS9hr2RLp-YbZFoKIz2HJroY#$m#bE8zKkF`7$Bir4pNbTXpRdxiC0$LE zr_YD3fvlezJ7eRpZ!G-C;i$r3QcRyp#ppC)n`oM#iFJ$WA2=zIIZd(#3|*&P1w##V z!|R;FTZurkSn78|UJOG>G)@?}*#*MQE+XNq8Hfl4GJC0mKVHcV5wQHS@rZGxOKbdz zRDodMh-OgXCzxSRvD_7~81eI^2doKAon~}}Zg!GMlUFSh27d2hf7Y&^Skd>)c^K9s zI78gG4||k1{nv2O(*oQPMx{xx{yPQ*-y<<0IZB?riqvh33}p*SF-b9t6{;N+EF)#q zkO;ms@_q|oK}FFJBf2;5<%EN}c+v(xeF~ASswqO8)MFP(vAN!E z&QeS+Y=uV2`5aA>>{sanT}3Nzhzk2^C>`xcF6o6gU4xzUtG)Q!dWWvb`3+5Q;L6h$ zZd2I_ctjX;6#1PeRuwrFu{@hcR%~hX`x7@z43`5wh-D5uD*5+9Oy$SeQBP~prN`F0 z(o?x^0qs91IP<;(n9tmz*+jMkJ>SuOaA?#r4EBr=%j)0dm`nqsqVfq3!SkkmZrp6Q zQ)RRipU*nkjDxdHJT$X`7Y(|}F(u>4j3qmc3L|BrxBH%MdhvTbbfR|_duGxr^S-D3 z&iA>zzZLpS-e2OrQf$gnbDfgo`O_9EWmrAFk-F}pMq3C$JqJV7a)HS58H6(X-RYFC;j2&%+n;3jlY_ji861-zfvimJM5gY z6^ztfMIftBpZOhxU{%L1w`j$iG-%Rb^&>!D!<#>jap_@2oIsZ3S%+SL!#9unM)HpZ z4#oTYDt@0#pAp0Phj2vj)~n87$Ar=*hG!d8xy0)z?R4yA5bxhm9}ew=di8D;X`B2> zh8z5@t3okpvlOg}^IaF4GB`ow+;lb5H7EN4op3B4(aNS%%P=h!7fM~T2g`wIE=tCm zC5({tumQ4Sj&(R%*$5dWq6S*oJPrR!74g+_w-(*d8}T)4P}Si8V;C>XJVM{M@HQN( zZGG3T-(u+C*yxe)BC4WNeGM+l7WZh<^fuyENuS=Napmq?oNRsg^MGtD4{JK7bg@YE{5dV=h);n|pqIaLBraI`NX^L4>^4~7FCU$l^0J(r^b*AbboGSX=`O$xCN;h1hX z2@F*BX1rAXPyMAPWnTsIq zYW-7dOj86fPz}X&cHILSkR=D?#D^{ow>6#TT^Y@Lv8QIuvNRWie7Zv$G0X`=zt(&z z5T7nGY{Uz5(0Op4CLKY>K+>WSI&kwuiHRlr2|)x$O}AHT9tve6!1wf|XHRrt(?_!o znfAM+f8{+!dW-f5)BMujrf~}`XqwA6RcNL{{g&z~)QsBEapLLeYCtnWe%d)c9IRn#Tg}g%Tsogd%IBut(Mf2H$1lU2Q=+ZJH$lo{&Ba#q=RF((XY8Jjjf`ZXjf`(mz-0=h@5eeVs8eQiEs#ydO(Dg3 z(tSVRrY@4)^HQS*St9vqhK+bN3)eQO7?U?ZPRe81k5k`>GRYWCFc_UQVE)|%pYY3G z&wEIaV8Gg&k`%S@mbojktV_P&M+sqR2D#l{_Usp+sa|X7qSx;_j!& zVv*H3tS&P-u-@$AgKLtQu&OoS;CnshD>1P5?O#Tn=2KMB#92m7(kVuoU<%fb3(CeR zF-fBA+rGrZJyuNHuO3^pBaiYSG>Er)JVFHY5L&$4Njo@Lrte6zj4 ze61e$4SK1-A9S{Xw$3RMx#b8D(8v`wqB($mGSD0xxz3;fV6uW|1&oT2=Fokp+{elt zRPGa+v0)Wj39&6u4lmU0X9$rt?;ETWn`Uf62zAm(7~XX3UG{E|PkHeOx4mUQ8{`P< zzif&hL#qvG_uu|rKiBv|_=sT7FekGDqqy7S5H;^h5K;obk;3Po!$MAOXWe?}+chRF z?4-!s<2f%SaRF$uzi#d=of1#TlI`0lFSj-`v<_|jHCtS|7`jcrRsFZx$mJXqNR(eO zL}y$$Ko5J|Bb*&q|J5jbGQ%WLDo&@O{|-JBh{mZ~`X(UZVLf#;Eb`@yjfV>df)9-0 zO0k&#b}fYQng{bc8)+NC>x2sEbKIOfrn`J67Ag_nlR(Au1(4X|7@B(tC9w*;5svL~ zL39qh6Pp>9eVQCJ|DS(~`eo)LHfJ{&V+-uPh|GrFA1&i>Z_6zy1{!7PBmW#!=!N`+ z|9)v+Dpl*gT+yPP7CEOYhV2yJH37q~IZo;kHYB8MeYJOwG%#p+z_o%m4Ojinpm$@s z^Ns0{Pqw{*49wkUK|Zp(IAkF=%0l>LPGshu9v(Y)URKh43Hi+PQDUS1uj0jl63?#O%4QBC(FNh4so7(q5 z5OZQcS_ch$-0xvRH3(F?GvHU4#|6~#=}_jpmgby<2%uyN5H1yTr# zuVKua0#p)(xEu^F;*2ihyeyKuENosDHZO}PFAI~Gh0V(%%F80o3wHtRWm!jH^e?(Y zfhnNlt|3Ciyo2!PlWrp1ac5y<(q&|jBprvbS@&Ud(uo+EcBN1$q3KO&C%RS6qR6z1 zg(4=XxVwewNpQC7g>ogRxEtD9F`Y3j>Y`MRMX?-KSN{5gs1cElJ2-{ph-=%=8 zXRzMA)1oOA;fW@WNC1SQWPE{ytL;>0h-m;#bO%eJjZ?WpL?i$vyF^R_Xu4A*MBOq? z@FvY*Yu2kM$aBocSC$x!C1eaL)1&mVT0HK@HEPdZJr1?Q`}h8#W0gqK zL%QXMk@P9n94G7IM`UE+-6+wgIjVendnCWTl+2%6*bJ?O$|x**!Bt3|hKV1d zBYcIhCUXKMfld@9pyqJq-r{ZudqoJ-ZTM6&HVz4f&C9h=TD;LWkHEa$!+?_O`K7f& zsciC$H7!3^?kW`3HCt36g~MyjhUaz^gR+GgB#}4ce8*n4Xz}_24w{en96yTBQdTxX zKtX>!^ z8Tnm0_N3|5-Mdukh3_Tqe#KyF-VX+uCqm1q10L?s(^0tf{xZ97KR-}vbcr_2Zsxj2 z*08OnYv$cT<1FbP%A;(z)-YW#NCH*fa1on_b#2nDH zn5wO7f=X7Osqan_cDrCMo9ppgnkRXjWQdvvOSo#Dol)DrnAMzw^FviM^UTZE5)`|t|?$qh=5 zKHT)HryPyC#UDOS;14G7pC<6X<@l?nd7>Q6y7knzGM>VBGoC^oG9JzkY$lseACtOC zkw^Vz5S^wUuuYA-!H3s>Fbrpc2K_E1Nuv=M zA~-VkfdE-DXtq06O{X!49P)hiqJC| z%r=`SjuQnM`3X@II5N6G87VL%s6y^b97%_O0YGz*7mX719s0Wgqb}|u5dhuad0-I% zFr4Xae|X5{%?!r!1el!A*?bC#oglmkQieOmg~USKG~OBeXJJwN(z|@Au6eGi*skg| z>|Uzle#KcnZ|{ibwBI&l)U>+5x9@24r$IBDWYzs*@7k5;ylPkEHd|qsD>pQnXvnha zCdWf<&b8;SzCyk98tuH^cdJK|2jBM_Hu=qOMpTxJlcO5pRCaps->#k@26}))_hKDs z|1rxAOg~;&QH&H5ksTl9p?$#HyBZw@lS6{r+2*Bwb0_r%g}~b_TGKov^0(R@ZCdh{ zY*69|&turY6yAW>>q?SmeCr%&g9!S>P`wr=jQm?5|K`aDhP)umr-1oei10Tb;iB!@j~@8V@E-X9Co^k@ zj}(Yvn$P{+|Dw$nWzc*>`~%Oi(17w@4gE)(u*m>nK%T$J;%&>6RfXi6?x`a~ zNmppJ$A_hu9)S(}z&9&u>Vd9xV~3XA8rnN{Vrc~6%fy+aNia?j%_Pi!%38Jp0er=Pg6~J+-i*eEsQ0^m=aqyq`TAen1i>EYzlFL6mpT~ZQr49 zfusu2Mc&5LIi18xrAtdzF4emw%CnVaiL+y}GKW)Uj|OCq>P>^Y&+2f$UO&R-ND)Vm zXur5o__VnjnimDn+y?e)s|;?R+l?ZBuXlBn$aS;Z-@z(#d5_80ioe2cWO9QBjV-vi z{O8|4d{p@JP**=tKmVfdVEc7k|LHRiBN=VV; z*+^BQD8?R@-TP!3C@A!x&gmkEUkKgT`^~tBkZ4Nwth?{MEo}zy9@jUdwt`lAQoBht zhDx&)6sjXD^?N1Oyk?o#yt2%I2-OVJ4)5l_n0~2_jLuU^nI9%HG?umBGF~FEs9ZH9S?jr8=CG7^!lhHNj=e#me6)GENO@t<> zG=HT$OnxFs%b&AS$IdB^IyKA$!;0kug8(!Qq|7iHX~#|egGaPfXEBkLp4rt|eCR{X zw1JH9#b?3VjiJ?AckS7D8x%n93m5Hb=t+1?TcJP}FGT1>W`!n7qVE^J9lmS7sqKUt zUiE`&5pyv|>)}NL^Pbj4PPQyeeXbqE$%eOfV`6>lhbNyEv;k;yV&R4NwxQm9H$E`N z844dSeK`K8`2hB<%3E2kD4wYEqBu)UHR8f`*)6~Fg4c==?xw{au8hir3`D%#(Jmb| z`q)JasVYlY^bb*Ymb(St6#B>hEgCvt5T(oPH{_ymk0@LpAH|FUDFt&Fxh`Oph3(`9 zPAfaynLzj6^2LdT1%BhsTmn@pticq5hq6oJCM3hi_6 zS0e!&oUqkWV8FiCvV|@B6_^hI+B;*+6>6ZZEAM%GdwWWb$=UKeKlF8^q^w`T`x+V| ziQSTf4L=1BnzsN)Wc^86JA4ZoVf0Z*^f%FOPvit}O=DF$0e3v_>|D{AG;_}3x_KGZJ z{#QOS!6b%h{X|FBc!}>2&ogYMdpFLyw~D4OGXdGjC!KiWNykh$k36$tukUc`r9Ve_ z&)#d6$WtV)h&p{v6v?A?Hsd9GYD!6{xC?qWLV-c12flN{Yro4baFwT$3Eo54k#}bg zT|YGRG@m!_C}M+C=jU!cMT$nDe>t7*kXj4e2n=nIEPV8(?j#fDZX_xE$|jehYj@85pDWj4%Ay`>ouF;B%6yO?xrxCO2_jATX963 zRn@i;pF^DnZ z`55|)?-Sd-8~sy+FX&Z(EPL=~t5i#t!Yy3lvJ?}}b8>-xRi&W3Ddb3Na$L)D;zIg1 z8s2LL^QL$uSl}=7s4G&_sbi#e;$Vn1@2@*N8NjK>cAu_!v7qVB(_NXRm%23UYIzpf z`a3E*V1!m@+HpIGr8+bf7X(lM7=yB8N6x~O4cX%3gjl0}`>>zjrV0~&1mj#Jd5UqA z7mEsg)MBrFMpLB8pn0fjMCg_O!WN7}_qch}~JD@cy$u|oL7h?Nw^)J$*(IeG}5&?2X zCS#ewtX_fg!@lA<)>^E!UHZ9|3~>ND1p}g0o~=nz@)C>4V+g; z`vH3B@};MMqma-9*r59$2+gsPSoe$!^(`J7*l3+L(979yUkEbk2<4E6{VN3m>TAE* z<8rG(A+aey{`pMzD&%!#(Za+>@DlGk(U$Kw=zkci8HMM%f2qiLJiheXY+5|fd^)ap zCtdx!#pG+K9oR@$#@6{`y=(ltLDXnNZ93SR((nKL-}~F!di#G?=(prU41SEkgBbi2 zgTHwjlLOlBtKYn#Ne}XZ=6whvP2${pomL=YkyA~A+(_3(*_Jw?+zhAN~7);hzzC%IWv61uWZqs zMU2UKpuc2XpN*!D+xqoNn$39wvH?L~ zV;5bxf24WQ6>xm8sL|qanD-4#dn&RCy6|miK-&j6DH=lnKbE_b_{m3g;{v8IH@5t@ePR6y z$$l=H>V6Lgx-yUYrNBDe?~eIy-V2TBMs?YLL&NN_7aH2sqj8ysEv;zFC8MgoZ**0m z=g~A}{SQ|6|J~l+eynz``X8)rgkUkC>ccRs1azN`;oqwNkqSlVZ3EJd({Y%4%}g6llj(#QPgcpK6i-OWJYyyeoiKQ^C{7g9lSDc}HX+!_pg0kvlRz>7gu(9zz8&=C0YA}+wzn5;=l!%_)N-drw}ur=G6ZZr2Tu55 z!B(`hfGiY-;sIp|m|L3hx3{$Q!%coYcnA$R`(XWwLD>`v!9zgv{MuzU&e>qWj1Ow)BV?z8OAPZJJ?sQj?bhn{myjW@}Zb46Y`> zWlkWeQ0Sw+HZh0=5DvdDPowh z_7C2jxoF-U!VC__h&%q7D}qHmgY)tX^|CISkI3pVi$*8?!zc<(dvp1vFPbEE%c7^a z0EL}TaHQc1IOMC7|ZJl`nW62AR zI4`4t`=-=_^9j6sJ!39%-b9T!PZ1~;wQV?0V65+9#qZWuRTy09Ai|LmkAb-V7m8i% zwRzu+dtub!d}sTUx*q>^;iN<%D8P5j{&x)hz|ap2{lw5u4AH)k_c-$ia{jFIJsf+! z2kei4{SmM~1NLXY1|(|<)acEbbp$v_Id9NE=-7}Cc9$Zs(N%gnw*X$#aVm2SVF$Fa z=Lsx@k=#pmIfI(H5SK&<*~=vy7NJMcbwl3s z{DK}3L9`=6*duX)>WqjdBZXLWY-`cXpzK|3yaG}8pMs(Bt>TIlO>%?&wb`ghC_vmL za1swfdJFRqpjY^urg+WuW1&P@&~-OobOwi}c#c6pw-ATihI0+kPNW$g-l*l~5ro~u zw%R;_X&}DFbPMCyuq`%EVBG~}tu&vcXq-X|&EKJMUei{Z7qP(mpFK$cqM9G@hcN6OEFIVKCXt3tc&M+_=-0x?$Ym`1Z;9 zr`!@mY%j9t2NUMeH_8@|Lxg*6)!x8pI@Mr0)DR8NHNH~cdrP~N_*_E^Qqu59AEbUY za+(}K41RDPelODWr9{32l))?$GzjeOpGy4!Ebk^yfb0%U1F zBH9l*hp4E5x8ma1sekdi^?*PQ@~(wakKoEI!q6m2W=aSDUdMn`sc+E*f&po&#z(RK zte^np?HP3lx@L1xyC=?EguyMQ7JF_1L-}DTKX{uj72vnzF@h(UPzUn_2Kq@<0rM2G zAk(3~2Idij{UVfq9zi(q`SQv1;OCDi52_d zLyqDB^K5SpHukDz6Wsv#{MdUQf$1O`m(JxV?#R()(GcJE)JZM40+YzY~nlR+xc!5I#uXGw!7G_QEdIV#o}7F^<(Q|qQL9E5&s}fP*BQ{+Jk&@xTuFN z7h&^mS0_N0)$P^JVnw{gBshNk(m@jLME z3H&30e+uk-=Jy2tk-$Hb_z77+^oY$}8V=aa#@mQG+wM^5zVfpnzy7E+EuAGjW@aW< zgVV2h+-0}H&CTc6acH*t?PAmJ4CqgXGxxULjs4gNU186#7~A{%u954M#-`>{gyjh5 z=@>(uKKiK3FcD8kC_(Yo%;(NUP?W7W1M#QQ&u9uLIiW@KmTo9oK^~!M_zEq0(gs;B zI0rvPO3=@oA~}{IiCRNqE(Up4jZ=38oTl;?ry?L{K)z^_Pm?imppiM&_V$?L8Bu|! zc!Y9X)UW7uDl9U)IEu?rmg_iFPlA$3E+pTrNkkU{|6z3nYvQUPm}-sBwk*-iAs~A!ltTmt;_~!}K21a=Icm z$8a|u(DMCY&WhB^t*EU%H{sOEu;_FE)80L5ca>DQX_oxi5aJq%-0lyKucMUkm&0vn8MYxHC>-(l3tb;KG1O0><((9I)qeSDrvGcQ#`~R9%4@D zGdkw=yv@%`6o2Eyjk=F3?>esQH+(OCUcW&xo(ee84YoK}Jr%KN4om1Eh&@1bUgJG! zhP0esTm)xtF}nmc1yH>i^|V|j(!9*Mljb*?Q$<1;Xz??(6leGfY?jMynr0Ub*%+fd zrQ>3eAQNVZzkoJ%u;@21pjZoB6%VFpEXIqFVYgZ&WMA@mc<+k^p77<2nC4)DLF+Vb z!~}(0f9xAHeSX?{F%oC7fPQR8vQQ`89JhBH?A2Sm`-uJ2nx~fD>6LafFXy8UYF!M5`UeinkOB`}!!bc@hDr;`mr^?#bNwn2B*bi_}=I zC20sD_%k!VKsB6cB6*b-5)|D~-!n5ku&4!gc78ZSjbHNZ=xKWgZp zYWZm*v(kDK_-UYi633ok zVct$TuTsehh{x!cf;v3^=4QWyK*BfJPs?7_#h`4}jvLci(+yjhNaqgsZ`cr^sEoC& zE$ok>f5v7+6OqfGz9!%Y=SQ)17g_^ zFvP2oe=>d{o0!W9&V=ssGz;hNa;6OfpgzCuHofy_vZ|Q?HHu>7k;Hz7gVX85zU-UH z2aW)MDV~nwmtD~uMUiEW)>OH`LQi$&e3E_IhjUIhbA2AB@EJjhz3ZR5+(Tymg!Wo$oUuF`O-UIkfRlj!9;C5 zL&|)FwjfSKuHYx72!|4$i6Ie@5XkF5`I54G;ajL}i&@~Bo=&BVbM#AgSQ9ItO88bk zH8*K=L6R;`xs&igE29(UtX%&g%30P5u5^aZknbE}-FwGZSbJV@-;?hM171VEneLCrXl-AvDL%OvitVX{YZ-jg zr&&}$DCZ#y0TP zPc_(VRNsHhy7f;HJ$Uz^Iy@sxT>WKI9t)XYVdC;N@56|HGx#@y|I^_AG$BV%1P^TvKA-n&rhB+TSPy9#>jLEouC%u`k68ROpeW_(|10UlWpaOuf&*QOB7O% zNw&{tDgT^KIVI(>Xl0FcFN)=vdMCqFMFkhskm;~89$qx^GP(G_~OY*#rJ+q$2-^0?zQ+PZ^=YFmWwV zU@vA(XmL&xB6^${nvo3cj%~N^_s#^x)&Y;(aYRG4>!5!|;!(Hs*6kul#zmr@6l3xf zL;O{y!33D+MyIdyd$(g3?$J@CfR4HCAvHzDv(F^8 z7#E|^6N1@pM>iBvw#pQ`MtE$R%`v|^P*c1aQc}meok+Nz;?nmPWnw8N6sEViqknn-LHVEW|PG($L18j$x?-2+LE=gr8UI;A;wR2x#TGi$0p_B9WQVYjVHoi*)1 zs>)DLrjAT`Fr(YslUi=(Z@!|T?G@RSRb`M@a#f#cJ58`rYr+zV zBKQHVv5@mY-^t4qnuWzWc(6J#`Ue_5S&KNxFdyY0#YXBmR{3-Br=riqpNNx>lMc!@ z`-~7A%nI z&$geqyo}W!PByi8PjQ=m*BH@W0A=FanRVKLM15+zZ}>)ui3$Y?pJ?cz6Ho~G*T*GF zk~NzxlL!4oIT4sk+QE@A2KE6?jZG-0p&%(U^0dlxX|%hhL${@i=oLF)vS?a zj*+}Y-fthE#+oqv6I8^tygVx~Dwg)bFcBUPgD?MS_v=6{3_W6lX)a z!H@k*+)GM$nlTI}8;#Zs&;d5{1(YzSr|3g|=wW|}?` zKZ-`G=Y`K1eEEANhN%>6M5&O%CleQ$*~i~ zd52MsEhS~+h-860e<{_%??0G|S^VQQ_MldbAhZaY%upalh+jONi+RG!uF1~`O`zG( z)cnS7#y^MUSj1<-lgWFc0pBk{#K9*g8r<1?%M#x57q>Z+L=v`;o9Mzmr${Jl$qM_f zseM&(>y&ShN}HhKKBu&o$+j%X-X!0F*xg2PLs8x`6t@fcmY}r0=c{;OsVyyr#kH!` zCnlS`*s9xG)G;3Vc1>m;YIB(OcxM4VfY6! zb~wGv_G7QFBP>iJb5?fd%OMFPUY@~+%~FJ5Y0fL^t$I;b9oz*>eK&~DD&iL%CA0j{mwI&|5emqFn?`Uk;?90 z`GCYRpAyUvgMTrf|36u{{$G75e$n&4Z@pkh^?y_7>lL3=x| z8~m=%nXruB_2Jv+`+KfRm!puY4{~7%M!WVDXZZLu1(StwAPV#7fR2CD9f*H`%uk*d z?H&4>40BLIQdb1O)@TVHMh(eSfnXMsM^50>NNIfPi-iOWEcs zq~ge~NixyUEzZ?|0&h}b&;*i~tYqnv?V_G_HMvW#&ij`}6ftggJ0JY~$G+Z(PWtwi zc(^xgZ;8tTL@`USr^hJLa+lTFn@74xZc(>^$HkxsCoa-!*cfFZq?FrmAKCV7$4JCh zWV?A28T4Z&mm+w@vm(a;MU3~6_z_wrSgeUKk~tcpmS^<7HGe0Y4- z6Gconr(=E7VGq>-8J8j{LB>s@6#HT%(kv)b%2;W650l|GSHPvP#EXn%g%-d~W7Lg& zKk-Zf#j+<8*B5E2NmE<_g6%xGcYHmo3k*;7d4KD^+nLQ6idBADU7esw_+QjFJgHrFm!pi^d>5 zldddy)gghHE8whnPMKCI2hOMM(8OjIU=f5hy}=jhRyoX|;WX_j>35?~WXTtjE+OZOP@Ez2_4F$?#Ss5Xe|ZOe9c94JeY>XmfJ27(c*|)Q&3ckH@B3-uY5VXvNnD`W z8aJZKU4C1T5M|v_*d=hZ$`%P}3~Fn1%MRTwRu)c?$k{co@iUzW5q-T($>Q+$n+DZ9 zmxcXULh}pn&`h`rNQu0vZ|k;8%W_vcyFE1^$^G1A2O#<+fsMygHNz7uT2W_TL6$^Y ziwu2SkG1hklu-OFkk)D;=9e6;(a`G$%2v~S;KmI0eY8cgH1`h8$2%PACw;_cU{Akp z@UX9B0g?JxyGXup#i}b(kw}8GhD-`OhQ_^9@N>5=_o0;dtsZt&*St)aNFg#xo3)y- z6W{FC&~9W~WWN;$LRY>ZRD`2`_lB5dU!AnwT5S4!MprPZzDqG8NIx>6@Eh?gYHTk= zY2IP`T6;%ua;xj`;NeDd&+Ek1a8pwl#yWecH%};b(M@iIptkfMb`~&) zrXU%~5vlszo@zIm6B1P5iXNmTC|ZZpxl!GSmnoEGkGVqMmFkTw!}>A(rG6$?)zK`P zPId7#7tcWH1d~rLW+q8zk%?)dGyzPFRy#7yF!V#v4nI5e%&<#GRn$SE7Ef9-X|i&o zElVoMt&|G~m!!-WPFu zh+kG1^Fsk0-b+%B-^=+rK#h)hgG1|OrV(i}g7bUht0n2l&6@Wr>Y;LqhI7LNX+BNz zQ|o<8{UqF_USSP*znAZGh)8*wp%wqB?{iHR?ER0^idzrQezo#pk0;68g1c!g%G@Qq zN#`PZ&ElpACdQI)a`UfD(MaSEE6nIE&iZVZvR3^1RO(kGgy$Ur0i=luU69wHXV`h7 zG2(@BgWiB zlQb8hGjkg6(^CXaXu7jYlW-Gwtu<8vm!m?2lIo0kB81jJRM@y!QI3n5jK3Ov;JSXP zF8Z#A-C#2`@B`~EKI*Dadhs{0rj6l$Ncd{#H~mAqs&2YXU*qGi^PZK+&l!ZXX8k1I zbk=TnxWB(|2KN0!D+;|o>-O90rrvz*+ZAj$0TRV%L0opT{km1bDGgutG_$Vi_4@Wb z`aqfs@3PSG2j3MBNA<40YvH)*-wfN_y9B0aZl^0lzaMw|aS=-8N=O(O$BQdd4R;h2 zKM_!LCb8Mph>^O-x;fu#nvYuM@OjENvVN56pX2Mf(&glS_dzG#jv zptGZXkf`=BZV{|+C;>ZnDS~wB5=op{J~Yc`_M>KO{Pb8CbMXdrUG8g0bZK)w#+D%0x9DkD@xRtYDlvV-B-(+H7{b2Zhtj3JSV4*caGbvU~Ip z0jDkBFiEURvdEb#eEAx9|4Qr_i?ed$@sm*w&o}PHR~4Ujpak_Jm^$L91eTfp!q~IDJ8vQ-Jnk>Q&xjVQWUX zc$&VVs=ev>H>PARO*vv}-BX&;vUBK`=9HxvCeip9PK;EayWV!wvIS0v;y zuC!m4@Z57d*=@K8;`P_Gr%Mrr!#fi+-~wfc*g4pX-aH0bzG*v%%P_QyeB0H|vHFp` z5REW_$CoVUO(`Kx=%SY2VrkLrchC=qa4#1jxE82$yAUK%!CrPD6rd9GI58%G0!%U5 z&NOj=Sn%*_X$qNiPij>si!s=XwPl7AnB~~*a*C7w5K5|mP&~5Yk!we3dDMkoU+l1@ zPH8%1)cr!&in~eNA<9jjH*DOf+-THJwoO6{g!+zaRx1cAWsaYON%0DH0nPfTL6<#! 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 Poq=EMI$r%^0oeZn5#d~1 diff --git a/packages/packages.config b/packages/packages.config new file mode 100644 index 0000000..38c2cc1 --- /dev/null +++ b/packages/packages.config @@ -0,0 +1,7 @@ + + + + + + + diff --git a/unity-JBConsole-editor/JBConsole-Editor.csproj b/unity-JBConsole-editor/JBConsole-Editor.csproj index d383470..a7f99a2 100644 --- a/unity-JBConsole-editor/JBConsole-Editor.csproj +++ b/unity-JBConsole-editor/JBConsole-Editor.csproj @@ -34,13 +34,13 @@ - ..\packages\NSubstitute.1.10.0.0\lib\net35\NSubstitute.dll + ..\packages\NSubstitute\lib\net35\NSubstitute.dll - ..\packages\Unity.UnityEditor.5.4.0\lib\net35\UnityEditor.dll + ..\packages-versioned\Unity.UnityEditor.5.4.0\lib\net35\UnityEditor.dll - ..\packages\Unity.UnityEngine.5.4.0\lib\net35\UnityEngine.dll + ..\packages-versioned\Unity.UnityEngine.5.4.0\lib\net35\UnityEngine.dll diff --git a/unity-JBConsole/JBConsole.csproj b/unity-JBConsole/JBConsole.csproj index 1f37948..beba744 100644 --- a/unity-JBConsole/JBConsole.csproj +++ b/unity-JBConsole/JBConsole.csproj @@ -32,16 +32,16 @@ - ..\packages\Unity.UnityEngine.5.4.0\lib\net35\UnityEngine.dll + ..\packages-versioned\Unity.UnityEngine.5.4.0\lib\net35\UnityEngine.dll - ..\packages\SpaceApe.Common.1.0.5\lib\net35\Editor\SpaceApe.CommonEditor.dll + ..\packages\SpaceApe.Common\lib\net35\Editor\SpaceApe.CommonEditor.dll - ..\packages\SpaceApe.Common.1.0.5\lib\net35\SpaceApe.Common.dll + ..\packages\SpaceApe.Common\lib\net35\SpaceApe.Common.dll - ..\packages\SpaceApe.Logger.1.0.2\lib\net35\SpaceApe.Logger.dll + ..\packages\SpaceApe.Logger\lib\net35\SpaceApe.Logger.dll @@ -79,4 +79,4 @@ --> - \ No newline at end of file + diff --git a/unity-JBConsole/packages.config b/unity-JBConsole/packages.config deleted file mode 100644 index 9635160..0000000 --- a/unity-JBConsole/packages.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file

      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

    VTm)eV~9i71&$1TTn2YUp_> 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

    k}1l212EwbJBRYNZv> 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

  • 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 diff --git a/packages/SpaceApe.Common.1.0.5/lib/net35/Editor/SpaceApe.CommonEditor.dll b/packages/SpaceApe.Common.1.0.5/lib/net35/Editor/SpaceApe.CommonEditor.dll deleted file mode 100644 index 916830ef7b5e883e6d4c31d337310d8bf6bc67f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6144 zcmeHLU2GKB6+Saw@2=No>mR@n2p!iZ*%-7nl!%rlVB;THf`7^ya1#*Bt_L&m?966n z7MmtCuGA22ssy{DLBVMbbwhE$(L@WA|DlJkKRjSeoscM^tN{OO8wNdDI&Yk_S zjZk@}*P3(BIrp6Jo^$TpyLUYP^kr%yq8Oe#cZjZ`=Qb$x-ed{G>CazJ(=S@y?YX8M zez#}(tQ{C--<$Kzl2J5W*9(n;W%w1>uw7$hGH;Z;Su49{O{y<~o*E@OtZ@YOcANB` zRxL@?4qaU7(_chy;2Ffj#6YL3xWP&M+|v>s=(#n~;7bC+I1DCztz#wK$Pzup%plQ* zYm^7DLEuKL>&_i7kp7k~9OeXZ^r0LXy}9!SF(L z;%R7uh(7CEjt4`D^)v<A|744vfp@Au z-cQsupcCL2t0QQFHWl~4Z)=Swyk>|>YD*+DSmac{*bhk@EA7RtEuK_vjoxb%NLMV; z5fhkXON6H8|1R(_b!~o>Wn1g|#Pf(FmPue*@X#qfimP$ByK&fK?`pglsevrBQsFfY zZ)gCC>cV+qDQj^73UyHvRLc{kE6F2Io*a3q{E|_+fRnnZ^{e4^U%<;(D|b}BsBSA@ zdFExXExZ`jb*%P#^{tX__sj*(x}RmP8)WWk_UH8VuVOW|42r((0!U1Mp6SvWL0zl* zr&aF*s+_?NNM*1!Q~j^i6^|&l?hJ~wP1GLV`qU%+*G2FVWI5BtnpK8tWzbtI=3N6Z zdK@*v`_>VxgDNHdaRq=4au)zK7y(FqW3+o2M%>?o`Ta*hyl!Ab>Fi)7=M?wHK{E`m z-o}fO1&8f>AS%cP3z?^hw%>Ce|7G_7F-SbKp$5J`e`voJ?O5Lb=XPcXvX2k!-pN5D za|iSm7NPf>L{FfeAK>ZDhraF31#HoWsQBFPJ({QY!SgZMd*Enp1pU8QMoPW=9j^eH z8y39%_-eCb1x-T5qP~?R*TbKIHqVyG(I$GdR_Yo^iS$nVZS3b8v82E zV3IV=#a@!h)J$9}4bgJ=8->>)ZH}ZQVr!?qNNN$wT_QE%bdA$KXySB8{Ei}*DFcIa zal<8?_ZrP8iT;4!FO5z_(t9Gk5=nm(>HSFhNTjfb&@NJ3XTO_~v`(ZAUy!kA24k6& z5$PY=R>#euMxi|sy$Nj(-9q&rqrZY02_IrQgvzl%+r7Z;)DHcbd9DmxR6{^i6sOnj6C3R(g#sZ)gGNZH?_oXKDx?6na|d zlF&DVUZNk+75XXtifoE4aRnROCcLTYJ*{f5$h)iKUBjU+?PL07q^sHx{fB-ly1E8C z4ZDKnCcM)zJT26X=TWS|9{e)z;h`tSz1fOm?WLR>gr-}xraaFHrmY|(CX6R>u|3)KMfvx*4*d=OeCnRv`z1cX(eKVK;Xp&d%N4g44a zRh6KI{H86_AMqC4y8A&h;Bm?YW2O_JdNsJw#n5sC+j9eiU9{|T)~rC$h+Pb!HvRLb zcSfOQhdswZq->o%V7ZoW7inmA7M^7X)lkPdNqHrWBUUA_Cb6D%X?npEp}LScH?;gS zaITw-+lw3o>fcZ?nsnJk);i*4u_;%rX%!KkDt$VDY}^U2UYS$J&suI&i&N9!RW-!! zDeL^I;ksw!lnaJUlwejtS6$fbxE-Dano}@~^8$UJzEKHFmKz2`?(F?Qt;(<(&%H45 zzDC2fxuWG;RW*b&;Wc7Oop_R!fdaG|xT?@JJ}`zoH#BV*KlH0GB88e*s#Xt6DnWVP zWkc9y!(OT6xudf-@68dbP??+KbD;i;tKE|wvCTQx!(J%{kr^h&@nYfq#tC7Ua8i`Y zW@r~|#}3c0@{f#ozOwCDe%|uW*+qD-h=kk9RvN01v$GCvK#6&> z=sa$LXUN2j$e{xIBFz)EmcjXWN<=LotOCN9*`}3t2DH&w&+4&faBr!ioFwX2vl;ls zSf=k{j71xtVlr^JbRYnN21W?V7fQ9u`$|j5IwBqUp(YP2U2~B)s%AOw;LftI?EB zuj|~wd|dUdR97Vo9lvp1xP`$$4JQ*#ogJNRoo#K2X2r0ewC$bkRc$-8?a73uoSG45 z$CF7-E`dZ__%=4JuRrda_0Tgez) z?fk%K_*RVnH4rT=Pg#9k4BSP}cKq!*Ge~qpXGygiI^UU(QJzkLj?xiuIhv#i$T`q4 z@Z8>xefZhR`wr{(F+t-iO#`gxMnE;7@_rk`9m>I;%8^TF2wzrced0AOd)mcrc3>I8 z&VvoN7wKm)1E3mW3SnhKKX(_TPjPqBXaIk^fjvOGaAu$exU1^W4+F1+KMUR=W+8d? z`WnV~=esy_CeX7THv`Xhv8hHrf{_3x5yw$p7AM;d$X7+x_84q^Sl4qIz@4@J;D2fO z7}KO0e5&}EpHI7b1bI1+iWnOLXTiIg2Ulkl-(WUk@Zd?5kvI>-YEDqtvW$E<(m6T{ zyT*L#cB=BT@GHU3#~CZ1nUebndI<4NMi^Xqj<1>@OR7@;dz@Ls%;!0;JFm+Wus!H1 lsA<@cxr$ZgwA^N8RSjT0FwIc^Gibi{1bL diff --git a/packages/SpaceApe.Common.1.0.5/lib/net35/Editor/SpaceApe.CommonEditor.dll.mdb b/packages/SpaceApe.Common.1.0.5/lib/net35/Editor/SpaceApe.CommonEditor.dll.mdb deleted file mode 100644 index 2bdde8602ee84c1ed23da4f2c7b5f1736612bb7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1350 zcmb7ENla5w6us}i|6hxOBEv>Q;sgsLR#+GU#)vHj12Ij&Da2@Le;8WYroRhC69p4B z(TF(2utHE_>BcCK;KGFp1aQEBMq|JrgD%vKi86RzKP_Q_39mi>oO^rkefPcm-jud; zvs*GI3$n>vzn;0rPaW?lZg8G;G#%|q+piG?@lzKkQoy@lCxWHUSkS4^+f+k&7{mz@3 zPWda^S2uSm$uD;KE0)>9+e*)KI?~THi|NywYDWu+nYV(2GR9sj^hSBBMD9u2qY8~F zUtn`mgE$Q_9w@ISMa5IzJx^qLcDnounMkP?PCdLArD9tzDTT!CEYIQf+PyxzUD9GU=VmwGIn}Ed)cJchl3H=>k4mlDJuP<2FEo0o^(@-M8jWc0O`Cfe z8cARi8ck|b3%-Eq`>WB6HXF-R8U$SzjUrN4Rd@osiB!&&W1M@ zdDpYuW^})x0Wlc!Z)G0SKQ8F2n27mzva6(z3QygXuV;T zdyzPTN2&Rqiwdv@z+ez}z?T6G0Wk*d126zYI<{2-fo~9e46s0VgYN^F45A<03t&Qs zPv8&0Dro!zXc|}ztznZn=y>Q<=p-NkIupDZSOaYb=K^b?%fLr5geJ4ycu@MJK25_9n6hsR&2}rvL4{09+{{uu|0v!MV diff --git a/packages/SpaceApe.Common.1.0.5/lib/net35/SpaceApe.Common.dll b/packages/SpaceApe.Common.1.0.5/lib/net35/SpaceApe.Common.dll deleted file mode 100644 index 55e405c58ce6052d5993bae041bc6d16fe4b81ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38400 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 diff --git a/packages/SpaceApe.Common.1.0.5/lib/net35/SpaceApe.Common.dll.mdb b/packages/SpaceApe.Common.1.0.5/lib/net35/SpaceApe.Common.dll.mdb deleted file mode 100644 index 7a0f240435398f9b1f5f76aa870fbc8bbfdfb3c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10338 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 Su%YqQNb|h0KW-nn4Ez^#j@?iI literal 0 HcmV?d00001 diff --git a/packages/SpaceApe.Common/lib/net35/Editor/SpaceApe.CommonEditor.dll.mdb b/packages/SpaceApe.Common/lib/net35/Editor/SpaceApe.CommonEditor.dll.mdb new file mode 100755 index 0000000000000000000000000000000000000000..e64b93625299741548fa432892a7e07b02b1ab0b GIT binary patch literal 1615 zcmbtUNoW*76#doJQ{AnJMiX~b#N}jc^`aONbrLWdh?oQf4?3A?beyG!=?;=8h&yW3 zgQ6xPf(MODMBF`y%OM9vG%j(4BzSR6;&M<#^wo4`Lcj=W4X@w(zw7_{RW<$dj;;SO ze$wlr>Ew-txs@|6J#8vJJ!b#9=D^<8QbCl!t3xUg2hV^#94z(NZaoaTzmF)7L39rp zC&y0=9c-j5q7`O^VX=2LuxlrKJIgJ{of33b9E;Dr7ur~IscZhD4awtmH8nG{=+Wpq zcdx#@_Bb+RA}#vI3M_BUvUw$e_{u&OiyWn~4K&Ah;SYg1mD%^0? zk?T3X*?;GfvO>3oe~0`wgeJ{2gpgY653T zjN6r~Nm22X{{f!E3jF>;gc@?NZ=80kdsI?<>G^Wzv~&O$GH&^FQl*#%ffS>Vq7c85 zMd>uDR3}twRv#c$X6at35IC6?6hq1+C;l&^9VyB*{oAg zm-yK2vpwG?jW%mrv~(WjfJO(kI?q-Wp3U|mlyl{{Mh)7Dj2|B!+{$&0ZfG|%-jQs! zH~XqoC@X0tqWC^zR@`-PnkZrxo3k%9 zk1L0DYShp4HE{te*geOa$(1IZTJ$HF>Lpp0uI-~vpY+dtrLd5qd#&vT)fx3h`e^t$ zgU%ZlV5_8u0@cOwM3qZS#KO^N*dYZz*D4RkEaC=UmsYv*JvP93KY5Gt0#!NqErU9Y zP9(yoBU3u_@6Z{@Ps}o~UcMgCqC{}~Z0CYUj2(AUt?Zj7bJD@=qA!ssy)+Z{! zO8~S$VSy`we$dt6B+wsv7kDd>1$`J?4`f4M1fK*3K;Hr10tQ0A0zU4d;uy%VWFY|(vXFrQ6S6OM7Lt%mzK|h&WPv~iLc-)>LY7G~69#?ndu~;Ct0Wte z-#ouRzULG4se8_S@44rmd+xcnsuyp#{1$OUB!buApvdQO<=--;rzQiauA2D8DtWZ* z`;$Izt^fX{wmsQ=s>jRi_R?Lc_H=i5t~a$alk)nyQ`zp+s^->ISFR&7qp~t_rmwnX zwa9vl78L)U7kg5<6&JY$GS|qDeG1nUUMKLPbtznIV>e1_Kd&N|%2{$`*$pDq`hW52 zvjpI88T4Mv!U>UCL(QO6qrZWei+WI^ysp}5BO8%CKtSDi%*h9bKkG9zo zl~*srd|awtRQcaZ_SzFW4su@XJWNR(gi9lKV*L^`c*A0i@F8YZE?jdC?0AD%MSyF{hqd@0b>;p?Os zK%%bPJ(jJQHw{uZ_WsJUTs?sE$AUG*(K(b8^XWRLEH@72SpAmrSbXXK8XO#KI(7&Z zk?G0Nue&hP&7X$)0g6;Uz%e(SZs*__7g%`AU}3wPA5SbrDj%Q+&78-j1HJJNe#Dfz z^AXx7@ySag`Xph|QzQChEUQX=@=5y;CfC?Ck#?nM7ey*R2m`PVFeaDlz!BPrkVx7G zSd(ze?dw>GIgJfy*bAWLHp0Qv5^ikS&*>x+$0u)xUPo-V1jA3DU)yQKjJi#me0MBB zA8?Hko`C{p*ll``eF$JPj?*D9?P9m2pI0@?|VVrc1 zmV7782cy~-ppZWoWPqYWBnM}L1d&vX39J$LiFN8H76LyZx4=(u$Vh$~xt;oHgmxu< znuQ*Q`ALQJ(`?qlPjhh9k<3NGjD#YUA3TqsO@W`tIg#A?6e60)79Di~IOC{!TJjyW z8jPyH5QY3QkO7JgksMqIQgBodPY8PWiB;++76LzEwZTtt$Vh$~xt;oHgmxuK`Z*Jn1>ZFHFhH~iE`Jw9~(-I)rjsA-h(JN;tZC60DD#q{A$|rOS=c;n^s?e&VZF>~M6Zbf7n>|0g5P)`Vj>ZU@S}e2Y2X@c;#t zI2W`-oB*WUja`{=+$~KXa?TJLSh@;%Me3W#;52*z#zT7@yUuNdz|Fk{(x%ZL zMF-=XKIJUH>XrIx%XSWqho5XGb-@^s%Tv>nB3ll^AvkSuBxmW^BeD~4_F<>8x4{g#S&>{xc` zi#*TZK$qrJaCswZOw$6Eh$+Cw)0!5b3V}AQ?)3-*gGjPX$Ltnee1#!CtwY>Jb#`4N z;?F<#yMie&^A&0_-sS<$v}ie&tw$ugi!k$Iw>b4%Kx{~zt@T?Q_dtQ|21*%c*vsBn zr!f_7TB-}k<(h+4Z2xYw#~Mq9M^R#vqqho9E{mSb9gE$P-wOsO?Rhn5?>e#EKJd9t zkhAnKZO}{q70$I?ZK+24b78l{-MBWn536Im&V@lO{e?MRs%_YRMjTtV=r89e4u<0c ztB^%(w|EazV)VrMl*0>ILy!s*avNmfccr$5g9RN4>|gIulJB z9lb$9D8Pl&8nL$hxsFH=RDmDn*CG8OfRGxxG0Je4DlGI`S7A_<^GsB@@hwg~mqWYz zQi1=avMq+jGcOm`v&Q*d`#m%9pABtZBFfJ8-P%rey$ugm4Z$1#b$xX#0& zM#%owaFya>Z=wu|A#(uWY2(ok6qP+Am!~^#&=88Aadw|O5(s<)_ zD9(QqdOzkg9zy5y{mkEZIAEM6r*WXj)ajlD!v*o4tWQJ?vKazL?_KH=^A>}#o%*dh zOjFO*h8m0vIbX+9ztt>ktm_h-cAuC>gCpAQ0wZzfyA=6*zOIQ`5Fn={>k>v``8;Gb zv0bb(y0;Nda82tbtOVS!EqxvytZ&*FF(akII#n3KG0w~dXVliYm}b=@7d9S*Cf2G) zO)W*NWj@AfPLNWu?<|8ksk=cM--><{cIqAq1_MF4of2gK)bYE0M1{KmSyf`X)5WRp zBHLL?ksW#6MqZs})tNnaC1f~IaGVu&mGjO78!yu#md6^8aAw%bjciHG(`^c4Evw&B zSr#{8^8~}jF{xT(hf{@chrUBdIgw-8@_83Pq>Ov>C>U@RNrhcwA3)ZKEY-CEW+Iry z^a08#lmoYZ9X*UTx#bxc%D)tbDSX6XPpMOtbrTPJ4(L+i)+?OET9DDf(tA^J}<^)0AMJ;eH%L+i(z`iEIR$odUK>nHgA zJE+frc!!79H<R^Z{6(sb&ywc?eKt04)R@CZIV47-ax_ zFqAq@Kt2ShHh>cZ3=(i81W5WeAhc3TLA-Z_05t}%jDYO~d@uy4HGq2v7$o4q5MZ?5 z1y)MxFo^fV5MYb}3=l9#z^_686UHg-!l}a`-k(E&Ae;#pB%mxhbh3hYMqW-G2Jyy+ z06{<#Fi61E5WtUUX1&y55N~b>;D_`80fPiA4*`OhMt)5l2JtQl0sNpIAYhPyOb8G} zHMaTGVGyq`1eoZ1l7K-14u=3Ke=d*&QiCAgO(DP}A5aaz-5}nbA;1|1a1Q~41bjRM znCxr7)|(mx@xBlOoaqCwhouf9fqOp;0j3zh0P0eA6YxR^aF%Za0fPjTyF;gYs^0}N zV(KuC`CdZ^(CBx8y42kSWJ7?n{VoU?B%m(@X!5(jJx6LHh<79em}USe0(fWQ-5LU% zV*twt*iOK`A;5G4*g?Qy0v-$jW*EQ#0fPh_4*_Nx0B>(n4}o~!3jt;sz{3O#67XCI zFx%IF?LE~D;w_F1b@dzrXd&P*0qa75xdt#mz;gs#76P1W0M8RJNC3`@Lo)4oz73}V zFcHLiR|s&v0i+0ch=31<02dg*!vqWx@K6Xa&+h{FuBpQy-hYMw^9^8tfa3&|$A=oZ zzyMAVFi60}5MZI-1@2%|%^=>i5MYr3v=DHZ0Ne-+@xx-j3j%&Xz{MfJ5(9XGfI$NK zLV%^d4LEzG4ug1ih5*Y9V1R(*1RM_mmismkFi60EhX5=5E^vBD4T5+Vmkk}oN*{m| zO==Lt!=5l?n5%q13Vp1Z*c@aR|_C06Pd6B%nV8Xz{z40>EJq@8coBB?d4+ zz}*BK4*@nAz&!*E67XyY(CT+_76Bk0w%;MHZu0?C0XPogO{*9R*lYkN2>2}li$j1* z4d7J*1_`(+1h~xaqLBa)@6#c`79Vgn0Ea=mr$T_O1~5RtAOTk8P$Mt*H8c?b;$0j9 zT;T(z5dh--LkO_V2b=@Ib`bBW5a3D!*g?Qy0)7($yu|AmBLyHirN^4d8hK1_|g70or{VX0Qto@7@rg!|#HCK?0r( z0W!XZnY01Kb4Cpv<}L$xm4HD4CWipKeGRh!SPJ50Lx4R7P`L5*?hOI522i*W^*$W} z?De~tjV@+_c#nku`wU*^^-3D-ifZr0Z zI0VQUz^eod60kW0=rI79LjZ_(a|m#i512~;i1&jK!1Dp;0&si-0DlMp@&<4Mb*VuD z<|l^^v)9+KkpSHLdf5=5&j;KCz|HpoaAyc`wE^6My3`K{cq9baZvamaFi61TA;2|$ z7as*+>Bj(gG6d*1fMuvl-A%yHLV#-x;2r`732+D%ywcbYlk>3b$tP|gP6m_j1OUMC}0MNd5)NM zA z++4ssjOx@NG5sOTEd`AH7?{I91Lor)%&i5?0IE}i#C$u1c~1c&&k*w*FoPk?KNK;~ z6Z02f8paGA`)x(ce-iUwz~Gr&>G>pedlB2jX&ui0=5M);tJ4HAa$6#SEAm&O z99QJ1L7Vlt%GeX6ks4$-ih}A9WpbgJLQncZJuq$V5&{e!{$;CQcNQzzk?Z#hL(CBf1 zMO7yq?%_fUzK?kUjKCv|?K7-@VLe4Oy^3`{GJY1viZ$2`34Zv2HexL4HG z*?HvTgj3guRLIXRMkR(B$1{t+Egt;&#}urgUp^OfUJ*Y@5X4Us199*1z`!PLsy;b| znqL**eoR)v2*zTWZ_9s_*fMf3#66w4VbK-$D#ryguI2`|oJ`H^0z5Jw=X_DUL8FuP zvAoa-7Pqj~!V-&5)`|h*FTUDHO(eW9;@(K11vj!?o!_t#TWz8?S`!`Kx)^52V^P6A zB;z&CPMrpzcmO(!*&~jIb$Bzh4sT~U`r*@L|8Dk#cPKq~2^B)0o@IDa#gX?_% zwGZKdy*Sy34R0Fv$=6*RmlFBgL0+#r69JmTQ3M}}#o;I6=5V~hhs#;c;S`goUxvLJ zp9KOWp`Yw9Mg8ckeE{c^#C!u_v7}uN#}Z`9^KIv&+QnU9&Dgd=AO8&4$$gMInEmVn zI9>$mSPZKx;TM=r?`DH?ZOfwhK<_(!+&!vdM97j7Rs4Jo{e=7G;JxzV@XP11Bgeqq z+`a7N!yx{<0#Ycz^p22B8WFO#lKHgA)%UHB?I3p+Q(Wbu12uGXGqebL6a1&vd`Fw@lh712>9qO2--akQUaL%V~jk^a_UtpE>bhUrN_)`BJ8E zdt&91X1yk^ERWT1U5#aqud0|Y@?c|-d04sPy$mNMO!2o`WYBs4p+!cw_g5{VB=g(? zuT$r`>RrvVj^Iop(3lMJo^_h^7??T5B`+`2C`DFf4 zNJr9lcA)Pw)c0BHqv#MxV-59vuBgxE8WKbSKJTk@V}rGu8b1$+o%;f4!fpH_F38&_ z!P<>qB21gOxi1sD_Yka&EI=4a{+k%%09ln`F)PzFgLpTGjEQeTnetayUSe{vUAMRK zTjWo-51fO>nv=CqJF86iY~?K2+=wQL#BwOi$q>p+~@+=70CeX?zDX97Pha@XaUF{3x6TZmf3XSBpB8WvjGGa!TI@xhuD5?a$qpU00f8l>CR% zZ^T)CS!qKV%LkOcRp|#o6Y{09ua#BFODb^^6$w|G5=4F^@l}+6sPvuGH4_(fz*98BrGItpWSfVlCf`x@p|4@GZBf96{Y; zlox}GDRM2iYJ69rRypos)i^h%l)FN?QHTxd+^t-VEKrU?SdA!HBkbWYUVMJkCP%Dl zc^Ary!Ck7z_b7K7zInmA4=C3ldzAZ_&s`(ss6%#^$8fs8QR|Rap=FZXq*_jZyAeCz z9f-7Qd0gwxkoRiclgdq&yR_Y}m1~syl>4J{P53@F?X0&3L8r-=wcTWJi@|+U&X>8C z1#d2}qNrJe?>yJZ&DI#u2dxIs@1dNO^CF}dM;d^6!J3Nl(-G3YfKoC?C8U3e%u&fo zm5}}=vQi~mR6_cf$QG4cr4rJ=M6N<#gVtftM*D5jHZa$wJ&Tks2TjTv`zCzfb0f-* zY*KoueH5qtE9{$rywCnH=wACDFqUiVsi4=}9{_!~(mNpGD1Ps76z4>e@~Hhuxn$rg z&|t|4`%|DVLT5_~PLdnP?sr~;q|%@m5sQ0-)CLRX2c@mMgj{R%mc!U{%f8UDQ z<*#WzFkF>#X+;{HMdVA7oMj82d7_>z(=W~mc z>r&2mw?^Kp9Id{=s*xvrZVb3uail%v)6 zTc^ukd~OW5i86y*5axCsxRfmMxyQ@zwj-#SCK`5djDEJu6}AOEl>%N@!Y ztEb3El%v&4qEqC-fQv1OPLa=_=Fh&*M@mg{|vR?m_9eeT)vSCCWq=@YCDjga%? zpOvH4J<;>ze+OKwCwhTAuNT`?0Es__NGgdE^>PBN{ELv+Xm9;)M2HY~? zso40s)?O~heD3k`T6=|j#OI!f)Y>cM0iUDQtK^41_iXu0dzHMboUwYX{7E@l{XlfB z2#$Ovt{;eABnjnc^<;a!RQTK?a4m%4?_1H|mp>V8GYq&tmp>Q1Osb3)`E&V8&K8;G zbH6YDk+W6KD{wDHuaFL(8!Ue{`WAUcIg_(?$gh>7U&`GbG7Bd&j{RX7I zi@sHYy2^?sHzT+Cb)ze0y1V4_KG#q&2HbaiZgRz3caOa8bJHr8x>-4A8hiMrHMioY zvRB@(+>P;t6|3C6@~F?Pt|$lhs&aQobHzG$pN!^VOKz1N6&u}7S*zR~cr?-KcFDCq zcTL4!Hz#lPxp%mqwR_}UK6jVJhd*lZ@rrl42c@UL-R>Ti3f_02?sKR+B3laFL+;z;kplN6 z_Xhb+fxF$kNmlWoiFRMF_@Vm_`KHf3QSnRns7#n;>Yf4jZt;}6RsOBwRri?O<=6eG z;?M4_lESH&TH=*2Ik(9+pBq>CXZLpLQSMebr}7f#y>g?^EduvGIp%X4z`bAY^V{tJ z_W}8%Uze+l$L^B&9Mi+W%2BbqWsA?{D{U=eAW{6MIOG7Pv#PN93OM2H9VAd+bs9#0JCN1}&eL?`|~Q zr>edf`=b2V=e`Q=OY)z}nelyD9@pi`mGhn0m*u$v_nLfFel>*qt#aS8YDYa0`>OoK z=eCx;hNpRBFJXV*DjPfMpnY7DJb?NqkK=Nta^JGPSM_rsKdRgjSylE0=eRuT*KI9} zTPI|kuk&B3UX!oMBGY^P*{Xx~*JQonl_xPO*2HKpAlw~R{0zb|Wi?!BYN$A2LF&N6%d7`P|oPM`ZUxF5=KpF08W zU*uOl_s`&-lu?^ayPtsjk<9bCe;YL^{*=7k=Uy8%C;q?X$39nG{Y&?0iCk*hjRW^% znPs^6nbm9KKaq=lZg%wsaIHSKr26W}Pi4E$U0B^3|0z}A?^~5E)t42y={di$7c7zFNK1{kiPZ-p#J|oE%W@r84&ZoV-oB zBk})*{+^Sgrp{vT&&yetQPE2ld;f);>vQb=7qY|W*!#cAZH2mh@fYMfKF1NgC{Otu zZFv#;EZO3a-d;jKq-8@_MOaH}2N;#yZfHp>qoEX8TK4fLX?1=y+)HU&j@u%kou}-b zdTd$$hT3dj8!tim&1%M-%$w8?=itv+Zh8qMe_LM>Y5ALago{S(H;`{qFKq^OWT$GT z#FBtkSKB3WTQ*0ls{`b|LR(AzU0ZF$&}`h-QA24t?gsN^%V;g1ru4jmoOg-D7 zwp^~YEL&nE2mh|}Bif48mT#7ne{hoWk4xmIF8{acbYk>LWsG*xC#BSu_e1UozFgtU zZTXl=9xg}>K9Cb{X{({sL>g;t^)2t8jZV(dx7CIpmb5MU-;qld`K;C&dPbaWO?h)k zd4HVR_(MoR?UN;vpqAtPnPT>X+VXo~9Qi9Kp3;=DZGdFCS|wwZHi6o5zLxJ(t6H^e zXldrzT}DgxY3=U6k-lBq-eP+B|3J;!+?L=dx|Q~ql;5W1H^S88ceIl7NBdDZSH?Qu z20hdHzATdI&QC!vaDFaV$vWo+>6dor-%-2I`2*y9c5$xYXU}l&bE6Zt&Q(dj(p7Q{ zlJ%fswL#K^JFrKcS=O!cE9X4WSD`0~Z{?n69g$Iy`PTcSA+i*h$&m}Kewh)u2(74L zm9|~4^j_6GTRsqJv+kD@kt>0J0_FKyJ0JMh@RWvk`P=kKQHSvEyhC_bz75Zj=Eyd^ zN3KwOhhi$Umk!)N63M&rZTe(soACa*6PT6K3qAK+z0h+%Bv0chQ>Wgwj#fRriW#jV z?bW;IUg#l`&!ak_=QGxIz-*E0q30>N>rToS=HHSIh+Hc?B5W&t4Bb zMDi)tbYd%0s^>PvoC!TMftjaB-b)_UXJ1F5 zXR>{lyfeDSzE9p8-D*D|_eFn>re)x+v(f#i{c4nFyC5Q`?Ie@3$ps{fB!x`eE$7rt+lJ#r|C^Yf5aEV_EB*^FU|DmVllgyU;lz zOJhf2|LWL!XPng*y9BfYlq0$nG#~q^jI$1@{Fu@&f^L2l=(#Q9BW=QZk=Os>=P6}!Q#`!bA3Ed z;^$cO(gcgo8z-o?bF4JZ`R7>l;UYzzqdl%towKd|Wj}D1TeOfq`H|Yz=d4r7Z0pXl zUpSYbd=#~xD0>O?vt{R5Tdn8Ie&eiHJ-?7w$}Fri+L^TeP*xRLZ~a%_bYuw=@*oKP3hyHUyuI;^fkO&vPW*TtMC!!eRyt{wHDen z(gzxs>Gm`yE=TNbpf`Y4$!Cz!tK@4+9|yJN`}XyYEk9BEENGSd67o1ce6$cc=Q}@j zW=O4jXM6^J3+fTj$x5dwovU=A`#H#0YWc5rGoDLb>^=@jtNSlF?Y%{lzvU=FO;4@7H+nlS87ESuXKmf0i{QLTJ9q6$B0QOy$7f3 zX6uB~WeJvdD2-IS02`!|mZX#}Q@TUxfYN)Eo-pOHsz>R4kk?tSie-Dli?b6wt4uzCRHc=86&isU;%Ym&!&8pm%z@I8+)pf-L>5t|l% zMUz%cg4SxhClZ1D1F$D9Ghkyi-m{~n_oBZz-rtKuvIx}1dmv?K`vuUrti^jm)v^xM zmM`KLo^1INely6%J0qh&AH)7<;hAF+?~W{x4e0d|)c;7TtkbN?Rv-Sm9shj=|NR;N zEweY-9rnBI_t=jBcenj9yV7Ba^ls;4&ObTFov%BOJJaN!oWDA5(l=AC;s(k z{`Fb^`ka6Lg@1j)zy8v{{>s0;>|cN5UthtsQeKvy${1_0?8WOkygr22ckqhXkD>0{ zcs-8S_wf1wUeDw8GrWF{SEW4YWUQ%?jI|c;T&(4o7j4LO^mS&INPDhpM!qNAo=Nv) zX7u%DJM*%xJKvk`ZqKyja^y(kx4aoLpa?#Ok?a?eZmZ&pKA?n!&5gu2}sS(Wb1 z7#@vs?fWvG@Y0ssm+7V+714_3i&t-K+ln7NHgBi^_rSPpdv7+^o%Z@M_SXJDR;%3Nn>M#cFV zYcky#FWW8(HuZ8zU#2eugI8sC_U#VTuJke(XNN4;hCywMms#FX5Y9o9&dhG$Ok32h z%3>OO+xPhGq&?l)xij6qFCQqH8x+o!m3^JPeO@NGuIt{F3rt>v4-}+3v)86M7%7>j zbbEWBmu~NudgrxjPF~h$^Su~KYj4`a z*f>+NDbt(Ic0<=D3!I{LC`NEB$du)(=ZrxmFgLNn;Ni^3A(;;pbJ{8OB`b5?G%9~_ zreAhvdbh8`ENWq84p{j5D$bZX@@kDF3EHY}BcXlr6+P;03q=idxQK1E;vt_5WW8cVj;CEGeI*~}b zGTps-%%NF+qQ5?lc+v=HNoPHzht=JET^UaU2sV~*bo$CZ&w~n`fFKS{_-ryA$Oepc zBY)I<9T$BruUXj?%~bm;f@O|$4)?dD@l)}dU5itKACTXf-kI&p_V#1FboQpDlWtm9 zOk7yB>-@#ro!Q^YwU3#Zi!of&i-irx7PX~4PtuyTWSu`K>=)Ef93r?blct#Gp#}Zr z1^KHZi+LjW!fZEE0SNq#zB)43H1CppuFq@F$Yp7-8~Gxiy*7h)bJ3~ur%MFv`b_uk-aXn$8&YJjj#qc} zz+pOB*cI}^jY`(#*JgL`X~pd2G%>Hsug~o-vPAppP?PCJbT@mevb(czcfK{#gV|wn zK|GZl!USu_>(!G*hwK`% zKQ(vj!NcFL5Q9901l&sOU7lc>^M%Zt?P3O9zB7+=Q1@=^Jy=BNpDR5X7=yJAqc9fP zgk7dXR^|G5%*yvNrZ%F_X3qp%o0siE54#Z%elBf87MKA^A2R#uYkIs)o+}ca^k7M2 zKkaTuw!y;BBl}`I#kPdmFo&tt-R(Ker6sB~7B;tCIFGy6ihlYYTLVr_y;wXv_MLyO z?|tr~Lj-8xSDCGOGva4+Z#zQ>Q&Tv3A)%)`RhaJ5EtOFO+{WB~F%t^U?8>dg34+@< zwxbnZZog)@VxI9WUX@Mn?#|_Vv+bC(FdA`-oCm9#J+nu{aX9mIV-MC%xVf9h+vWSy z*mzC3wKJ3H;du1~K%qHuX(2dWA^l;O#45{TmBG~)VynhUDi8Qjq4;bD*@*dheI~uH zh~Q4keXO}#4KF>u8TbaA(6X4TQ#C;~rxTvWF#^Nm7Ra0#*eY26s5iNdCplT0&g<3R zNc;&yUcqUfzPhk8hbY8J7fxx(w(o1kK8&QNSs&H9=WxP|b9s&_xLKPrDoVix9#gv- zrv~;>+zQ%6SBXi=#(d3oY*i{O@)%8!#Bt<8Sgz|X1#a%$HT!(u5v~1QJ9+zp{D8AX zUUO$KB|P)2>+b1e=2cly5J2?wA7I$Hn8??uGR?xsWpJDkEbr{ulitXE9fy1)y2ww; zKD(~ltUTlP4Vg?Y_5s~r;1>3QJe~0rqo*?1(x->hLPl!Kaan2d3X+r&;egAU4f(cQ zP!Vc`glI5+W;`j7ixWw&tH%U`Sv))`vVz-35H)(6a-o;a;4IzGUPr7Lu~loftEW@% z4~8jh-IMcrLyi1>pe<+iAB?OY1N9km8-ZEZy9LHSBXo1Oe{}RCj~U$DCx!)^GRSYp zkL$XTG1+uo-q)q83&+teteTwh1_Ce;Ac1rB1?>79mU9V@NWdwal4cKS7Ta>M2xClU z(h71d{yw02dqw}+{+>O&rDYah(chBGqA#D({sN{YiyO~EMJI09e5N(im2J-z1Z_E3 zyQ06Otv{eZ7G!tfS~Gdw_#(LH(tDPGp_iDj{VRfxrDB#3Zpk=E|0v2CrHgV`%qYhT?mhYuz~rvWf&_SBV^4zK@r@QZ_jz1*`2|` zV`UDH53qQRgZvxE0&g5PqXUZ(f6cAY}1K*tTf8|Aeo9EKA(!~PP`ka+`tV}@lZ5{N0@1dc0xf4YWL_h z2YxR~?U1BkLQbz8kmOPF!1trf4)>#Tw#wn_r^E&wXJOoK@TEhTA)C;u3)ri1ZNz6C zXYiXFLk1bNA8vRKgENNT%yI08*?C;kFoTBCm@XL62{W>I4oQ!2Kv_s>HixSuPqY1nPk8cAwSK^CI>mV!6 zQc8O>mbI&1YLu0HcQFHfNOE}L&QJ9Q10U+v6f|;7oPV}3XxUKe$O|FOVU&Njww1;o zZP4;}>!@D=`||K-J1kv~GCki7pA^f}Wj5+sF`gcOemFDglSxHXN>NHK@hoJY98Z9Ysp0tH*C4$(5LKYT&$5hfEDiPU5E| z=f`-BcEG=tYthqA?QuUi)~CU%*2-4DA6hJvOY2Uezp@QWIjx%0_@RM~_;=@W_~KtH zBwcu!QER`Wm^L^=%s#`lk2r^8R>4-T4`#I8cu}8>S^+7O1v3`-N7)At?kPz2 zD&EAEls9YJe#oS}4YUh5zM zF!LUkoMc`QF-*){=lgKY;2#7u*~>&PbKgqsliA5w!7R5^?cyH7F>=h*-;XQDYN7-Y z3vcdL55OPgn_xBbBIXn$H}lj9J-fl1aj`y!|D=2cupCbZ#%8cg+ufR*rTk*lF;?Lt zc%JK!8wuxFy>#XO+z3k7yvZ3-z8?K_VT_0aL$pO;x~soi5(mM zUT==Lzs%)YHak-3sDg8Y+5b#N=g8=NX(-L(MNjzgHFXWfPaiPf(%UUMLp(6``F&B7 zTwv@WE)SnF<8dD_Cl}7B8UM~utxQ@8J>2ivOFP!=u$XNAdp#7K5t#`}VjMd)XOugy zhY>MycvcFb#%+XMY(-QG|8@;CUl*)5dk-_zesa^9YnknM;4{7t_R3~>!1#@4E8S~n zZa{zZ53@IO6Fti#CH=&l&d4@dN#_RMp?A$u)OeqfNZ-?A=zk%5DczyD8kn!S7n(7q z^f=lMO*~^4XJ4kT2Hy@la?oVXW6Qzys0N@8wQ3La4iM8$<&)5?BzZ1jugt%yf8D8CpL}kH>eZ9i zw2@YniTUNQJeYBFN?V~mFee*EPm9`P{H^D(H?0jPy8oduK+~F&kKyFL7$HuVpUSI4 zeaG{L5zk}+!#3EWl9PG}-jCY>rjO-Ck|N=AGT(W2R>^vrRREQ(#qoN&#FYY$F= z!%rN;bKCIKXc(ijjWhM|v%HCnlVro0D{&gS7;&))J}|os@m%F2>5_@&1h*UOi+gRj zm8@O|EnG*tHSV}V%}QFOYp9rSgS+M7SpX{yCw*hp$!72*qe-qsZ(Q>{yVApwq`hWO z4kXMDJ$Ug1$jmEqhn@~i7U#VQV}WNf=H6b-_=S^WrSSt#GuTrmhjk9$)1f`NV_wfV#I%AG(HubuwI&=BXs>O|P6MoZhDly@wmA9lT#=vITtq zCh*Hk?g=i1#oX5g=NjIvasQ*2x!3T)8K1`$=R1g9M9|bX&dz3^J@tOE8uNRyo@LTd z-+co$xp$SlbFN0Y{i&gfKT270GdZ!7xaobbfzpOhPTf98RwO=hnx>HTao)}ha=INzQ6 zbd&MtKcy<{#HaF3iRP)T$U)S@({>@N?cR;?Uta`m1^@9LwdRr95JODuH>qi60|y{Wf%ON+Q*mL9~$k{ zH)&z*2v$4TIV#N^khuet8~%J`R<@wC)(?Q;({PbT;rontk%j3%@mhM6-2 zqq>J-<_^JV&%-e14#B8h4PkqDzNHmv*(qva(5lIFS%e)J_i z;+%jlAg&7}K4L+LUl{P^T<4rQ#KFL)nSecPSmt2|lP+)A%^N$tnC_I|Cm-aXoP!dZ zG$YO8Gk3t?LqupvRouo*sy6u9z$Z$i#W$%;{TyGPY16K$&upelH`G1cBGYm%TH^1y zUw?jO?DFp|zcuYn#fP{a7ssuM+itwV9a9svYs$vdR9X{aV3Jl%bs4T>?3(JDaX>Yw zuvScEt;AVZE47wEv6L87Gs$70)-DG+C|8WBnG!MLTBi~fMGkt;#;Y;nHY69>Zk6LE zr?Z3E{K*~dFzy?(7O*WgeogOmd`rWsDNCMLUSe@HWx*CVWub40>L8qy#3LzujU-xa z;m5He3H&+^_?ohK$_BQ&)&jzcrEIjQwV;4qnsEbLGfv0Hu^ZvID3BAzQp0LAtil&t zsv4^Bg%K;>Fad%I5tuL`V!_Aw&PdHT{#Q|LIj2kY>F8b!sA-6%q(L=~MQ`zh#r|rg z44s=2w6bDM%>;FAf(YZ~a>bZ(488jPPWk?>ATn@xrD6lFOdLhm+GVMrgef_*FeO!N zTbz?o+PcV>OT=$q>y)R8m&WYMpRf&|0NnWWoyDa#Ut$}1KB=~+{75+FUa5n^1 zaGMP+HD^bv@eVXpWidy%bm4*tfg{xSD(i>ep%xBqm_XjDh9F)cQLAR)NSrVBHXG{9bo8SiOrWJ&*n0%OSv!bXj>kE{ z14j@^j2^bs*g&*dPCO!(?L@_{nlJ%B!-e|dltRWXd4OVLn#b8JivmuNs)RYQzffWh@N;>=PlUJay<=wJyJONjU}HNm1S zEd|ii*si$vO3P=lZE@KSEf<@Vr?AeNJ37PV=i$AL$o2cZ5wjiL4@PNK!+}%+0JoekS7_PA7HoGHFjlYB1Cjy0jy;Y6>&7Fs;Kf?aXdPx1WOf|)~Yz7 zz^L>UYqKiot%S+Q7jeO?Ax~7rVy55=u=I@pYOuzc#n`)sJsWe~_%=&MKR$-o+{?}8$ZO5myR&{o6Nb~zy`~X)b6MQC1@NXujmJM(G|0MrE zd4RvSs{bC(z|amE68K$UoZ7>3^8D`RmJ=dBHUUHt%DAV%6O2~b4!RoeF0|r#P&1x| zZpU>a4)D#2`%2`uubXe=278vdF4bCozjf$0aVcJf7k*g=&j~!};WK@FP!@M=yKpnW zzcaN}8*2HCBaiyxb05|pmWLzrV5K|cBNpPSK8 z{I%el=N96_=nC%4gZZJQ#+#?MaR$7`=UTy>@M$5R@%O=#y(J^nF7bg$8+{JNguR$D Z(Eq#WJ?3}7Z&~tx*RcNIXx^L${tvub0J;DG literal 0 HcmV?d00001 diff --git a/packages/SpaceApe.Common/lib/net35/SpaceApe.Common.dll.mdb b/packages/SpaceApe.Common/lib/net35/SpaceApe.Common.dll.mdb new file mode 100755 index 0000000000000000000000000000000000000000..d24ac5c58142273b07ed19fd83e3afb609d83584 GIT binary patch literal 10817 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 UuR!$g1@_qw?_fTPyxt7_4=TDScmMzZ diff --git a/packages/SpaceApe.Logger.1.0.2/lib/net35/Editor/SpaceApe.Logger.Editor.dll.mdb b/packages/SpaceApe.Logger.1.0.2/lib/net35/Editor/SpaceApe.Logger.Editor.dll.mdb deleted file mode 100644 index eae9f388925221cab99543ea7b7168e2bffca78e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2117 zcma)8YiLwQ82#?deeJ`yvDzeR5UoLUiPi^XTZ|z;3Mp(w5h+qlauXw)tlk?4g=$GO z{#sdU1ZzVCO`46i_%obt>F%!Yf15t}=~}yg<&9Z`clikQn02BF0&8N_%zk8{h{*T=p}rnr z&N!{{!%7mH?vquq@DW3OV-kA#myQ?mf4_53>? z&FPB9gPdCV_E>yoc$Rif9sFo4`bju?k<%r98Bu|h3e7N^!AwQ_?W{I{UII4m{e=65fW41lBiSadXL3#v22iOySzhwdnKEM_)>nC z>8yONk3m}#20fJNh1`ijsn+|GC3!%h7A2^pwzOF+#}vA%Tnkxjny&lwd|!!1g7s7! z6@+xRKl%z^DCAeysb-dUTTWXnttz#v9U+TSymU!rrRGh}aoJo}EXQ?~o~h4M8vd~u z{5INZ+h!xiDV`yE5Oat{W#mjgfjQUxbEG8Bj@am??N-0--AVQy8#UUu*v&18XSeQQ z9ZRh5u$|7@&!sf1w-_GVsm4+3=x==uFeld6=%8O6?ftd~lk7Jf)a&>^$)51?nYGq^ zu&28>#&);CNxwLcIIW9+x4k{de$7d*oISAP?v=CgGa-Bl%lY6L07rZw*aL{rK5!`@ zLDzx50q`x78^Id@1^NJZ2Y?TedT* s^m%XxFa~-EHtaR@SZELQr$82T0K5{wwuJr!pe#B8nEg!rnEkQfH_O?O#{d8T diff --git a/packages/SpaceApe.Logger.1.0.2/lib/net35/SpaceApe.Logger.dll b/packages/SpaceApe.Logger.1.0.2/lib/net35/SpaceApe.Logger.dll deleted file mode 100644 index 26aa8570c0846e564356652b5f28aadf4392e194..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18944 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 a{g!}vzb-KE*A3?VdceHj3NY_?3iv;FDxmNH diff --git a/packages/SpaceApe.Logger/lib/net35/Editor/SpaceApe.Logger.Editor.dll b/packages/SpaceApe.Logger/lib/net35/Editor/SpaceApe.Logger.Editor.dll new file mode 100755 index 0000000000000000000000000000000000000000..3310111fb7b5dc9d270b7c2a60c89bac2867fb50 GIT binary patch literal 14848 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 literal 0 HcmV?d00001 diff --git a/packages/SpaceApe.Logger/lib/net35/Editor/SpaceApe.Logger.Editor.dll.mdb b/packages/SpaceApe.Logger/lib/net35/Editor/SpaceApe.Logger.Editor.dll.mdb new file mode 100755 index 0000000000000000000000000000000000000000..8e2f3a4ee16972fa4cecd9397b61ba4ad0d57caa GIT binary patch literal 2827 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 literal 0 HcmV?d00001 diff --git a/packages/Unity.UnityEditor.5.4.0/Unity.UnityEditor.5.4.0.nupkg b/packages/Unity.UnityEditor.5.4.0/Unity.UnityEditor.5.4.0.nupkg deleted file mode 100644 index 9d0a892450af366f3242d15fdaa3647be82f096f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1452066 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

    IQv^X2n^QS zDiIV*>;_UNTW$}s$?GzGzG1VR3!mbSc2pqYtTnM9RcnS|B~fwc8rb!cwV!;IX1ICL zVv$AOuQyjer_o{55KgUQ(=4FY+!UN%WGsa|zj5Piy>f0*ZT{&nGyl3iX0`(H>VaE> z`n|5<7-**q0L`w~4?#IqX_q5%!4n$DxHvs}ZR(D%lw~wyTna@^kp9c*2Y$sz_Nl*- z$|4JVK^ar=0s7UW9p@xU4?)A2I1@PCMuT_Eh#A2e>nJQ0`H3-!wX>;n%F}xy<@UVC zlo+yMwDQOb^I4wi{9pZX#`!{I=73*qykq;DbsV|W4fb_k+EzVUbFMU{*-(lkaiYX0 zboOl(t52+i#k6*(jLIHPc%KXMCh41+AMNDM8#7ey?Jx1IQuKBwx|%wgWf*HNrxLO; z{%ENn`dfvy+fXJ^m-Q|wp+G(=Y)yoptv`$cq?MkqVA=ln`%yp2cdt7tPTbp?-&xC{ zGg*E`F?ED7h;LQy>H}WUFCAxoj+F}>bsb!zUIg*SE=ay2NMVF$XG(F=!R)JW5RrZ< z8TABn!(J#%27)2nWYkMBIq+6}MPl4xp;{@-ZA}!JSSqf$j_LZwQLb29$Z6UR2(#HO zx(E`PeFzve0HQB5Zug|d^z5)24FF=kSp3?R#SOdVf`6yu0Tc350`S}qiI8h^ zR1WQxkl+4>EIF_;YQ2`6n-4sHSE>i)oxR>wzZRQ*Z1eNjZ{kakmo{Eu1FBFKd8b#G zv&X>0^v`j`O+E?}ct#NSMr1X1Y-4VY8LzHUXaHc7L8t2WLMYK8Y;1_=T}EsRt0ulL z@xJNi-ui;Jf8G1MCh;VTGUFRhJ=?Bj#Ef+Ju)iU?)^k=zjZ>>G)&GRxU@xjLFBa<$ zsghI#mVFk3YNtN+Nm$dvoZ)*8Q>uQ(_g(YJVte}Za}d*C^W1B~d&b_QMvW83?iR*% z{?f&z&xT*UOG3(Lcnu#!zQ|2NbN)^M;X2#mO;LU=dN+9BY#=l4NJ4#;DqDwfz*T$y z3{~TPSg+Y0LmjP8y0RY_nExlpqmHxm{T11o$P~_>{uW4)V!}WV{+!dxmi0Yz)7#yoi*(G!rc7 z99+F@cOEs_WjrmtNxMeIvq-Eg_Qs8VmgbEc-|QYl2lPQZ=Uws?uY~CBhmB0UnQb9$%0xZqQk1>K`dT!`z-jFxd%sBzMKX`X@x8ksCFZl8 zo%n^{s~1I|1WBtT@=r?_E3>zWY)yfv#D2&u7hCS(vbHz5%4o=m`WL51cFcKx+@VaVTqHgk)K_E*1?-w*2K?Rt8--_DfoTS=aVbn_iu6R^e3C)Xvs7PAq=oN^5!6xya^49wE0h6EDL)1ju==Ds2ycuC@Nse~i9k>7)`+~KA zS__Z)4vR>9)E9gnZL6GhB1HP{{7u6ESSQ^*!W$8CH^)pQosf-m%n=3Y^Y+6~D?-oNl-r$_EFpU^=A>Q-rVU^(FXFUjf z8TJ@*Tkkb(+Jvo}%?#^|G391mhp% zPO)B3t#Q|wLt!b#2FvH1THH*=MJ-Wp;#yWNc^Y3eprilcA*9`%5zJ!E2UVxc6dnFl z?DhB$I*ZDTAT}(mYfiDcfA(ati6JY+UeMZk^r0N2%F{Io{>RE74AE9;ojxY8!P(&C zCqB+xHQ=;vbOLKyn=7mChXN9+4SJh*D3ShLSvj)Gsf};pikY-;oN@OD+~V%SvJ0Jb zvHO`1;>@d@suk5zfPg2<0k+tYND;j_I2dt z6!sYdHn;WaTi9XPOov}L)*=a=Wg00#cj`NOx{t;;r71!E>Pf)md}akZbBjl5;jeuL zRi_RIsTAzwUu%sf0<(V(b>Y_R{WK056jU>LG+*|Yuu6Mu)fza04&#}raI;s{%Nb2% zwH*2*Ea>SrArf2{Jm3Xe{2my%y6a~lf$I7+u*sOP>%fveZq z5)&6CVyN(Fypn{D+LInHSCws+IIHE~bgg=vRtxJP$-eii6jT}=wc3=p*%Jk{pF09) z-+L^?cX^BX^95WR7)CT{b!2@7_To8A47>Em37a(SF0ZnuWRcg!Y^cSV;Bcqz`z6J< z*%*7ak2lCpi<-G&rYxJUhSK+y_QTgYT+E@nCWcHMx!dO2T*9BHHF-RmB}pwtf0zo6 zXr|{*MXkK0a>j1$w2;M@VcyUEeb!+S*fCd$qffwV-#m{ybt&_XG`aj{EiJ95_){ww z#l%w)QTL<5EEye_sNEAnZeC+6T3qv@i+?K0S;K@%R?I$iKFXxOT^qoe`{5iruef(h z>B{K6I$@pX3VEL%V{6$cl9w?n{N@qmnxneF`e)f1p+N>}LBf*rN5XtjHBt|INN&AXscv<{@8WPHjUqBsToyOk8@MY}+dJGysYntgeu*!sD^UJf0wI z3&~l*OuOc^$AvI9;h##TmX27kM?iZ4-W&EA-)JC`AFMGHP zF+;L9t?puWsuAjgxik5vJGWm00xE3#3t{mDRS)BT7PolkZ5EVRz17QX2Y#ivS zu!2kE3uD>Z!wNWst`@l@*;LK&03& zF*);R?+?evLqUkN$QaV0rPHKHRjnu=H4!zi{>TwP;(f9#^OWrR^s3`bsN3hR_mNHY zVK3?w8vl;akwgZ>Z$$>e-3O-1#!@*^i0qFAOO|ji`1Z{5NOfjdSNzh*QGD3m_Fu%4 zv6WuLr6&M96xHKk!BnhX0ci`VqnH3)W-+B3?w7xLVd}2-Z9ag*o!!|)fd+TimP$mM$dOSWPVu4J3p_b{l)H- zoJFVM^OtFr&nGh=w#(1+r&Y$9VTqpm^YMHCC_SdhUEyC6NkgIZpnr`gY++6F2sYN% z+>i)tLg-ni5&+|3hB}hPG5M5OaZXyDJWWEutxNK{=4-1$IH?P%Pgk{4r$t~77)wzt zMjKx^s1t4t-u(dT>HbNp0rH)&WX`acE;p#JvW4KHt+FD6>dm&87~0aGR7)jY9+Ep+1~VkiA>LAL%fhV%!cke@DRA7J_HLFbZXHjUN>5|wXUeP2R1Hg& zt**SIK)gl7L%Gepv!qu27qBUQv78dRt@pnzxeGdtyfM}BB~0H}26{sD<1%&i1e@sw zmISm{<}|J=;!7@^MWDZ7B^Pf+GVJ}H*S5HbH)pF?b&jb#Q4hxfdFPa4Ti{o4|5yMU zzm}NNoCq<<{IHR~Yt~M7)nF8-C8v;pA_$uN)CGWg%9lnK<@(M(Uk+lPvKhKoeY(W` zM*~$~lsC)fo43Ph;rz5V#h@5J$v~>WaA=$Y&g6>F@4`7#FsfS854E6Iu}|$ga1c1$ z?~>D=Z%&^0kTjFYkvFUDXl)V&iy+#|EO@Yk=jDx89qrJ@W!7O0Pc|oHF{m=^%#F+ve-SLK{bw6nF!Rl9XV~>@OkyCSg_ziRSOH# znc&=-M}zj*N{JlSAHalRFJNPJo<}GLBp6mkG}i2}>+eIQ451kF#tFQ`75w zDjxcE9WKCxkdI@?27uInINOj;MZ(Ene13^qaYbQYdqN1y4^J4fwBy6}1AE*r8Gl)a zku5jF1*CU&`MuC5@^aMXaW~ae*1&1qFnbuf@|Q&OLH6EUnM)4xZ-$mjUDF#E* z#&fm_x|q^atlypTW%`c+#LK^JI=-j$VEga?-j z%R4KBt8pDv+HHJE^G6FQc^A&wql47qr>bGMfsk~>#Lm?FL{;<< zT7I~5Dy7AGhR@!D47m0~bcKK2Mx*l+CuDfvJ;`5+1#9lavV}y5<3~86z3!N<*pQOGQn~xSEL(n?fs~$!i{}Hc=LEA zq}ElZ`>g6zP2mtM8|~GMchR_%>u&91@esjliXcE&UPK@d*C6b|M@U0~MW zu{8KCcJkVp?2`#5q@^At6~Ydcny06YkM*q{_Ykl_nNsDle1@SN-sPxjT@ncQX&Ait zy;9jmX57-BcQ!{O%rWMG4nn4nUp^e|TY*BL!@W?cY#1sikooV^y)UpNz1-%HpYe$| zZ+DTNR)uR=PxNrh1|G+o?lgQoymT07j^|ni;LQv3$ovqNv;nyN{<4sZKmD{Oaj7A3Ip>G zoPQfS!DUh_rdV`MJsd6ay_n|s{HtO;w7s33@---ys~$lNi!NeOqTf(tdg%m{kGENE zVq#yPbkpv1$NtzX6qpM^Nv~|H%*i zV`D_XO4Dljj*o#{Ymdn<9!uo9la=R;9PD{@kR;i55{Z1Kt0Y$>Oe|zla$=0qxqUp3 z^myv!SP{~5&3vd}A{A0l7`!__vFTVb9p3EIr8<;rK~!v@YR~*DPy$-<*(vQU&)GN5 zYH?7u5{U#TM#)726sd%yoA;8g<{UzTN*HT>C$M1U4jba?>Um05uPE0n{{S?ue}7CJ z;>ytv*6N7P`oopTnJAP}PU*fG&cTJ~arMf+ZMjmEm*B0etL(h|hYJOrvsXp5yEf~eo#Vs%pq?G= zyp=k8pb~*z-gRv43?=%Y*B(t&L0&!SBV9p%8?82ob`yF9ApahB*&E2!b;`y$cUnGP zW5zixX`E*4FOfBsB3@A?1zk28Vl@7%KP2*@jtVm1Nj?%ZTXiQq%WZf5qL?_T%3PE5$ZE}7=@sb7 zH-quYSDnYvRtti)=__w}TjQ70g+1zBG?4z))Z-s(OoYGGZ_@zx2)w>oP%q97nxv{K z@*LtlvCwxWs_lBYV|-h-zHk?HDJc1y%N46InLfw@krZ$8acz8pSyH%}dP$|5a?VY> zC0>Y4m|BnK=$D|c@YKWlnBe&nc}ERjT;TV}GYiCcor$oEIc>aXZw~E|BAglMY$khT z(A!Z%7WP;%C;Us(cPMrec2KpFEkP=$2$0%>a)sDL0N1E8y}1bU#el4KL->zGl5^RE z3KHXEGgc9Wv>Xwx7Af3a#n);BX_|p&Oy<@#+gGbNDu+)| zx%uT@_2G(E^v^Q9C587bHfYx_gz~hAOlC`{HP&`ZY%R&n9%iQh2F)#etTvjkbapwM zo)x#TaH;B?Uxk$W03>5Of=u)VN*k0y$=h=YInBmE?GtgI8Z_~izfXzc&eKEH0gg#~ zk|DVCSQqa&iVawfX3X@LOC(8sOCNMvrGL`QK0H4yD%hzt{p&F?=-QV&&_%+C`v5vhdSqcyIy-O zduKLZJ&t3#i((}}p&0T!JPeWG@vYB7X|_3)K5j#FD)mLLKFSaU{@MvVLrz#%wUFKJi zVo5~=djnWhai8Ul10EGOCcb#nkvMIfc=l|qf1gj4{7rD;w1F!B8;fxOZ*jo0FyMDf zR}E8{8%f9IG{x8lXBB5U%BjV-B5f!kS#)OYcpWCT*C$ODIF)ZkClc|zWL8X-LH zH2==~dY)Cfw0T*N-h^SM*IB7jMT+H9U@dENC0`W*l~rKt@uRP&QC&?RH_?ju&}A(>=#z(hGE2FYu@ay=O5A6Ma6p0b*ojd1|x ziwg7b?)b?oGthSy=YepIehV!>O8@cOpeV16$B012fqhKt-76=&Nh*UjACWA&)S&w{b^MnV zJ`HJg3GZsmBG1IthTN`T=c03$rX43(4*~2v-4V}f7@6@NVK5kHvT}fK5)cJ5#iHL0 zCJ1iA)l1K@PUx9}{PgPnz3-r!d1A>mdGXJ@>gDQjKm6Cm1Mjr8OO{FBz80AXJ{51a zen#KZWwlv{wh87M=YQ_*)P{Lb(gl%~Xb;j4XzmQrZyp?=Lgc}jCKe;>Fwe6+BUm$f@;{ z58u3>0G|dtKwGUSkEKg|qfv}Sd}=^hiGGfbSHP#hf#+)c@=zT5ArF-#?^)E0>S#d2 zaQ>IlH&`eU0z2tLJGD`<-@{7#;$nG~rrso(n~Y?P8S?v&U#8oWvHFn*?Mbx3wGmJI z>p6@B>J|U-RWF~8e-iET-|Q)gw_Kw1xm|Krmi{n-l}h0Bb~lt!Km)u^GyUQ>T*|su#WU@OFF-DvAGYDJA#TnT;8~9IZ+F?dj@XU{92~JN~OJUs*LO;o)%^fDmwVM zL^bZgp==1rq93n@0sgFLTXDE=(Nn?(16ptXFfrUpu8jX^c?QUu68f8gcmVpLVi$QN z?aBQ9ayW>SPg9(4E&0-M-KHh3XrwG?pxj!CViP7D|3VjamMRA( zIB5l(58)y^H<}Cl8yV z&y$B5l5OemFFYustgu9uwE3!H)F%_#lfm1W(0~F^+iK(2GGj$;;ryVy>-Zh4ylt|X z9N9BBrXHvzgSJ%V{Pg1Iod;tcJ8T*5=_~jsJsnWtMnO3%QWcAPyYu<{v@f(IJESD; z+1v4HT25r5)D7!zOAgK)J=G)5L!z^p675d=Dyf$}Q2kJyC)zI^i3GYF=>|eR3Ou!7 zN)qBoNeyL4b!IW|QPH@`;hDClFV!MDa#QDU;GdcZW}bFW!l~7mv76BRAD+GfsI4dJ zx3r~&Vx<%)T8b2h;_mM5*5Xc)U?EW2(xSoL-Jw{5hJSGl7A!%EOA09xTpr)|-n^MT zXLrxuJG*n|&g|~7pCH0Tc}!JyoWYBV&s3rzeIl}u%1oKC3|N=)bCsGp>?JA4iIwRG zEGmn>Y0Yd_rDSmI8=v*aNnmO7&p-oWTQ+qnHU*cbCwbMSgO+I(#tD0T0#s6u00&e- z6sjJxK-+YBU%ozxLS9C$RcrpY)>hBlZX3nC!fO(#6a*T_-qbA4*vJt#uU<|t6@}P0 z2{m@jeXMP?8^Afp`xXhu@yk{uqneuM<+oc007t=X+1Tvo&X;mUT?|v-zRc10t+0}s zQ=N&aEFn0+trL0g`?_a7InXKC2p=~Delbs{V^Z-?NGI!c(&1ZxICg)<3sa!-&7;}a zeb>i4z@PvP*DCj zg2JaUwwej^^y?4S`p*TkKGhX=ucs)c;u4rhihH^L<%Y+Eix^L5F>eGHk}P;hol5_> z;ZW@tYaJMViloT#_)#jvr3Z*QFE3t9zJ!(AOjGPE zlFKk5`P7cmAXZQBY(fX5fzvN%A;u>nuA?aZm@4N{)&Y-8m?7SH(~iER&hZ+9@m4W2V^cT;jUe6}Em83|?FnJL9G8}Z| z^PNV}t6OVX{Qdb0iv1B>dQrBPDo^c4)JDy<;>Qf)E4x&+Y+Jwn)cUxceKV2uAxz`P z5=rwLyn{Diz5LfaM+jMA4XKD1Citb)aXz2+TlZ^|+e_%*`=u$q?YW^oF zD;uOH434)02OfE>JiLB-HmPze-(=ToU{slwC1!4286?H9RQQ$waQJA8kAYA}eiK}{ zh$Gr#@^QC1_%QkH=ylWz<|xDdNIz7g81Z+c@*qN&tYouqx;24J<2JCet&6gs=@tRC zmH5U}x?N9uMbB^}Uvo~=($Jqzk+ z(Mlp~xCBxxeMU6VYE$TShdaeA+k~^#QcSzm!uce7VC{S!DMV9z=(5#v@<{yOiz4kW zp{Z;^u^hLZ{-A*h%+OZL_2WRDw9e-^2Z=|tFRxk@$vUbf%z_SbWUCXKGnZ#q^l{vD z|D%4bO4MWgPM)ZUS)K@~u1Nj**E3xGZ_-KWf@~j&ULcoig#NeYo~G_xYkOSNfHjfN zMdOXv73-bnD5!Q2JKtXtAwy~R{zlPADr1xLS{=e|i@+Jd zVJX%pt7aFUX6rXKLQc~IqAs}odeZH0jik^z=>riBB|1ia7xi+^En{gc zi}JpRsK()CWYi)vn^Bw-Occ_x*P7X=AZ8g*Vqw31wV|!4Pt81lbr9qquG6qxve&AP z`aK&hc`wB=Vw>BvUZHH?-&G8NKeSDExaP!S0PyHubDvp)$X{ui$<2>t$#5L{YVV@- zi?fo+Rj@3ahgr-{n!h9>PWY|1<&^; zk6p;rSH2`|3qF#go~V&G1W7likVnEa^aGOJg4}D;Xa#85GIvyKY?Nr1RgICOC!o24 z6ro7}9YUk7W5OMG*%`T+ws#8L3YILSFb!a?;`_;M9QB<{<6w&we0%iDjE`~TJLzct z@3W!dr5FP!W=3UP(iWv-FW4O42y(xk0wJOqAX4gW1U@B`!BN)DDWTEA-xSitcP0K@ zuyib(iO5S{&L*9ieCOcbL`Qgk{4knTl$CmE0`1ME!f*>R%4tH?G@;{Y`5?RROPO8p6SR|{Co4IsvwrQ zMOM-Hq}yJAwXF4nQOz#MfvdFUR+GC_^_Zf8N9K_i-N_u^ z|FD*Bqmwj^mC`W@5yZ<(x=4|xCr6I{3@c;AB(B!gPmb$k6tOD_0B3$xvER7WA!(2C z0!eD*1)oihidsWtDA&13`U5Avbp|G+qaOD9nehFlBq+h=R#RsPJFlM*WK)Bop4_xb z|Jcj4if+y=DDP|m?$kk~H`dutSFyu!_={kD4H#XT;~AyXK7neA6+idgHw3ulkR@^pD)jST*tuN{oRtqw(*nds^ zuZ+)&`s9I`4}Kax%c=;pnsnRd_u@HuV4j0vEGRcyIhB2?uT1XM)`rMLWH#ljUy1*w zQe|!hC{WLlb-MnmO8S_#{mftOJ1iCO6liV>TA3s~9_Vb#{pIyGPHg{sOJJnpWdaoD z(#OaC3Qz_qb#BnB5NL_FO*0vzPVqagUsQimv-l*tSkm=vw10)zNO5qzGs)MK7hXIP zQ*4G)dsdTPx>;*8y_ME~Sf9A896doJg)LUWLwkHT%6(xLu3_^M)Cj*GeeSJABJg^t z_YLl;HX^u6Vv0D>iq+N2STa|uf_zq})e+MNMCUqtNs0e`$lTDHFAyH4_34LXcZe1| zw(kSrg;4L}W&l9s<0sSClPljRStO~soHnD%&nRfZv|F?I1_m&qR<&Vv8@!?l2km_W zBKR{lp>g+A^4$Ydnde+~8>FDngvnm#>cE@nU7slDZUJHG*PBKfn>d0RMFv!$YL>x) zK?T=rW-m$S**5Yb>owPa_d?GO7&YGALEaWVb?BT4-w23uR@999t!s%H9O$M~4$6M& zY^o6(fLlPo^5V&`mOZug@VwmaEdQy$Yz#{! zm~!ewY8@#z_ZxlH4TH>QMHuGeGQED}jP}of9Z}&sRy-luYd>ufDf)n1H)95KapUp8 z&g)~Uqx9TDc{{UoOEYs*yQcNF+`-jHN5plqr$bb(;7pn@p#@jL5(?*h8Ie1AJSjT) zrVVJEkq~S4Ng_@6I-wBfc-maXcRMx|i%2NPKVr9tX8E|rjU&2^(dn0K^VL&uv!hNj zvM`Au0h1z0gqX%iht3Rx3d0s7`xa1jtxj$g3l9on=ZwUGi3sxk7H zJPhFJqvyGkOAx``-0GhR%zQi14Sqeb`a3f0@wyfFOn=B&f_dtrDyi5)?1Yfdh7GYv z?Hmx6fHvT_-&qP2ryGu|Cl+beI(n*`I!Cb_>btRuV3W8@Z-8NfhHv8nkpZW9maqFZ zv^lmLKfvx56yo=#M~V47+NNtaVe{l5 z$tCDj*E8WEbZocgmu@5Dv4f>+kHoL=<`MA+RG8(rF}os@u8oSTkEm%i3TbeZ9?m}q zSMB1g89c=kh#clFYc|5Xvz(w`V(C>Fou}}Epsq6mdjlYmb)93(G7!DHl?H#|pvp0$2>nwH`7S@m8 ze*^oXY`@*rfZgf5#{&efvpADgGGGq2)QZsqr#|7?}vmW;Yukj0AKGPn2ov~CG$ zea?+J{zrHILRKjWs$LdulXLOPnI*~J!D-RX^}+G`KuxRqUt!DF;PygtS1g+|Hln6O zbpPzH^F?RBHTf#OJPGT^&dTxOB++e_&yqp+yt3?pzMCM*m3`$o(Ip=tXCe9$glg@- zw7evJ8b$Tc$M>(M)%p!i}x$-z& z>Sbdl((y1!o2<4I5l#29&9-Vl^1!gjP#WU_0TTQY?9T>g7RG=up>Mp}?yEMnpJK=` zxTl#VQt(}4Vl8z2Hlja@N;5`AsXp_S&SCvrb$^tM@T|=<)taZ@MLx;;7~B$Tu6q(& zO;AgY74m-YcwFw-BYHvs$?T)b@r-e->eeqr**jOJ>1PdH2S?>UQW;Y(nYwg!VZ06Y zc44gLR42Qn{QhdPs+ARZ7wpup~-Qrb446vGP41(fR?7b+v@c zM*v1zd+)|{to(zFIM$G`-^ zG2ZQam8V9giS*8LpHk48XI|Wx>_2mIKeu79Cn%BDonVcO62^Z69Pkth8)Fq+1>+ zz4u<%+2#DKAitX@b(xpGAdH{}SPLuHWl@kxt|a}L>PORuZhJN5@P+4*;e4)>ubS`k z3UibB+%RvJC}nq@SG8YiN}L#HEBDvZ0)D^Aiu3I%=}&Ce4hCqqQ*LUR?{yrQSk$>nljHSkf5`PTDL9qG1x+n^kpXFI{r1z?Qt1dQL0gfG%5A zH0i_udJz9CYsKj;)YBb<)4yX4$~`d;H*umF{$y#~6xOMTu2~liNBt$)7Hw^fE1eW` zGba|JM=1$kI#+$bAJQ#05-EgrZ&#emUm;J6pVCsE{g;vC--uaJHJ-+0*m}*rWs=}S zb7-u}o{n?y`PB7KAV2xk%$IGAQ{n=^myx#HG}d4*M}4B|J?pUh{*I#aLuPvxQWfo2 zA3uUgp-X)?FwLuub~l1#@~dDAN;nP^FQtS;RpHd&6bu)%u_BJ+w6Y7WFS&+ zd;L(Nlbr`lvk;Vmfx18Rhf`PqPuwgY&#`G2B|GG={&5V#)wga??6XMltL2#u$-h~_ zY2LB#>ZreN;s+r?ML5E=&j=T`D8SMHm6-fA5RyZe;6I?&u7&HO`fR;9<7_acO^vNd}S%_Hp%au5tl*-|28mYi?586xMBymi=Qx;4%wQQlfj%mNWSwin&P9A5P#nqK zk6u6maV@qSME#lzx${Q?5QN5M8LAiR51 zr;jtZyQ0zES6g~xZ21~xvPDcxQ=x{+K{z87qOvaJ0wX&R*UMO84ic)@>X8~`c!li}*mxG9<-gDk}h=~@vL{G9k$`y_n| z*=s^7FCH+CzIs1Ctm*66CY@82HHSdvoZlk<%3)n=@o+ayre@Q>G5aha5CGSN(KvgH z=AFE7e%>9GlBvmQNm8HUV^5v^F0TFX$w%Yv$AP{{J5a$s39E+gb9J~UxFh}z=7vH& znnh!cC`aR{^-nIl{Urlo3&T#^NYaPVAr0wCVG#}F62W9fq2+sANU9$YQ&JcD_VBY~0m*05pBX!4QY=Hu=lQ&O~TDXpkMSG-** zp^ixav?isuJ+>yrxgaj7nOT-nJ>{8mmExy84r`or2gMg*^DLSEC;Lfz6k1yRSVE=Y zX2`L*q%dv^_0mK@pSEftMMAGYyr5bK;W|snpKF2qC$-F%f;FV97jx~gDPiHE^Xndh z!`>pF?aLFa8Vx3SGAF;;m;62bkE2ik#y+XH`jc}#+uJ&5B`rN)QpjrDL!h_fN6@IG zN?Aiqepp;7KkvUZSnNF6j8@_CxW*bnzfRL+%OWM|Ion&^Ho}8Pw5jZ;*2Y02q$FlO z98fA(hb{Knha7qvPCLgbx&@`*QaIQ#ER)R|V;@Yn((_}JbiPkIi8IymP98op_jr-2 z;_(9OCblFpTc$g#c*>lDBvWA084NU3c1eQJ=yPJ(xiKTu0njXku&kA2pUhQX>CF(F zP08*Zh4#6v^S-O|FN&hXJh&+AVe|dS4K9D7@ z4;LI|!crD7Zn1gN({M6&%ybF^BXd=`#)|EOnDKzRK_!xF+p#HFIkn9vWU~z&%syzv z4c9Ny1KERzNkcfwo*7_X&3WTOK%Hu)i#lVurXd=hG!#TO+i6_ks{nYqofYmk(15BO zUK*`px(_&S+*e(M-d#&oy>C3AH=+zWl-h3)1{(U7{M8#zY<%#awT<8JBsg6?)Ei$a z$`8Cxpt!|g*u%W)J;LI9>Jvp`TPz^1XfbG2+j5N?dFA+0+BWSJb*3goxT%Gr_BRii z4u|S1W&8+bkQV8(bcSP3g+IhE#ahn$uqZGkdF2DNzU}?kmXFKPq?#CdE^Kn)>VOWY zzTnTTR0S3_%}!MuCM{=H2aB@ky`hovH#0HX%2H<>qfg?tdWCJWCeLWEt8_XqX~VrQ zZ^^8wAA7J7rI?B`_7zF0b8!^)74fTcRb>)yn9{NMW=Oo?{PNv=GKfdWjv~TIucRv= zJeY=$GJ@n?`)5`*HS}g@2V2Oqy{o4F5J%9eWm9lGqp^Lzf4R#xQ` zES`LXFFOSC5Ozx#S-J7m`x&05SK~yiS?JHU)c5=w41RMi^}X8zVeuwZ{`^FLe_1=& zA*#jN3bA2-gb6*nFP}BBLRcRkt8|~4*l6kLXJZ)5$bz5ki)?s%`gUTGh3C3r*QfLx zgWQ-xjC5UH+T|H#SfN6Hetx|B?}Easu3xuX&VP22Wp{$IotGr8Hs<|9J!`sYg=lZL zTDNwZfRJ&B9hYn<+nl2-Ee6UJ;VC~JnDt@;6~?Z zh?Y3TYPD=2&@*!m*NWwi)+9*?_S3;wl* z%3YBkokLCaJF5t|$7D;8>G=x?%BaWM( zv%x*emXtlvwC@3Z#53ow&Qk@Zf53b^6GkD{QG)8tlwMXU5p~5mzSsI~)K)5`b;a`Y zdWGnUNkHqOFxXuRsS$Hn$Zw@WwzIA0*#`HR0tlkTM;_MEPK;UmW%|hCq%Lx8z25pd z#=+_V?6}=>`*UTlnC1Rw@3vaQI#mn7EZ_^YwMxAU?<`WI^h_VaeKh;4U*-sI>49>+ z`#}nJvk9b*0W%Ne7|_xumpP8D|LYa3U!!6^F?F;4;!`oQE4{y1LB|eeAXRPpFjZccll`r~JS~&769HuEkpwq~zSU?semL zchQ>2Y#MHK+>*1ILo<|~Hx?Y%j9O3ndvM2}Kok1a?@8S+ivhVs1`rXixv{51yT?P> zs_EdzZ}XUUOGBGXd6iSmpBBq#3&6ni%l4-rA>eSixTL1QF5%FUGIolU$l~PS19qwr zeA{6$utZOkbN#4)>2Vv$p`wU)G{ipAJ^F8fDc$?}WD}0ja32*`V2?)|A_iTrT>2ANdTXzohGTgH3`LDY9 z1OfPn-Pr9otyXLH>3M_v?+xdU{-MNH{%0!d!yU5Iys3PRSM{;KjjAtGENmO_S{FRg zY7HrUmcmnx5>_!wN6E3(DtuS_dW1#YN!!{asBQg{e!i;_Vl=E+x^@N&`9(b6n&Y@*9|#a+ec^M3j@lSyaDb975ctR+eH%t7sBcaqV*skxnfiXnu|sHJSg zSJ|kxn7@A72ufzO_Ok7nmvy}W^f@+_G{3FI$Bsor#8}zivqmwCCR<}F-KVZEohF96 zHOo)0p^Vb~_iZz7v26oxM^FN%#U%OvrC)5uD;CCYIub^R&c1juQ2%K#gShg|dy@q5 zfIU!QG9{}4bu~;;`&X4)nezN zv3(1WjRJY-d@ag??s~U>e+edku2JXdpj8u_zT}TYPalj+IRUNOyS6C=fg*ws4i-|(xL0xjD0pi8u*E8ee~ymDgy8qcbSsIk-~6xl!t#E;f#%2(qk zs=KdWvL5`4OD2a3$jh+27U5mKn6}S}T^MUEEkViU*>Sh?PaiDe%Ga-n1gC>X$bWLG zHy~(~60fA5il>-q+>a^In1d*YfGWHi+HY+E`b`^Kbuc-Z^5q`1l8C%U669yH+8 zb-Czlj$*c5DJ+2dYPFtwX$kx!tj)90(yFu=nd1F0)R*h#U`Q5lm^!r@X9iw4P_m&s zKQ~t1v0jBj)4V=ToLkS{Rl%ZsWi;=qjk=nl5h`@B(T`{LZaIqN)c0?&y1hJ;O^W#f z!`Pj+n}jXYwwZPN;Qcqdt~3tyM8Z7a)&BM+z_ANrqCbWh+3visCmEd0l0)56C;f~7(iB4cE5YM7Er@*2uh}j2Q{|^bd z4LUHRCe4p+vKH}uk0`H}P|d*~oHmNd!S^Al6Idg#LP8;qI`0FtwQ#GQ;L zmwkNoTFNlz3s$3?8rE$(mm7>NI21Ehc>>b1qxUyeI0uq z767T$PGACd48DN3NZjw677qG89ylq5cfXmy=g*VE4=br=DpG-tC+prok=vK`s5$GH z{Wc}Dd%Kt#6VtK8=C5LFMjEFawC$DmzM2HMG`s?tD&|#FefxkJ4){U_%();Z5^wSiMCv{^&~X zm|5YL;nqJOlz?f4Z@KDW|N5>K#8EZ(G$5~i11j{%D=)fKXzgv5Gy;)QUgWCf3^zDG zg}lGX`k&6O=;dGFcMGz^VS&RQ+7gp_{BxD6VwcR7=jhYh5x_Tbrv>-$3u%iY#eLNj zRk|qj6C*K|B7_@U46JxRJOHYS0__rR7-ZqoMVTZVI*|B?yuto>uimv1WlD4+HFuS_ zYiZ?GS0^GuD%BUz&PtqFbEpcRCEa}QDIiJdf@1WrDDj9{@PGdhf4~B>Ur2LCz4EXq z^3Z5jQdqJgDYpOH3jJKHgPK!Al^(GAZ^jc+!<(|0{~ct71sC23PUDFHPi zK1`&ZWKE!6l~)5UlT(}DT{1wJWMD?+w?s|fHs&HBI1?t!!}M=cnSlZC(VuzUsb=Ud zgjAD%R?^fxVi~?Rlu{G*C#l65KI%}yj8oab)_jKXqLA;rj>^0lT7;CLQv%?3z}8#S^OJ^oGB9R2jKGp(V$bd zmeQEydYaNXx9wDXUyW=NMIUTx?y)@;i=!CSGyAe5M#2oz{J%tH(Vn69(5A8oK6z;K zKkPCN{18+oX1HE6t#)7g&JvjDv8R@HIbkuOP#By~td+7Vs6cirC?%;su3s2sP$`o3 ziIaH*^Q|!II7QBR{qcy^a9e3HVkV+6>ipHRfn9D_*U80;Kmxpg?t5us8)TP5b8vjw zrMvE524ABpOz3(BblnUoxfF!~2>DGRAo)`YQD%y{M~C10T$F+1=^QpkMM>y>xs^3E$M3o0U|GIaD_(Y+gh+Dfc>H_wupq!>rX}YSKcu; zSNhsIc0_5;q@S5ihsW$ov=j=!-W_ioV4FFQkJfK@K)Sz0m}21kn4kcq;jS_OJI(Oi z9Wxj4nc+qok3)JH;F(xw2_12LoHB{fZh)20zQ`2un@1j8^U0CVq5eh4nn7ZQr9h%0tRia>~i~$}cWDnpYVasQ__zzv>02&nnIz(P6 zF;>VkHfaug{8}wzCbQNxW;O-gr`p%hvy~!^_fJg(=3-m|aPtTxkt0EF5ab@?7TT7F zfNJ~LRjOZ=TLO6e_j%y~smAT?&o=R}Q_P^$z3O_->;1(slL;-@6#)*6a>b7Jd5cmV zWMR|lE0i9FclFL3Bf_Ye-V{YQNnJB4NxI;&t;4-`@{r1I z_EN7Y|8Cv-T&aXcwq+Jw`xYq`@7HzyUr}TQr(P~SDIi!eqq=_baADhOF(x)?@^Bt2 z1ov+rWrH7tjt7iDen%PE5E%!;wG=5mo=dIkSU7fI7Z(03X}6`f$(^4Y+31e?Eg9B< zMKi(Wl|OkZR6HGQ#Og+z8|j}nw8IMS#>!o{vb8da_pHz+2B*7zf4UqvOjgL}O3sVT zASmT(-htVGUXXcwF(&tFPoNy;Ro792Pt%SL2qs?;DAL%(myds35ika&5t`y%GDUZt!G2$2=w2pW#M*k&m$@p zSh&g7bOnmQT;xAb2~E3NF%XpuHx4%qU#DBnlfA7C z)WYTfNw(Ubly(V)PlsX6cQ!qmpEi_8e++pyl8IC|jPoz?6o!RuYD!h&LjoH6X-cX~ zeDo@hH3|i=K?*yXw+p`_)l=L0GTQ|;L0(5DVL|oEEZwV9F>E5_d?zzj?ZUoBxyQU zD=twx2WeErQev8M<|{fl$2;DGW)e_Ccbj9s(?{FR^Y(OH1u#uD_$ghCY+Czx8p*y# zY;$X3CNsWh{s zO_iwam*nVri`QjaNfAG}IHotzgyb&A(znrqLGvJ`tj;zVqZTYjH}U-{s6sUvBW+kR zY(hCEl4w#goX*I9$@wP4flq7YuSMc}8>bH@=tIFE6wG39eXgMuz~xC7BcTO*w5FZR zE8B{S>d$?@8vFSy1?dAYOcmz{kkAt<9i}ABn%)Ew&skose__?Sd5}P#@0*(ZgeH^@ zo8avOJhWVnrM?ab2Dy1R)zyk=!G=GAg_>5j{r5dQ%l}_xtDuZP;QWEr0}J- z0?uS&=K zf}R9Bw&&n?G{Z{){pKd_X*1aNnXS03L%$%Mpq9FEIZ=_T&;@dTAZz7=C-VPoKSV6Sej^+5n%Z@5L&v^fh>T7`{*lc$WilhxA zP=N8TFk8?ce?5ZC_9RRU(x4*~kNwq6Vq=Gw5*w{KC7e9RRfF#BxA2B*5p6^}aH3?+ zaM+VAYMtT#-jN~5o0G!#$YR~74lLjD(zCgBQQwX_8@AG_jqPMoV=ZE-xxM%}@)*8D z%|m|F%J|e4x>2>k8BS_BxNkzUc#lFW3ET3P`FHU-&ZXR+ck#*Hj?C~opFb4}2zFYc zb`Dvyo1DUTjacG$9(!roP?ScJlm?AO%>U#6?D>Tc@jrR2g7lsoDfliWd0?)30b_#5U{Jt@&4o%1z&g|yFB}$SO0*?RIL7a$ydVn@wmZVcU zE}}iRg2T~cr1W*8Yo5I^XEVm*lifW|OR4ofAc4GjisNmT)mU!vfCf1^@vjA+%>*Dgq_n22T*f9$I&07?qQr**;2luG-PiQ;}G#B?qdU_>F4P`oiQoo@!1 zMRSn0%#L`5Z}2#o_vWtb-&gdkS87ArQg$6>`*kq3*_KNMna)Two%qb*0cP@4cVKYZ zO?y8`#KiJ-c<6Vyx^OM(SfDr~CAfGg8*$f1BTzOmyoo#v=J>AqfflOUBLdzy_PJAuu^k%d?! z+Nk6c6~C9@F4QIg{^nqtj+|#So4urK8*{XCS67;BA;$gy7YGVs2<5$|z%0%IJu)Ff z4l!6KNfyt;Ab9M2-91`B(04pxbPFEB)AB(c%pO7NsYS+XjB(+Nbr$4$!Bmn@z~mZx zS^6;c*0KAw(hyK6+OONxcFtlT)%!SD$j6dOnygaf?AwPQWdc#PoErq7=NYkuNqAHW zY1j2d_Jri#HY~Y(KgM7jqyKfhq4@iJ&5AJK!*I(zzZByL|L314;_!Y6!e3sQ-OMe@ zyQ{?)={(ZWBvUFmgalMfKYg%zs{0~z$pG)rp~5J%_Je9M42nSmLa^e}O*&|?>1XiNTHSiPx}6M}Rj-5V`&@eH z4LtLci(dAM$J~^N?`b#R-nF@(j0id-8z7V2g{lE|c7=M@v(mKGP34ebr&#<`6v-vj zi=ycwY}i0wH5gN{~B+kz=gcdyafIDn^ z*A;qKpzPujOtG@ss)S0*0T82i&m0!>48>jR2cDi!P#LCwDXf0>r9#i+{85w5SX-U= z{)OVkt(G45fTc<8>WD5K3upX3TPAwUE|W?AtxSml>X0oHwXEl< zH4&@Vg$4%)MP7B)be;RQ72jC7Zi~b(Y11I?}*0fSh{oCiZ@N@0}wn~SL$M3 zB%R(*Deabs;%;}B5g~WZW{*-xEiHL!*;W6keqmPz zyasG)@SDl~cHkTEW(X>AY3Iy*t1@{bs* z+QAFwVIpd7?2mn)!s1fv8Aj*k(Bf~9IPr3)^0U9|K1zl>2I;=8VSsiK{uYly2pggy z1LD}W?k}0$MxFx{*h<@5;?K3H+^D8s_D2|jJtg)fk@+ervw1sLzH_Ltw$c<-g)a@j zGX`8`l< zNq3C(>NIxR{X84$po;07Q`jtu{&wpb$W2b(a?Um3ndigIzHWY9^j7dJ-elbgV`-}BFq%Zt84sl)1tS+6@2n=&Ienb-S?bNfkn{v z*bcnn{D4Y8ZcuqfoBAk1Dl?Ns=fKHv*qp`S+`jB^c+5X|x-)Djm`FVzXHVSH>=^Oj z8tw0}CtNrn*AKFopkIs?Q7u{wYxP*VR7qWqyy>Ag>}4d z&Y9R1=V;o53HojsC$Sg~V?)2(s?J+v0#=x_4@S+=>g~)LGOHC(O*Laws)bsbw9fGK z4!fC0K6TB|^m$NoQyH8#eAk;bs4R3{#`pUQjOjG9@bIY7|Ef(F$d1riqy$H1lw37` z?i*5bC7^H(i(m@Y;;)n1mBK6mTCqdkPQxchp3BMG^^Xo#n8tLhcuI}(Iki{UUYT%A z{2Qoc8Tt1`*e$nad+Z^+&wF~r=hm>8%J)+aj9Bv5!HU%YD!{i93o>%>MpZ!E#hjecCSc@T)L-ses@{Yhg$Ms|KV%<-C;@ zjq#B4)p41$_$3E)8ERxfx|2y3#K$7{u}hvoB)(}|)@ni2?=-quACR-Nobvk*+#@Jf zURblwm2;REqs~AYmZ&DMBb|}AB>ZC1r2oi9e@x&g2hf>^zoDa}?}X1yL139`xgGAQ z9qx^lm6k0cX}zE3qk=+!G6#2Sa0NtpCQGhN*w3lC-^guYXvaQF=P# z&T}hhVQ~5=`f^R6?y8OKl(sNm+852*yoBG{6dd!M83>h-n_$3S;Dr_ocS*g#&iOc? zMPgZpy!h(eLAWN+`CNwUW=@N<*&g@XP7oyYiQCtkXNI{SkEZ>rkI9sKbLMWL?>`Y^ zN2Q~iyQJFQuUT5OSfA^5g@#sJ%ZwY>Usp*N_AN|f+w1oMHnaERFn*QqVw@A01xci5 zhfgdZv<`Zj7244!c3t1K2vLn+V3e|rIbE?z;Z}+CjW;-<>Tra?@85< z6D9`LgVZ3BpX^smY?8QjgpK|!pJJM7B>{$o+#FnYeGo>AJa?a_gJHH^q;%nyCo4sO zL<6FMGQUu8r8)h|9mMMmfu)ODgq~MVq_O_oZ?YkInZz2q-?W9)2SIMW>gIC?Ok~Zc zJqQl%PWJUc{_WoLz90yUM9gCKXAbv#EHxk`P8_C8XHyKW*BhMA;MU<2ai>#{tvwVcldSj_ zTWPf7hbiccV!)*=*D*s)`4lJPiB2tCtG+{tNb_Xo>A4ct_oFBBJ|?zqNe|cQ2i@-b zdsz_q4{YEuPUA(!*~yswUi#8zZt|>weB1CZBW9_TY%V@blTk@kxuE%Ja=%Ql0`yV9 z=j}-N;geLC%pKLs5!!3la4Jad?)adh;1l4Dw9da zUex!86U|^PZJR~kjXp$RhY~sOm>^w~zT`lG(8wGAyd7dEnY}iW=>2D8sv1p8^}LR@ zZE!V}>HMO@XOoK21iaM!FbZ2m;5a2LgV(j4k9NGz#>&OqNh<7MS1bz~f79x@B()o` z4---A(1~F|^dU~~@1tulOm zNOQx=4FODQ4Wh+pbGJhr;Bl}_X*P&mKfe&S^2)6nA8*0cdn(j!9bY$J>{dP166ELM zNLNT@%58P|ST(emWVXBN$G(j@XRpJuVIRdB?;oh4Bp>ZKGldeeD6=>#!xi+i3G=1_ zOUKmx0C7cXvC6kIBbhSL*1m#=$Oe@zpD~4P(LE?E=akN} z7`@bzML*T7Hs4@`_IE`No_@HrSYCrpx!#*D|7M-JfT+!51Kym^24J0oO=i-wv`M-9 zr7o?yFwKj`AJ#4hgfx#7N%%_L+OwRcW=bTCxK^yv-NHm%+Er%mL0ooSeJ7^%*@96! zb3AXC>xQNl0rBls+q<2yyEG6`(%J7WOYOM~Fx>7?5ACh8gL_`V>mVUM(W&BNLeqX` z;d!Qkl4g6*sQ6@i@E8|Zg$Y;u)>(J^myAb!vnjH4md7k;fj}x9w!0oMPB=FElcI7v z<=b9NOg|e+hP2^aT_PW`r_&VFr{R7q`#mKsB3qaCprmO)kuw~%osx;vJ*u29y(P!p zb;7w}o-ekr_b3f)I15jSc|m*MHJK|zwL0OZ0-ZxmyqR#UyWA4y%(U@zQ<+!F%X;t& z&>0sDNOW=-Yxs2F9kqfy-%d;P&zKN?-j6RdFe=hB9uSdfLOaHkJfk9$y6&FsRy!W6 zvoFNNjXyadWyN!6s{+9~CAC33c%_q(9p_Lf-m*hUR3Px~!D!J7M%;*mrEGN)Lz}n`KhFc$C^rGT_iwkX`h8l@ zHy*w`v_bOEE#as!hMGra#p$g^di+nUkhJv1yZrOLp2o6`i2ZvoaatZ2hq(h~y=yw+ zuOe!T(*#MTtj(>t#O(A|aKOEc!amW}va)10f zJ@k_pu7mVxyS*=1Y1F1Mt=n&oa0n_dH(i-`c|IDgJ<(t}@4~AwA4H!W;+HwCBElAM!8*wA{44p-<4mEmA`F3n}vaqcA6c>OUgbGg_QyhlII4+Tn&9xWS~wztRI zXRb=cID9(y=F(`l89bgpuMTJp~ zGThH{eY>6iMTiai;$U+R;NrZUZ>l+79cx71tEK5&c9^x_1~i7ug^`R>-9VgY+{eWR5!eJ1hP?1y-8!(TL>1J(BKApa6yq(cf*l0$@@=qLaz znwAQ-Pcs7hrTwJKkz_uFCqU=@->!5@3X}_h?ei0rtEEI0sV2@*jbMK}Dn!%s(LZ_NTz0@S+sp-ll+q?A znKULKv2Es}K+;x5Ua#5qS*+b<$b@}bUfv!T$?2HA*}N~;Xs=YggW0Mt<0zBViJ9XumqqX z=-qj>e}wcHzhHBc!|J3K*97|H>1gyF%B&83&ow%7*O9tTf957}w`WDl?Z^_=4C6;bZyD_&}9DVA#5 zkQwoTo)eTADB?;N*sR6xkra_hJL~=2YxYFrS+N#9es8lY9)1%U9PrHQDcww|B75#9 z8qE|rzbXic9{Ub4W0h?*vp8Ik7Gfpqt!U7(o;x+HXwlv?Dy1lFv$>-4dhGOrJMSZ- zSGf$w$L{i6l=4tI1kov%s~u9SIm$(53a2bR63jPSNG$WRZhRqgh4J`U;VI_#TeP%% ziDrJ0NQN}4`R`L+#BW6GMMkKiXTan{WdB<~>iv30lYRJ=@z7!`8UmQ>N zr7x{9yCg`nD}rAFs<20NSNvlly-D7H_PDZNm$WOP=3|Y%xc z0k+*!6_!*nXnCIKY?mph-M= zySkoN-9&yClfBBY5rYQ=a5SK`7Ta<0EtR#`HO>%pe7rVwM<1Y;_ZXM=L%+9_w8j&jF@=-_9|( z{$N*~oRQ|ewEy!l!U0Ts{s_U*A^nvg^go)h`zRTcOD-tuzF>|v#$+Mgi5Dqck^u<< znP+=&$qa3B$}oM`5H2CF4T%_WeX&bWLITGQh#@J}HgkC5oe17jrLI8wR4hr4CD!QD_{H&P_>>Sd%vw|vXYO4w(3J1T-2vfg<9|}0H5lEZ*{Ta;hzNo6&DUR<3)5}g#S$ed zon?{a+aNxVP(`c=!|dW-Jd6F1RTD#IDiy~a%M;CA$dgt1-uV%fN1q8;<0@c{#Q>ov zSY$?g$!EOaYLx<1Z5c)FCcE=wb#GTy0qyv|kRs~3jn&&I3VGVpct|m0Fn=G{E@JsI zE0~+9t9NJP)??aIxmEO`05R86+IuT{WrLI$@24QX?9YJ;@jN(GnvD~jU`_QxL=2qs ztN$}-*fS?QU!I>I)j;L7-LaK%&NCKrd5^<6Ko{cE&q~%H0RsfcRS?&#?rfs4sf07U-s;~UaSqNPBW5Mc9w(yeBhhIsbh(}x>WytK}h}Pz&R6i%TWM%3QGW( zkyOeEv1a9kd(L!26pM)9;iU`NVH%7OEK76ZqoAqMrED2;Tro=}RNiPIcPg5!gdJW0 z>ePt%&NIU~A4wXN7$x{A z9KRh}-`4gDWlMP$kiK+425_+-OXSVSNTu5g$&dMKr_=|sva|WEfy(nUCM{3+utO7Z zC$9sb2uhirUTO1aDj(2l^Z#6tFr0ik=@^7>DisT8o`QAxyl0BU zuOPMisKaI z#Qn-~R)E^FwEvg@TC`%vOpN1}O#b&R;{KsZZ*4bqn}}giyR)1aNsx|e7hz?VpSi9O zQh!$h&KUC^Ee%AC-k3;t`ItyQ{MbE{OI{bdRr*RoV;YxalE~K@0A2Wj&>@lE$7rI4 zP@v7v4{zw2et^1;NFE}2N(972Si?BJnC52f5X17miS6t04sU9SXZYO5fK3B0D zzYortFP4O#S4KFCks94rxDSKtx&|LF_CM)-1k&kKcZEDut8L! z4Nwg8Y(X}e5egOGm?|Lv89o4^Es7*)0*8?8nL`}MGg~k#_$^rVF{G6AA(93(;7hn? zk6>yO(N<@KL{{1Z1v&&jDac_` z{Q)toj6i#pyo0+}CZcIe^x$-;@z&(ZIJ6pS-1o_WjSK`8^zi$1-fj)z2dx zK>&&OQ*aRRmViG~X-D}n1RqdS4M0xudiV!df*xC$Tt4lw@vOh+>JgS0BtR|zO^iLl z`5&p_)__+L2M%7;9yBH_4WeSXBS*8Gc+;6llbe^~V_pkef``}!$e$CyF(AI*y^?W2 z{1$fuxL1-$IS^c4vC?B|CII&56%&b;33Tvgp@KgGe2LLdcmi0O(_PP5?`f5vq5>@5 zg2UWauMGweqCZ9J)E}1@Nq`0+#3WnmcxD;~W32^F-@t#(^8l!E=aOkmyVNa-s9laW zYCg0t`BQs~zrh!A_{2MBO```=_~PSoka-Dlb}k7pkzGRgQ4Cqm>tc6EKdT;Gaat9^ zSZP@fptq6eHJPEvHL1HT;>pprJpu-pf-rQ1u}A?}q5Ifp*?8pI_Hh7Nq)3#>-T($J zUhfc2WS1F&MXou}X>9s&d0GQ2tKts%si2<&oRo`nyRys04~G!^PIi8JSNBLDS`jXK zWoJeh4srdJjD84Q0b*CFne7pL%4X2_(fJzT&9hIpy)HUmKBBow$|Q=cQ$mC)Gb#gcN0LZ? zpi-UoREz3CEW{BA(sJQ*B|-fcGhnzC;5{m_L?Y)Aig0C+)xJ{dzhQ9(tL%+mkvy~r z4JGuni2WBaq)DIyf(pZgtIZA$PGCLVB&U?aTNN)^TUM4LF+5OBp5l-hFn|D|StQk6 z(TNs{;cGN`8vk{=?qk+MQ8)h9+M`t+iaW_&+ufx1ys_Z*hwiN4cg$yxd)^H=nu3NE zKOUO0-VPV7{`=9&++O&>>Lac`qa5=eptSh?3~zc3@G0Q;uHWV`W=FsBm(NJkB@UurT&J8zOjg`M^F{{ei2fc_IVApOX6e!>6R zhEVPkceXPPbmM8CAh8fc^WPU3o)Dxo)=0eA`a6mH8wB1~7`|n)HzXZOug}72pBovh z6X5~sg%Ic-IS2OPo{O$N3x{+JG9&Z<4I2;vEBL#C@{GjS@&J^qyhBh809tY>5daYp zXj;^uK?D`4<=!H`5cN-%@h;*aPSY#IW z^kWm@tzrhG0n9G<>6EInPt3<04;5*+8uzflqj2L7Mu4R;f{MTX6;EC#jJKU$1#(mT z-$5^Tp@3ZiE@JqV8EJH77fdJcW+~Eprf3Hk8W)xNB$(Du_#S5~P3gR&>hjU&%20ev zw!(Wwcxj`(44ye$h{RfSmwssYO#V)!Z3W&J6;g5`b!B%$j>+yZsy>RD9s3OAC)c2M z3f+Jb8+bfG+dmp@7(dYUEYaiIeOAH?fB0{h0#Li^Zy`$YN0@A~U&*6S!y&Z)hGBp^ z83R%U0?zh0+_{K{Z|)Z6WKXo5`eNm`**9_Kc8Jv1OlKZ9F{ScGdjw;X@G7oQsq*C) z0)5;bVSs=^=xy?zEw16oygzLjR}<3E+V+JFv1eJT)eg zhoDU)F~WmoS7w?lC4R*8<1T@2{bK|=X3uEa4fS1|7@F~c3NRp!qGi%KZ`8O!ROO+{ zq04Uee32v^Uw3)6(wz}1fec0+(|7|qKx^(weq5OrIr!Air4;fjxrz$vuF;DRpdz2s zu>WRXl7FYN=T~NZ94Gu;yFiDV=LLlifA{=)fHW@JQR0FQ3r_2RibF_Fg{BWa)Ki{| zE;=(>e?yT5IEwjk$b3g7juMI{h zG+_P2z}Fz5q@gL3m(dZT&?Bv)rbhWE@vgRBBvjSd64fIx_{?$`znO6&YKFEX6&B}7D5qUERWL4Jkrnbi3;lrtJ_mOfd)xomEEoMbob zf~l+&a1PX$!!&w3$M0y6S}_>$N}?IDUc7KC#*qzy5?#;f5Rg5jGh%HS|BS~MQdnxC zLDIJ}J%oC0$u*tKJ$xqSHieTPl{D&)Ux0dWO+qQ^$5QQpAnCGHA}SGuKPcgZkK4>p zei9pSf%k#d`ied@+R!}`+KGrNX3*y!vwQ#s97`P5O(IU`C!DC<qtH zIJ)0ju|xOZ?iJ3AlzTD3+L{rprB7U6SR!(b51LN*z4^DnO6)7Ow^^+R(C-IH988-lYi?WgCIRdAPw5U6E+?N@;OEMh+nu8>l zSg<>>jfohRT2MIgjfu!7daEjTPve6w*N^4+O)ekt*FWk7s6_a{8=6X{t?V`BuHQw( zx=Cp6F|~*!0LG}fr5>FTj){aOhiMMXdn)sh7u^zeLBdO{$&@=wpt&(jipiA;emmsS z=}N1y)j5KkC$I5v>%QzY;^gC>Md9w(zgK(a^ngG6i|y~nglf`oQtqs0U?pizuCekD zqPj^u^jova#-$9%Kp6eg+)v&ReG)Bo{AIVP=YZ$FX^nCI#=DaE&@4h|UsxV5Uc~80 zf7&u$pe17WXW+EYNH0?>wbh9dQ=s60lgtxFfM8j?Uy=G1>8J545*=y+Q9I<~mcnVf zC-0I{jdoRNS1W3W{YX8yA=?_jW9A!InS?ej`64>a+}KIJB~!~u0DldNh4g{S1HKe8 zLn)DJApC4W!1J~~#=6xghXO(G1^_x?{_GMPfTOH*D;@v)@re(LpRNAITAG`nNjNdW z5x#FTzNvCZr~9zPI({wtHOk;a`vm8+P!e%s4Aa*b%NXxu+f1{MCcLsX6Ok+DMWUOc zby1FRiOMYWLxA=YiHOx{{D9;EY+3Va`GGfpyRWb8mT(B*W+uXn@4u-}^EKK8Gg3i3 z0fvGH8aQiGu5eXU<*&U(3!eNqiwFKQk4Zg2R(=SO&@568(MXal zv2%c3e*l=%V@!6`AhSOIo&3Z9zpe?4Y6px&2e57?Og1L~sw{W%Pji7dECsNaN5E}d zOtuH``DLINph4c~{t6{mKo}N4w&$4aYT&jPAU$3)Eb#&cd*AWP-1OV~9 zTi9@W?mKGsIq^dqzeI+4rXAic%W)-34UAi5ErOq zowI=7?g1hRCl-EvkMLm#%LSN?r4FCC&J6yX9r)Y)WG zGFY=R80L$KL;Fo%Tls#!l-#hpp#Yc(fjNA=sGEc;e?C2FG;3s@a8tuz>tBi3L_9zs zE#p?0ihiBH%)>or8FSq0XWD5i8f@%*LV-I4nQ82#q3CDQk^P{TLjNmr|G$3>PsV^) z=EXhi%eZIbT}%XjG&C&EXchc*-7T<-L7cc9LSQ@I`j`qbPRguL>#eF(0~AdNy>pn} zJHq{9cqv+$3UVaBene{m8Q<5B&RlQMIR6(kP~UwYbp4LOPy*RDBY^MfT~A=HKs;e) zgfE!i{;P?{n*&qP&M-0$>u!*p{ z3S+5~4p7@X00585Pxv4T7a4{Up*thv&)(CeN4f&H0s7X99}k(<00_RmiEwDrQZ@#c z0PX|VB%{VwLCkCG+epZ~WoRm7k_pnk{n0O7_KM*JYsZD=l3 z*LqWw@KgVB5etAg&k_5|P17PAz(R-v$uk{-zGwHZ&vW0?-rbcWI+O@=*8(8r=)VB+ zN&p`m1~bv>KuY~y04V@4V9Is^r4HcM>z|?-K)ev(&t_5yiC0b@{8$yoU5NGq=BDZn znJP*$SC#-M6;Kzo`h<&QfteG@BzQwSOBj&d05@WJW9tIqFE9F2>CUmMwJ91(5N=<@ z48Ybp;J31OBKP?1#2K zX^pEk@DW|jORxBt@lWgrT>UqclM2dJ0G*0l%J#Nt0?c43n{(hJ4>3@|iNr-h0P>69 zm8UE>c+f|{nas=wG9v&WD1PzH(5PDB zx8*Fv^vwnKT+69~^isdEY*83KRZ05hZz-yOqCDUVZHw;jpb7T53wh*!+be3^+xydw z(%j0sz7hno2155Sh1%qq>y<;t-75(-tG z4|=@iP}p}}L{!>O9S-T}*$G%!1y<|Tnljo7oUFS98P#@{;^?{cR2-E7dqQtgW-DL{ z6=#&?>Ewoa?D-|w@X|A`@}dg&_WkM%rXx=f^G2w@UPJ%5$G#TNM?K5L393JO=PVrL zIwj&6v;1H!o;u&EgPyp}n1gDaBMz%*xi_%^^7s9bv-&VyF0#J`UR5TJv@D7X5G7_(L(UweC&kY%(ki?kk;Wy%_x(iCqiw z&l4*5r7PX7crTX`-ABNg#CcE2{*{}snEf_-#5QRAr&7r5F19JCda68`YZ{x*qZv*` zww~gcwAwWk&r??>?%Pcl|IbhA9{ZwPgU1lMr!;~;QHp}6oX<* zLeskola$c&Q@L{d(}i!l;j$tZ#=D_R#_eBC)}bjQE8*Sn6y;EPj)LH(lcok$3Jfmhjred`gUcuZjNNN(HfeG7+kA z@j>>~a6KO5af1y5W9wiCLG2bAK@Gb1^v|EJreC|P-NY?5$6p1FV?8(XPDi7Mw67f} z1z2^`Fqi!!r@XqD$;^BLgXhZZA^M1qv*ZS04@O^tM`5!(_Ih+$Xfv=N7#HS1kv*Kx zx{=2n3+uB0Sr`?)QIef$s6k`#xeZGM!Be_R8fg3f8Fcn+?4wf}elj0bpAWh8VO+5t zePbr=+Qrg|?V-awdx5{Sya)Y#FuSj@)*ibg#y=@2ncu{*zHZq(YE5{UN)~a&=*}bS z5yu;GcZ_#g(le@$3gh02Qq=sD>N`R%oxC{#%hcODflai3+;p3rlH9In(>J(CkA#L8;lR0?uU0FnMQx-7twaqoG#1~oDTeIj zU^t5sQlq^aHR!c8Su^OJ8OvW*2au0)adVKz`=+mGpn>tjHb=A;5Ty+L2ONd_`a3%ReI-92{x6fr1j5e`|uHXR#6#EtNNuqvusLV z5}CXe&Lh-ZFuQZmcs4;C>2j-KvUDnjmeFZhzT-JB^W`XSbmlE+!6pl1sHK0T6{afFktWh{fN4uDP1yC zRWv2ov#{JV8-5WWymW;&#j@Rxm)wTsc3HR5DEOPr$6Fs7ZS_9_FAhTOjU+M|rj;Cp7(t7`%w-AG*-ur5bq1szgnXVhZc4eQx6G$9;t4AmM_4DmF zJRdg&wCCsI$;-6og`$$wKXm`JecF5mUO)6$#t)!704c_LOgwM%H2R^tWBO9P==COx zyxL8#`i6Ae<~U5D?2LZyLvRvlmb`rebYns%=Y)N9L9?J4)-lz(oa8Q%Y?;4{WiE7a z3?IU)q=vlwowiEi3%Evge{Y;iw@V!TbDodhF`Xl zUgPs)qfOf{_oEo68q6oWW^9HMdvqMD+Op0Tch0cC>)f}D+51ZY%=7#o=7r*%6Ok`_lR}@m9+mP5=5x*8LsY<<#WCJ$!MG z=88g7s(ij~uZJgguN5B5rgMX~yuosF$aNj#mTxas=POPcxvSI?Bv>G@o%q-k*rR2Ue&RV=k^E^Oeu|LGn$ z9u<_Z4(t__xghWd~rMB)yZw>Z#)4 z>+qXI7ljE{Y2W0ae4>R<+jRCKVcRtKETP8lN)i5C_a81+gG*(G`z9LGDG;j`swH<3 zQq^sLN~NlsV)wJ>&v(enq7xY|SI@9aU{NY-1hme&5z8`4x2-y>vub4Gau>R;Hrmc=&n7UrJgiAmhZ9rCX$7*e&vjt zVXfp$dpz%dHQDvu&v4_G|7JLrBfkjSF=2R`w0TsF-QTWuj|;_0Y;^2YhdNg^9WY7M zcYMJvMD?c6P7MjL1Mi((Nlo=|zISEMn#MZm|B#!5nqb`1Qarkci@$B10~!oQhg zui^e3%rIudyz&MX9(N|HahM$d#{_{rC-fI&HiKjS@_DcB&}@Zko#X}ahQ;1W-C(C$ ze6u?y3&Y`pF_fC)WKX8op)I&%K$kbrOR13Uo6mH`%{SkLz8Yj+a{b_f9IOm8^3tk`g zaGYJGZu*BGoi8Vx^^T8UFFLZ;uGvX9b%Z@G(qXnn^v@az8ZAqx{S zEeeZnI=n4RIn-iPj$Rk+1U;4=WeJ_Ez+0od|Pru-uBJd{dH)=yUN|XgqbCn*oS?QdlIe?kNW)HcaYT(&qwow z)rWrU9Zu*xt55w0qM#G(%dtEy=U7`l$qpgCP=V85_h(py+P27WuvKSRYHok+=}D#< zr~+z;uRINkec?MsQWy`Ag#%;U4vu4@9nBWvk<1=gKH75Ur^8PLc;Ec zf2Z1UP)GJ3%eOkSk-BDX3@vyh>%S!JWEPq@H>f1m$K{xlgGYq)WR7XrELG9+vn*Sr zQ^IX7M!}mAceT8@n?{@?wlkIPxUq3;&>juZo5`nw956o-d z{bJA$YoHAJuc^9U>gKa~yABj=ceCcp5|o&--t2T+U8v(9cFqA-XqixJ?(-?d z=nnURW%W`-+wha|P#U3hjBvSBR_^7=J4nLWqMjI&^x8XZgj=;8e1-~k`&IAoZ?{cHRTk09s92Vp|UX``h~zGDG~mbcw#99HWwLx7eqy&yGc6Pb3cqLdY^eyrO|D znxob#Cq&=?dbGm-5_2WZ@0mmWqo~Xh$XSdb5R4 z>hX&|f8)$2q|5WXJRbM@g*khADCeNx#s`(euy2#+X!u%6El*|Z*Pa`%SI;}oO6G9c zCoQ^MDJ&men`48CV4agm#`A<}>t3|^u5_b&vMCs1ILa~SJ^@4514-1OEu9%hwSNsV z-4H#!N|2rpu9wU_feXm$;}>Wl;+yKt;NPch#x4B!MNg$H&hWoeoTbpDS89C6+m7`6 zo_jKCzx_G5)B%SO4jXD8f^zV*Q( z!BU}JCp-(L_Ma!XLSs{-PphO>-5Y9ZP3qnLBb*(p$*kE==Z*qp-extn~nzieBB^s9B zXs20J&vU+#E_ca$rz|JGJgFJRoCcg_nP*geD9ev{J8b-iAjdep>yW_yq0)uL|oJZj$cKe8io^`Otz{Z1&m-mrfzRb5f4IUVTm z%~+V-)@}KAA0{V~<6h_5aUCZpZR~Ri`^f@Ubvfw0F|^J-#4N2hU~lay`r)HbNyX8; z+QCQKL@(44PhK??tL_>qDdmbkBqd1^)GoVROJ$ucix>!RkZ*BRi3uyfVln#`Q}+s| z^`frxXMYDH)?P@&x>}~)t;za7=pv!`(9Ax%E!z+yZ8CYYdV915Y?|tAVZgR#S-e0E zz0>aVPs7~4-=T3HXs+BrkCV&yw}t-j)@fn*hHa33E#$Bgy{n_}@srZThK`&{aZWMx zz7jp89Iss$mvfg}79wuOeBTp$b)<1OF@}sD9|`J{_%YyZcHaDaHXQ$qKV&}LF~!d+ zR@$4^?kNWqW0|Lx=^M4L3#{`}ci}O0&)02J+IsWxO^20S;afqX1>YD^j~^`+j0n0z7)>;*6tDbyeb(qW>qwH&+Bh>oYiZrgz(0sp~eTWAVI% z^W#I8@uA21`cBeI!arTu_5$xF1`$lp!#dVs!Qh;AlEwS`ViS$9cYY{5KaGukJt^7= zwdENm-$`zAL?o=ZnIf{8Xs)-C>t@Vl^MtOc^Y?x!2=z3Psd^z_^Rui$vP%5S zZYX!4oSCO(&;q5}guSBgm0SPa2RtiozglzpoO+wt$xz2s?^!y{S?b1h`~o3vaml*l zS}S`lb3}7sO}8K7${+82MEc|FlThY(`(q{wd6o5c;+RN{T|c!xb__x5gM4)2FpxECcoCAZsgn0zXhTCir3)Mz*M z$?U7Lh%5H~h>l;*&{Mq3wPWH)2n%PlM~+CmW?SG$T?fc^l9X4a3L<^TT_$0M6Y9A}K1fOSLdY3$33j88g z#sgHmK5ViR)2Z-8p8b*zH+e3LAhB(-d?Si_SfBRYx2BuWK_3ev$F5_O(EcYu^n8g$Qr>@Wx6()IltaGnEmVHB^UJ5Lv5p_=@9q55pIDGEchuAn^YG7^ zR}^_m0y66l^qbd>L`na#=k#6z^41CB7O$Yun|Px-0}>~wQ#PM|?K?evOo1Uo#9Ohf zAFp)iCLQ0j-Kf5yG(hSSpj>;x@=ZY&kwnGR-2RU)g?oq)MzSdd#id zs;wMLQ$0t#ttQRC*fuyF3l`L8Swzi%!ayomyDx?ySatSf@o1$)!cF^G!&MId;)UDYS z)&W@pjcd!z@GGg>jrDxEMHbikzURro(9i8r2kU~PY5Dc6at7CqAjBo`QgKh<6oXQj zL7W2T6tW`(*Xyg?{(Akv=ZdVOJjcY#MyT<-@cq%CzB&a79ZBqg3OIc6U&*0%PhdlL zvr%~e=^0C30K_%qNFO^Vw}0fIaC-jkZ!$t}KCz%7Ts7-ty(jiQEwm5g!P&0$PSq%N zYw7g-fZ_F*i%Z=w!Tz_aq#wEi(4mu!?1-c!yP97%Mbu{f#3V9dZH}UUwdmoW_ zII%FL>i+Pu5;r(VT!bhzhOUIvDGJJY*iu8a3zZ|!5-Cs{I*s4CKht~G?={$M=Gt=` zcN}=wpwi7P3+#qhG2&W$Y^4n8*A16Ev9R7S6-;L}#$O+-RLt)TEbgn@U_#Rl>w7D# zkLf8JjK{dn;B5BC>>z-G-)j_g=%LN^;~N~F_%6v}hDz@0gxn(kN-40q*oCr86G4!UT6A<}h(k5$o~R+mEQypyC^auUn1sF&csT3b+4KLN?O0J5VzKb1PH z?)b+~LzF6#F!t`rf^<}q zgJbPAts``lB_rigSz4MFFIyzozFfHKGX;xbO0y!#PbI}SZyO|Zz!$BKY6}MWuurtEw#H_W; z^=F4?X{&O4ja*pr(-l%DwPJtRx}xLG%6$#@_$;$-wE8u1%IRlqw*8)*%0va_5BFgB zS1T?x&M+oR0`jRuuXM^)XMNDZr=jY>9F{OlnxIzPU3b}7_^aF>YbjXR-xI!3mj29l zU4%EI&3}bzyi;mNUoUDAWgU2b`kPX^`9Ru?2!>3bc+tI?;4LF+?~!kyRQdn0?z?@qUUiHWM7jDx{5%X4o=z^;qcCzgWoP8>`y{d%Jd3 zuNc*HhVv|>;g7U!DSKN6^{glrypT%c8rRR>&T)W&ENcXLVXh8?HE+PqGrVwkg+hnx<%+s98|HQzb15esEk8Pr-X=&|`tX^1Tb8@pvJCEXM z-x%kj<fPx8k_+*z3irzZsTe3epyfLK@uBTijbQ45bX|Vmw@1{9`=QdEV-iRTi*Q zo~*4$W0YM*C*2mWf?jZOhXXas1#hpdIt!IlSXvw$2JOjcj!QmCeWO3d7Y0`2P^v0^ z%qx-cqP%#+fR0aa%Z|gqx&9N6K*p=`IeN!2*70U#X`{3x^p+A#b0Qe-urVNYLZu`2*t}1C=90Evw3Z7`pHg zWFW@K$_tteoQwGN>3GIXPtD3>PuN_oD_ZsD`3iZ>VUlA;<-N_?=%T-dGQ7hXQyJ-C zAIK zM%o_#ma1R7o>_h=%#fO!xr!hIbZ%ark9dWy6@(&c#$kPXmtzmk@$HKcX0+Ay(5Ncc zjJM|+_N|E5v^AKr1br!9@;U7><2?s^1VSyR+{4(RMv>2FE`LnUuS3-OUd^=V(74Yq znKvF~H%4~e+H4?S!>`}K%{NywM!Y9spBQYpScHM!m96PY)<|Wz?+MsP2b(WetwH^( z!nwQWy2qH#3r^yLt*;G3i~i~}^Wvjy&Wmzi%hyI#SD=K?6X@y-^x06SF0f$bL?fYU zkv$HH-eA*-A}gp^weg(Ed2X&{Z~eAzxV}%d6v|>xTcRUaYoc_`NKrT3_|KfIi`6-? zL}9S;M1z7ZK_&6r$Gt)qmh)6Ilh9huN*z?%o_<@&jY?e^rrgMAz0%OYw5Gb+Okz&U zwerU4z_5E>^L(z);J(enB}G!j&w11(M$(LM&ZzqL60u8JyH(=+MUBW3i$tkEXrheK zu*HdMu6D^;BHI7;M0vjPsS`CS@E|Q$r@NMFy1p{9wZ`S6zp6m>s$RTn#~j(xk&EU* z(oOLNM4+ZuS8>*=I-}Lth4P@yOf{rtewMv1iPQC5Ld~_P%1m{_+_m=FNn1ScqRC+) z*O}-*F}GpfV!X0#`b}G=8Rr4HK>R$oraBaEh+J}-Yx6hLu8S}-zx|w<@3fe+WXW@_ zw_oYE5bPv>ZSCm}pEouyJ736j!fD%Ddf}cS2?E~cfxFMBJDImZmn7X=+g0gn4p84+ z@mph;Y~7pv4f3iP7y4#jyNHQv^3wBa`s~MHn+?%SJ=6$GjuoV;znd$`KmMJoq$^e( z@q2=r(JO}xUF05@4+16+FkdXax_#wL*L}N9RxCTllS4NBOaG>weL1L33EB6b@UlAp zwEywcr@MF~Po^U;fdFgXQB>g=B5=tlxMYc_uIO@yYwdj>+3W45_J`(<=gTIIn;)%; ztP3w=j()_qWnk~0o1W@b!r3V?)OM5Sv5q=g=k`?~`KcMx?*~kJ4Ih`~zZ&|;9Ocj)r`L8YbL zG4GoP=~(u~*A7_nz0|(^;=9%>FF0;Ab^V)l;hX$6jfHin?0*p$$;+wziTT@p#=(CH zXE`F{g!gOf@U@uGZ=Lubk zT@5Sl8hQ8HBC8BY0kKsNps2MffRrDa@V~so>lio~%1YGQ@9ma!T~@gbTr!fdhn#6}<>;z$*V~cILs$tPyO6Qdv_1_KWsA&Gt50h z-oKUcik_Q7yW_|Q)a1VmHMsrncJ**mX^LTGh_UYS(8$bHtH#|-pjNhf?v%L`c^LdH z?JfFEZ~t;THY^@Kz3$hMm$g~dAvdb;k{HI`y?NGrZEOpF5vE)0En|fQet-WI zHXvz~(_t#M)A#V)e?YCv@^Y}C#r)km`TiuKggHdSa@)6{pn~|~Om5vbL#6yu{a^2* ze@$0XghPCKr`uth<@YVGZdrJULwg&sNW&OB{ySwQ_Rz#T_Yb-8hmyltHx%EN|24$X z-Lr`W+v-05*GPC@f+o$o;M`A~%XsZzDZ8G&-sL`ESagKpgP(jL$+&8z>CtZg%Qtm@ zw!&{+^5llZgyutS;a$BOXtVy;lgu0FDa04kUXum=eY)GJ<%@Ms4YQpexh&ZJNhVi! z=T+6ZwphnA_+e-l%6G$MxfQdX_zl5nrZFVsHe7K?MeW77GKm;77jw3ht#i$vyGUj! zfXYi&%^Jwh4zdz^~CW2-v?;n=PfXJ$^;|t?_$ntb``ZYy zN~VsOKM+k@Hd$}kQtY;5^2T4Se{|TnJV$L!jaaSd9QRn5`@5KnwEZe~Yd0o5Wz{(E zP-jO}-d{oYVQxJf8+9?&a(oZmUv*3J1QD(Uo|T4XUqALt8j#7Y&n-W|5BlysywdL2 z=~$&M)PC2t97LGKQHb{?R)`_rBa4=L%fIVCFG4vVlJx;GAvOBIq)7ok?4+sAb|#Z`3~V4kN~2ErorxBxi5ZRvcpeI_t5^z zotUb<$eeQLEzv*fotC64CLJN!qdtNL>{5&QuAlOL`^Rq7=y&XYFyHjQ_ZrtfmwVQ+ zbWkf>5;(pzJ>at{Tpx^D-k1!HSYG^fv{%P;tkWCgvuzx3NWI7CC+oE;zxt~XEF}5w z@A^KWoLyJC3t#ddCX98`7^2#O@wasP(XWE8{kCo1o27$-YKz@yc;y=Et{N%hEIa-N~A>A>}`Kc=^dtSBh>+RVT z?xXaUnd2UwoJpRwmwQ<+ahCgK{>M=3_?1z>Ao~MPVWwwsxydFR ztvP6IdFkwpLh4lO3cqB^(R2N`po7rF^3isSM-;1HqGOt@Of%^OjYiJpVGC3P4qI}Z zeGWr%_1K&fD^BeP-`3mgn%8V=NZZ``obUTyCbiB4E4JDxYXAgCA&+nK(1z{3%@|DL z@@LeB*X}UZM##+$8hP8LZlCy%+h2KYw7k{hCEO2pNKUvBnAG3bkMhS~8n+hbml!q~ z8;2>#Ioq#4K5Lerm|o5OV4v$cW*J~2H{0z^xyesDC7ohsg%gpVaMSc~9;d97qgpw4 zy}ELgYSz4bvmU7dG|z^cSTm8j?>^9`^RpKOnppR6UTk+;vj#0wCw6L#Hm^`EtJXi- zhVQ*xpq&PCD?RgnEpwi)U9~8^qX1W=Q*7A|YK*BF19YKP=?hXvXLWkvH{mR0N?<0l zh_S)Enc0Wm=G__!2YgeO94o|AE1l096hq9TIR#dC%S;#~d$tF*-gyio@B{~Meg^hY z_O{4A*IP-gRu5lg5|q2Iqq|P6vU6(=vlU&lYZ*bwM}^ZMw!;VxZQ1WKCMi~$B-E9u zs!f9yRTB=py{?e%DXs)}a>8K(@5E8JNd?9PwWV4u4fujX2wnmu<R7Mx%QPkvDt{oQ0bh0m%R_cQ&bj!hTmRPfZ%12Et*%f46Z zOge_mC~;$!<6Pgx0Ilm^v}0|~C|IN<9j?+~_xcrMGF0Z;X1ZJYVikR~xc};C`O1gv zopjnx8E3jQbh15=&X3Ew!2a$+y`0)lCqe#LWD)n7kL$Y8-#;gW}Fa=FN=2mt~ zX$1aV6O?~FA*U^Co)N5vE$S?JOg(emKi^o939ZYu#$QqZu?Ug7>!m%3?;w9@B>K`pCyMV}Y&bDq$>VQ;)RK zKEd{G`Luk2Bh-FFJg1#>?R7})BTd%+y$B$a}u>DIERO+7`J6URV$;!B!@nk9O=5@^3I_ ze;4o3QT$;%F6Vq(;O+gJ9PB=Fk=KAKd($$Z-LCJVaP@@o>Am{mirx!C`sDTYAm>Yl zyOn4w!)tarY^T7dIo&15bi--3f^)O6A&s}*Gnv+ef9EuP_dc)pa4Z=LtKf651e}Jc z82&tZFlco>c^y<9Gv7!Y<(1!hZEwWfMtTm@(XxEKKl{`^Y2e=+0GpAr)_)fHQZ84t zqOTQh`LtFm2Tt#aevaccSveRSI}fj@KA7a;m~1kbP24yTj~$hPavaHx+A$A1YQS-< z)talCtX7WDxZ{1)o#OYR{X2m;9b9(<(&tY=&vi&^?r9)Sr=^BZ>K(XO2+k+~fa7Z* z79}99=d_dyuhAxUP4(HRq%%FU$)<#m7o|CwlJ?rgmn9u7!4@GSv@(zk&iS@sc$ zT|vcYI~gZ7(I3c3S&GqGQf=3>IE%UZ$&~jSiqQhmPXjG8@A{=cZ;b+_eWuBfER|vj z!ExDHR2T`V+mb>l(_=&8ZGtMfXSu)FG9LY-4&LLNWyC^c-)hq(`6@==%IF)ZEp-l* z`h+?Ng?_qPCiuCFsFLfagqM^JF=gw?q)Ll5=vTq~sgRGVlB=wQ#HK3B7E^?Te^85u zHYSy{!A*~uo>1L^Hk?YOYh;CYP!$^#E$9<^tr8kEmg{j2Re94EjoMMKuHU#uI+uA_%UQ*^KwcLv8ls|U2%ITC%I^FP>G{GOsiC?9py zm1HMcm1k$@#`_*09s`57tD4;5A#Fb|YliZgQ|lWRC)OZlhM`VxnWb#0piQWf`wL1f z@SZ`52Z}3z$DowBNKA=I9I}W{iGoireG(WM7>bv3`>!AfJAswUBEWgB0@EsY1#f$S> z181Q1mH9M7p(--U`j#Uy@p(Lo(TC;&mFdQCEiwl0Vk*^|x?60aHeI-%CL*(G8IB|>JbHb#|P7O0B{ zXQ9*z)B{ElMJ>ko#@#I7mo@X-+lkQ5HZ9wE1xA!daNhcdGW0SD5pj~dxGq{zajo*W zAjaBIn>;mQuL{+GlG?*_CAx2+XT%LpH4S*>S}Q|Xdk`3Gi_aG(V}z_JL*e} z6oK$tzIowN$rXftDRjjM>;Q@CBUNmC&zX}-T#rK!bBpllY3c3Q1mXVrS@HAw{PQ-^ zdGfmwcR4>mOMaN=2|)Q6T%l>8=RSh%z5p(t9|B$VfNr&Z7oQ66)S7%5!=C4 z(8skUqXVl&@1O5##jnq2bCs2M+8UkOYFxOjsv5mZXz@3)Aa5zwbmTRSeJ#}LWfAsnQ zsr~lgZNlTVFQdo9zc_*C?v{J>KP4V9>sSJQJ!+5W0dpRKU4otxY@L!(hP|}JukSC# zHrOSG{l>Uhu@s|0FxfxWo;1~IbOSUfVdyOUjuz@zlmIYW} zZHXswr0%V8y=86&SyX}alCj6P{;3>G#$m%HOu@>NKNoen27-&X!Ox~kjJG+K8S{~K z2$j(%A1w@c-#yMlI@;=RD>F{;j;(nSkmpA`eCp7?4>+Mfe8O>zrw2Qkg=$v$knrrU%{b&up-<2iHzW!U4+<-cDm~|Ev zb9HOro~3oqg#}#9uFX_AD{=*G@mOHos$Mi`h45kVIV*$zKxJ~@% zJSW)WzaxD+Zi$Et#@^V^8|q`b8*5BcAcrl~bTHhK6*H*@3@7pvTENrhQ|7nymE8qk zRjqFvlZ8*6Z$&Co__B%eKlvG`-$8}#jWx7op3q#?e2MI>sLM_YecLi+zo7Z zuuJDEL3(X{P{A?z2C+NsVtT-_vb#yu9GUI_Oyo8>hjf*)dX9|$+$XAacR#@SzacCE zBKXkr`N1cXzlLuF&>55(s8J~2;?qyE5>X=J(=W2(bfVaYSl?zK+Zl7yY;1iVdxg-$JQSlZdGk9qAqPg%LZ|(Zq;t_A7Z#?S zM1&!(-A*mYeI>;3GvG)BLf1!SE5;okOg&g7O9q7OYzF%-2aq#fjC^+1?_-#stV$lH zjWV(B(|Rh1qP6Mcc{2I0Lh>N(pGr2QZX@3|8>u38vatvtCtupwgOFGLHB8`gBX|F0 z(g&LFsltLdk^M0w4_X)N!{+L-l_m3m;M!zu#d5tPH(96ZT6q7OKu} zL+@g{pH3@zdj}MfaxU3t*)VF0T<*LaKuUJEp#TZ8soBCVs}oAECR14F?qj#z<^ugg zgQ%Y;Zvh<3MOPC&)Y1%+wQ_O%t9%9%lK*bRQ-e3PQsgl zNBn@A=g=;0udf@NUU};}?QAybdfW~D6?{6!>eyDdCFu1q)d211;;xKm^GXTJ40B8qD;D%L%~FX%bBi`t8M!?IoN+__z>YR0Q<1FgNzVo0VRbZ(7B z{mk1b@{-n17|3V;;7p)>xTb1RV^b{Hd?Zn`OSY9n0cqEz*Oxzv@u%jnlb; zFTxXYSM-Z$kJkm|H{&kvFR42jOz;|RvIQY^;7@&tukW8CqYQ_=alH7qiLNqyUr{bq z&IB>6E;Hnf*^T0#Og8I9jQ@EP@Er;wQ(R@BMLv!N(LND&{(T8sr+@u=Ui-@C((B#G zCGw=+IrLJ}t#e;NV87E&uzI0~O!;8_$NRzBKk|uFl=&CqHR?QO+FRaC#$SZ!81o2S z?`}KK|9Bc$Az%hKVsO3Bc?bE|^0tr2QlS5acKvxXoGu;)xf;Vw~k3hWJ5@UxE$n%K+&1?Hqw+A-OdAv z54%tMA3IFY;ai4f%5_96WH=}7TPGKue}w5M=RxMb zG6@wlqZmChaRZT&x`O{Xd}sTPE`ccVZ~q@15iSwJ5R&nqop**Cl0HfLBmcM_iV$6Q zQHGJ45qJNrAlP?M__+QW`{y#x_??oBT;mM{h3S1C63stbAMp*?zfBvFUq886EAdkC zG>|AznP}^%D*5c)$o__HOSM^O9zPLh3i-=IbP7W=RcI9RUppN+LJR( zKK~0m7ye}kW2&V0pqNK*`(S~ohg9cZ@lG4~%F_QR|BK24cb=pT!vf9IZ?WrNCd9zl zmj}p>RBhtN(}gOmtKXApRjH(irNLcDSc)@^Jd1LOtc{HEu?8f@aM49wtM#H?KXp=IHo__UfgT{%T6#Ma+Ov${swudp2KN+)`;v|JcC7~z3 zqeYhUtMSYKn}N`nj5y+N?`PcMDr~?0l-X#bKkfmu92aSzGsV^+seS(qO$(_VOAAvS zvCN;>Ppv~&xa7c|)5sgK4F8eQl$?*C_U#KrZS*8>)RF7BG3>i3qX$_nxd6)I=Ub8S zZ>(d&?%jOICjl|`lq#vn-BpKtUm&Xe&3~>wT-#FkVeX+MuDYTc+oby>rS1LV*h5TQ zb44Mr0r?=N&HehkXIn8`1sfb&zP(il=Vu6^0l1kS+)ML#z&Vd6U-Mpxk4YWaQeWt-<< zI8YFSdn%3l+~o7w*{IGrlpV`sD?G?L?LKpx;Z3VfDI~suadfs{Wcfar(X`3{0EFn1T*7{&_l3eSo^I#)>NCtPQ{)svB_t z-;wjr&EU=21E`fL?Fj7weVqQwJvz)Ait3D9!*L&inzg#H%j;}%OZdrl4nNQ~@JyIf zZ6`WA2L9F6-T0x-d8sFS8(b1JPhAc&&}(@3hgj}qlLdaGvnlN>qwBYUI;Yq$2_QRl zitul5i0QFt?)~?-+}5B@7kAxk?hETuIsJJln1pXH8FQ@JxHGI=^E?KO*>aqWR?)EA zRZ<>s-UP;e8iBrFwPE(-)E(Mjo|AT2f}*~hYGIr;%yu@HJD#V55n9d`KTtMsbOn`{ zod#$J%#wY^_L*7G6vt>`H4XzyV0v+lI&sMo(+=RIFqZ?*xR zdp2;vvJy|$B@OEQGXDMU80&V$e)45~dec||mlUY*Nu}^*QbbQ&U*2(`h4_|<8vL4z zLO&mh(wJxd!cK;dgZx*tx?|!q_j+QKj*W#B1=qJP6sPC|$YX(cfA&OBJFY&XoQp^S zU8r-pmQ%~WEXS1NEhm?w^Tn5^7ABSRJ@M;`!{~H>!?<)+=>pV(M#q!CbJcR7qm`ju z1e?6{kGAnLWz!+yK`KWjNA^Zfdovdx?|UR#@J}vls(aX9KFD3vB$S_s18o;0 z1p&=}^F3=sdy69bM;r++^B&E0iDC)nDAb%diR zOUQ&lSH@_$qMbL)AP zYuyt#PPnTm%^0sAnh{#N&O|cKAIAw^J{qHWzpn`r^x^Kz=y=*->DCEoH&_Y_YA2BN zf@y1T=+xP62bENcG{CLxDMCr$lKzQ}9;pfcHV@fpWCgOT1O}GBXIGkyt;=^Ef^^Im zA_^oW74Q4yn7vqNg$ma7P0AdeD z$7K;{;v38n`+S$yFMh7Jjl-G|J+z+F zzjOX`TN>UjDZD4Uto_(XQVaxVDNOU2MlQa2&gSU+Q#dkC3{@RApLWvv9dx`-8nTt{^INS@CS|3YOO&@^$w_d_xr zY{$1&kftxj)Q6}~+=nE~*f%Njw}mO^PSch!$!T(!`m}BpKJZT8=vtHr|5=JGXhNa; z;^Q+qB+~2iEXA|*HRZF`aoB#n!As6>-Yd$o&Xoy}jY2IJABANQZMNqI)YRLBpXXy+ zuv2GywqF*`Ure_if8n*n4@4hv5k(CQerd=e5fS5}85*#4`6qH|Fwu}Q;r~U5j~GBK z>D{gxQUdhbtH|<|lK#b-4WoZU+K1;WXMl5zn8&hhVJBP^mP!{FKRUQJn3s2TY2cc0 zJ4as)1EZcHik_TAZIL9cO=x2owI0vgZ0KEOW(Q_&R+?S zfZn(*p>=$GG=D&WRs=-fVtjA)WFIzK!>n2Ck-A*OT1Q)q{AX~hyr_GC>n`%7d!XzN zgeA3dSs1dQEG@`%VBWHw+q-ka0$TZw4Jtmg*Qy7uoT%z6xI4}-3HYo&EYfzo+|t`* zdXkVCWnc!)n{?{mvfB8!B9r|-Ly}wqPdb&h5_+|?Vx0S~o@UBeSP-0Vx^pmpm4SPS*GAoTdM6_d8@A_{LfSTQ~h; z^|BxS>E%3hJOdHdI|{{$a_#tyy=8yyNDK?RFz$YT;@>rurQVSXycLeXlk7dwqV8ca zRPsRn%I5Sv972vd)rT2GY$(|&TQ%@q=9nlEaI2_;{MG%K%VTsN<-7Co7ntxdULvOx z$uK1^KU`FZ*NLWu;*q1Uz>eC9;3aaN`y6zv1N-D8@Wk%)*@G;F?nWiOm*eWJh%ZvE z@r!bu>^B+V#y><{mN55`&&UJm&? zHVij}bnU%2sG6B%5N+aiA(WAa-^cI1@`3N>BcvT5phbzVo)CfaA+ja?GcxQf(zrHm zoV=02ZL*S0PR6hSYc;h7_M@V9&HIoC-Z;xfoIJf)?MAIGLA#TXrIM$gyM-|TXYfIT z(wDnK*p_tFvJ90x9p#REtULqMt|CIPXnLUa+e_>u-5t{Wm%CmVc<^O8Wus$Rdt+mH zX=7lScl}_wd3|Boef@sfePd_&aeZbPdHrUY6*w15di^AHkWv7R)nz90rW0t^`r_r% zdu(0>6Qd7$(0_`Ck(nRB4v6gwe-CUcn{-o#Rb)fPhKO@V15aic?&Z7d)k}78+a%f` zm1=FuMu*!=xO1SggbLgwq(T=(tE?6v$$SWw$464+jY*eiHTB{ZDP%uL>Em-hUu#UTCZ;oc3t}K|f%Y8HDJJ#(;o3td6aG0A%~r_+2Dx4FBnP)_)$XOXKgx!4HW;YV|jVi54k zm&Z4ma2hz>k_pM*MRa5WuoNj5x&C|(O-`65o^HwYk{gjZv@i!LwP)>qb)*2Wl!O(z zYU)al3>`X8x0IG=?*6`UHwUSC!yAqmfQmvv{Oh~sY^&^Dd`C2RcL^0K<~}J|eL8Kr zCHpjgSJhDvP*IFr^D;)^;>$yt!R$1pkhz7GE}#sTb5ed(>$I^MOrpLRA@Y?WKHow zD^0yH?h4xUXL9baKDJGbQ29aPxlJ+qTJ0Hy#VjZ*l0dNmsv;LA-vH0dmC1+-9!ng@ zHkNLXp^@oKZ!p)I^_MrQrmc-H1~(RI>OTHSo`JSZmzM7o7(14I0+fIQ;G>KpBgu6s<@Uv zZk9}gE-Y(vP_VX^O#4=n{!W|aq~)tho{afRUXVlkN=tHXW0T3DdnnD-&eI^Jnw(og z0I#`q;es+FaQml+!bumE&H!{$oTsx|JU#lpus^*aT`PbptzU&>coA+QwUwo^hwJI@YoDB)j(EyvJ5U3ohK5>kQk63Db0Mwgh^??4O z6zp;^$0RS+nwp=ES1UD%4uOs>pD>we^LT5QV^7BgG93!yGbYotIt&CTkEc=I$BiD|F6&bZY>Z`*6veY- zkAe|n<(fidzkTF(Hc+KoYfxrEW4;PO6AL_NGZOkyDd@8)a+u29pj5TE-CFTyUT zvycjhvX3_Vwt7{aQ1kWGjL4TJr(!~+mdsLwcS7Ict*#{2Z%@y$5Ch&doSr(K?uY`_7&X&4=RpK_GKZ5c{oql>nq9+ya?7sS(;H1w1}OZZpw*o7q34*+wHTt1$wB~ zVf1A26@Fw0VaQA_L@^I*$~01??EA7QTTAxrf15o-m)83tzVM?J^qD&TOS~lD2N=SC z#WEf2fi_KWBZQ#Hmh8Wq_1hG%7y`*A-T&qmzMA=wrS5G{*1N*@44&L6W%rBVtz*O0}4llE~xYES|hp*px&s+(5ErAG%)cu^#NJOq@c#VhBlQd?DJQ zA5sqMzV>xky#PeCn|(jI$|JJyUP=jXFnkmES>>IoFce5VjpOO#mi^@iN!i`R|Mc zArB;$K_B}TSJxD>M;sk+eGZ6;(sTYYQIO+QCMbM(DH~YbMwfgMLJie-60VFMfoU#5f6L>kN?>4ba zsTV^qgIo4-pW&RrfZ%7yWEK%#&}C-le%Ghg4D;?D;fLo7ck23u;O5}R0LeX|{}hP{ zM}ZM&i;qF1oT@k^IZFYk5bNKYZDz{M6X3=E;3nn~fJbP*J-OF=P(2z(=OM51F-}|+ z=s8UW71qlHnZ8dBHqLgHc+Be_F=gS21U0X=8gHZQYWYheAKjC5oLMW2+A#yQrxCtp z8C?UkLTAG`_Su>OC^9+wdBtMhDar<~I)5|pf1t9+Fr|_&m!+nNJeQ zPu_=(DpO!>h(vA7Zs5W5toI33Z!j1?7@&w?crVy3_CKtQfB5lsMCb~h--Ki-(mejw z0Y_JibHekQtQGKZjk5D3f=!3HBi;k#R>1`bhZIsDLLPGTO>vR~(#QLdHsxz6$wlFy za-ifFwT|{CT7no%$goy)zbhnSh&0dY-3R>6_}J5>-~8QEpc(ryE6bEA*?fDC=)!$d z!IYLKSUyW;pT_ME=u-f)g&rPGd40%dWATf^4-9?`IXs2*59ppgfms)(NXd~udZFPB zNR|@K(GkmUCs>;PSot5>yGOzZFGHhp6=Sh?gb;!B+mg);-ERAW`|Q`Q-D_)M)F7{s(r zj`Gh(&dZdUoaHwj*MqWc;eQ|~KJvC0GDLdee=uZMdA?7ayj z^0CXxE@UbW5fDC6OrZ0$a>M>RE@kNY&Xy;cG;Z_xLpy4jr1peWY}^I;m-O)JI!Qk5 zoi7>4JK}`&%^?(-gi;~99wM$eHyq-@c^GEDPoQ+owY=33sF_+M#;yc%wFQMi@JW;3)hm-(_@umR%ts>z?VxP$8jvpC&MI` zd4#TY$_ZmAMd`X3*PB&!4S66<7J3@S^cr}YMcB`)#)9?TK&-Uw<+$5pU(~RXqzYJi z)3Wkz4bxHFbDZvfk1%rP?#ONPzo*Fbz)&^7=CE8!QNs!vb;2^TMVw=?5#dmWh+>eER2qp87{qBSkRz|Dz>Vw z;u|RB912E*e{tK)AD(4}E}bJsT-J0iNyuN{(W$;#E5{-lO$#)6lY_dqS$hUx9DlBGSaH^1oMii+IBYQKgC$wsb)5O}dIO(`}>%XW_JvQ6l zV-L+J@>9Q7VG9Bbkg1)%-f}#BqK2?-cB^=f_FF~R3p;@+S%$30+3D{d7x8ZD^UvJ_ zBsrC9-4i?8J9+KSWn;EhZu+WIsa53*O-UNr%(nd*NbeWv2YYS`Scf*P@tN)S=W;l@ zS;pb{z3*)?wfvp3|L#-4R}5lDP=Qu~x;+0`#+2LX&!DkCc0`R&-PwUGqNV=kS%DJe z+*QyGUg9cb+czYT-fVjAvUcU+P8Qj!wm2BZKA{6w!A+_Ifj7pAu)?@@&TzbpH;XfN z4iKW#%N5e2sA<@UTJ`fAm_K8aH|s@;Zzw798u`{?`z1 zKeEP~)Iw!{cgGJyKneNdiecD)Mg}sN#UL_`|Jrk?5Z-hWtgC4K<3of9uKkf=ivF~w z(9`HSIJ{b}_mX0BV);R147(y5KGWR%EL>e!Msm(x=?pMqIU_HQrI{iah=-t;`_DfH zb1HHIqR*lv1(BO@A4wa5-65uRz`8`(->P)cZsb63c?XYw%b8qwuRef;P3~qG@&k_` z)hyg|(w-*15fPmr`tgX++OFDtvj3sUYWoy>E&HDfL|=s{WY4(@G6`F}=(VS4%!l1x zJn%GQBg0K1+#aZ9GVgOW1yT@MX7n8$DP3NI67E(kKMa-J5t?jYZO`oG;#En2j@+g{ ztP$J@{~b@odk(&p(R{(S6mFgnhOaauU~=%CQmt!<`W5k>oq#95ey<&p0f!1v9Os}p zwss~*A^TxOAkpuf2(Bb91ZEL%__Fb)fCG9O{&UWf#DXYw+ov`_3$x(aXFBveNzJRH zd#rGcM2&Z<5*Xn+_6CyEBO0eB-C5m6T?#Z_X?kmI)*(X^B((!{YnI)95_~^fjA4@9 z>iwWUwppc!;jF|}->bqmz&NDYYK6Fm;O!tH+aI>c8-zFsIT)sdJm%YDBo_=9H=LJUs9IxfhG>WOtTX=^+~5YB=U|Ti@ee>o zNl&ba9M7;bvgi7N!FwP)?S7tK)D4-e&_bVRYhepzsk4Hx=pz|2-(HgYits1S-bqqJJZJ&_V>W zGbUIa5c!4d-aWqQ$!w8I?fM<;h_lL1sa^TRP2w++wP0#n%p+L+#0d8v^BHiTSJ@uC zql%9)hP=e#ewMIGPJi*c2MN?&l^1PBS8hUGx#xJvfL?J~6>?G+E>++VT(8LXbc0l^^NOe=(a|leo0qGPXjxc-wdsvukHUJh^Q@U$K^O-d zlmWfj72|xh=$3FQY)^?4!*2V1P6sT0_Dk!KI;B(@I4SlC8nzQ$dT z$`%X`PFa;9n=@hH?`s_$;w|oqaOkQ(9_Sh#dZQ *wR2aVh&-p))bqlX^&FZiJrx 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Ë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๬PSYU3-lv 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%0Axy@m4| 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ℜHZ3Vw~SO}F1-E&)qEY4;i^9yrnh)ZxoG(k7)K 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