From 84bb9bf421ef74d29f94176a5011ed9c556775d8 Mon Sep 17 00:00:00 2001 From: tmont Date: Thu, 10 Feb 2011 21:05:53 +0000 Subject: [PATCH] added extra libs, ignore bin/obj --- Lib/Moq.dll | Bin 0 -> 488448 bytes Lib/Moq.xml | 5120 +++++++++++++++++ Lib/Portoa.Web.dll | Bin 38912 -> 38912 bytes Lib/Portoa.Web.xml | 32 +- .../NHibernate/schema.sql | 2 +- 5 files changed, 5143 insertions(+), 11 deletions(-) create mode 100644 Lib/Moq.dll create mode 100644 Lib/Moq.xml diff --git a/Lib/Moq.dll b/Lib/Moq.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a3e653aa79f33f339435b5efd7f097cf18786d4 GIT binary patch literal 488448 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

>=P)e=oKrW;}RKre+)vwRqkQFY(4yw* z4W6yGeKd<|2OWB(s|WkRd|(JAd{NzH(ciKvDM$4&ncy74uMtpkTIz3E9fwm@EKC4} zrF8sU;#B*kRq|L+6!l~O z+hVE@Liow6Jqo&UajCc~BUVSEGUCy@xQw`>#JE>~GM+o;J_nDT;?WtJ)?2lu0jf)o~ ztngN(?d~CLsW2@K%}t`2>yrQn3H=|1@~)ZT=7NpJfYR4|$`sOBNjfG@zbpy49Q$SQ zUb>e`z!t;%_~Dl2;9^B~aT~mAiQ8p7>Xf;OIPcpzc5@HO*cmZ5x2$;^OCwj(iG-mu zPXfS2homt8;Zug7*GnU3l?D+M4x^4Qckni@+S#6pS{>I=<^I z&*#+Uxpb&Dh_S^&h3&E)9uBBqp6hMj(z(jBUu>O0rpHq-6(;71r0=Xr;(E-cgDK&B zuEiDb<{T&PrHmUd1iYCgc{t^o8ON2=g{7I^u~@p+lsTs#?ilF<<3{O@ruZqdA;$kI zllvx)>;)5~8(4mqQ#L#!W?yL;^EQeWTv9Ew5#AN>w_0&6%#D?DK?^AjDYfz)YMr@l z=spotPEcLN98g{F-h6CVx0Zr)Hhgu*+f0QS`e-$gA7;YyR;5O9-mX3z1IZ>9`)w63 z>$Z7whGF`(F8#)EtPq^lHxB0{>3^(W+WX#Zyh?T5JuP-hG1w`}@+XuvC;8b^!AAR3 zC_59(T&$GYvNp6aI7=!MCE5_Uq~dhu5HqZmi90ku9*(rgmuDW-&7gLiPE#}i@OpGb z(&cFaI>gu}YVbsBO+Q*HrEnmvo!_|~TE(bs*b>$>RM*HW8M$`SHHWIlT2DKVbhps$ zy1j?RN1#7;liDgYvAQSGTCeoMdIuO&-NNet!Go0O2G)zLy>+r`^mHnvsB~zNqI4=W zP-BvGr1{ng#_3FmGms|B@=-QL;xDl3ZW?0GYCl#R93w0Qi4n)g9^TRntLNf_RRP!P z+Ngfw?%`dO#|D;jvRl5M1WkOGw44rOU`cJj zCoGlVCz9JKwL#xW;xM_ICiWNs$sJ48Ev0E$G3A$zG31PxVdmAcTlS87or$}T9&e>E zhzMJ&6V*n!VN7*%tOJbgSNsj*suv16jM2eubUYiFjH*p^Crgx_zWvIrv45hC{S$5M zpJ-$ML>tFfC%TP`#tBu%?Up77jd){HDO**DL?GN<*DwD~{dsHZ&s$S}-kSRJ))Xbm z%uj8iP9Qc<&@b8MZ2xqdv;7lp&h}5aIom(!=4^ktG-n4DOf!q5R%%S`q;+UAIy7;# z(^O^@Qv4U^C}?*VbT&aroy*(2K#%I&{&5{Io+a!tT=x|>GjvAj>OVS|tg6LmHajqu zYc!;;wXwK>g9biDhHX(shQVf)pJ8^FNU!)QC;WT}eyVMeS!_%N^O9IXqRi{WqjT0lR!AYoE)RGujEgTmNbkZcQNHQYrttEl>O5D|qG&vI3 zz-bcKLBh3c7?M@F<-FTy!`Dh~tSUJw#amU5O-U)%rib8ek1?Gj$84dCO)-!g+mEB% zxc+U~`2K(i{Q)~|VI1LRq+KdI_XoIaVy?RLHQGnsOj;*FChKo`S6`&GuXa078h|3VW%7?Hn5>>3+rGnHM+eI z!@ag?Zf?G~1*GCOes3 zICp?hQ9N6iW)rmBqf2)JW*>(J-y=$xey-VNTcuIKl+Dgu zW@*Yf8#7hwmDMoIykAzJrEM`%{;9ulp3G?XTjdop{bD(Z?7?$fCKHL<_>~^K3-^Wa z8!ZvGQf$$XHMm7tc5h>bx6&F)BQD`L-r$Vo%#hi%lEpt)vwbYiIMpJ!>JmYQGQW~z07BiabVPfuwKzQ~&DyOMW zu~j>(rrhZrKPOX5rczoz$R%w z`!{gpv#8zoaahrEs8a3*r;ZIy<7-tt(!qLrO6fh4Stj@ES%B z9J87%os2ZxDYSGwuB@lILXR{zRl55cHPdHhf3#&k)^I@_-AE7#8PRsCFmoXka%l!d z(h1XvB2~d1xJI@S$waZf9my+x8%BHb^)L3vzl?pY{n5FO#iaN?mAxO_49mf_=q*=l zI^7#Oa}>dirh7b#+^|RMsYAjx8s6wCi{F{TH4d(D%xRdewRn5Xak|F*oHAd!mxQE? zF+Y0!U3~5w9R)zkMvo5Eh_>s#eOA#lSIB5m6Hp8UwO5gGnYs+E{|aJvAezI$ESSCK zX*>}yJad3|VnUnI7gIhziugK_LKLLJU`UVGW1m@C@GnT*Em&JYt73mHC|a%e%Zf6) zg%C(t9JSF#Z>H&7ixG8U$vGRSYg?$%}Hf~U6479U|?`&G1C(4ir@MA{NMpd zyOnIetVnj>FUPwK8~NC8l`cJdf4X$GDZ1u^?n5cMiWJke@Ns?gSV$%QB^?JZ{mrDf zb5xeQ`mN!k2GM??*6v0h+vL_-p@&jsq><0INA)6Xcj+of^&*_Cbj|1F++cIQMzc(>lbxmI zUf-PIe_$)x8l<3bD}MR{x&7c@DV~*Lv}IHbg;N~+mW=gJ=uGfWB1mR;_+>+q4AbS{ zz?qT?!lhwcXrGi3s>+qtIFajAm%sM|viwa`{>+D5m4R5UiWKhc7_)Hb+Ar&?VI%u( z_-SxIP5e+#*!7}S2QjUGJG(U)+edRbRmn}wRS(t>UwhWW7K`n9m)GoG7=V`z$2dgV z;Bdz%j@)tlNvzd|tuDaa5q|uJ4a~FlfKo)a@0Iq&nV+d9)%N^`)0Np^KfW%AOsLG? zZa#K-yZPAFA;x@t;D5;%_vySYio0gAwhu}=1JAn)Hr>g%^!120aLqX*y6>j+4Huxe zku%Bf^y1zaM48f!QC!_KsIkHa;Wrhe?K5RiROGR|EbVc&eM{~6N2P2DPwO+8;wezJ zO+FLGl=es9!2y!`%a)SPv+fD456Onu9%?G(sGKZa@|YPC$s;RAN*>5%1}Uk}e#<+9 z7x~2w*sNR(_mL_yrt1%b&{v&+1`DffvaGY#oekE47Gvu@N$Qh@%BG0W1XFUnr5IcV zdQ=z3Q!}o!MEb+C5&VO-_yK(ZH|+*AfB85n!5R=xSy3XW6 zQfCv=SNKu;KEt;IQsaZD6N~&zEjR@1fh0_}L2$liJRL-9T8^ERH# z%pT-9%flt9vyKMCg?^FH@$s^;L$hr%tQ}`J=f<#M1q;oc8`+#2i+3DrlACi}jS}8~ zt+P27vH==P*x8bec8|wL)X%w1vX4N%_=5602ekE8oOTOAb*b8NPI4I*sMYd1!N;Aq z=(2CL_&e>8jXLi8{qffKWP`a7ovpzl+q4eC%~ajN{8X4(Vqsk0YKh z$BzK>sc1aU``|-8fw{l7)sXyP0pac5$1<~QPSKc)Ol$EO9;p;Z$4S9&li3WS;c^nb zLl_n>Tv&B3!dd#Z6}~Hj5w<_#f0R!{c3o~J_#QZv{p|gq=*r=pXKBJ(3#Y6&q|3g6 zvTqo}6Dn39LuZ=0s0S`?BFY4d!ty{mN)u6wn7rO6R=jB!@_ zC=g@a@$HVrjp93>Yd!6V416-VZvQ08nMj{26UVfVQ~gk0v3)egP3&`3oc{kbXVM>* z_W!>QS9+Su8Q1p&Zxp0|e`)?{rCTYd4Q60+_i?s#G$IQAYUQi_h4rOl62Joaxh3h? z1TsKBUnSyO>Zgzf=;x&xW*#O|^lyme&hDK@BD_hLt#_6&W#+Qz-%641H>=arbB z&|4jLO|xT&v)^E})Q2ZYv^B7#{j8_y98OamE*4JIMveE*p=Qvoa8|bOV`MEkDr-K+ zkAIIQ?Ye1>v8q4;hrEdiw>WXD4AFQBtn-}KVdoCr?=_31wo zR9twrx5h;s=I8|fBpMes?n!8K)&*&6k0YmP_2&9vGe=rzgv)uohnQ@gvc)Cb?8zN{FIVt1BhR`}dYz!AdyBoJ)z;}>?Wtl6!8 z=uQH+CeY~C1h$dIVWi-0x`+-Fqa5>DpZ0;j#y_0iUdU7HB>EFv|4s+?F8(RL{xmj} zB&qPt{={kF8F0qyuybrhp(PidN%q?rTe-Gw|Q=AsoLM24hjg>E49)LiBsF0CP%-jM7f>jwDDu2 z&P^OKM+;uLi4*5oQ>~SV@$KVjs>jk`x3;@GY4v7{X75qRsErr#5&V-hv|=G85NxIh zOq|$0aYXx0kPra?F`uGAX{Kll2cjr>{v|X-aN-W_JHv%|zzIM!rjJhow4;vVjb1a{7^;pAN3iVmn;C9{YX;g&d zU9xna8FjA?s{od()by?Hv)8C@hXaa;c0x4PEoZxZg8cliZMSHWLb5(HD3FHD`HyZlceq@M z?mT{jKO; zpo>rbX(`C0Z2oC}qW0bPfVX-R_VXIIpdxGiQVTIFO2{vbkyB|$)`r;~=O_=R59i8d zuvKzNe^xsXwqoAa#K{*nXE)IN%r+9`s=5%5)?=F>?zYaV-f)AC7BUH6L-^Fk-0@^@ zYs*?TD7fZmbaL-hgSTIFR|b5H4kkbeK9=~wj=11rgnqKY&JK>PBxx9b%?^Z|OXKC_ zoxxH3GTC??2XlS;@OqmUL-x%XL*aUykznL>lVd*BC)V5jHdhEQTM`EY5Tyf>$!wk zSBUOpfEwDSa4mq=d1?xBO~LM98pqL6+|Aotiu1$siR;b?1bYzE^25cT;RQ-$9UnRt zwTf}aLUpHOVY8`(N2j9r{1{K`<&OH7pKZ5)A-)rBSyAdGBX`DrH}9miZcWhlzU9q% z$#o^H$EioOL609E#}G`tgU+Q`-p9_#<8khB3}jms7Td|_29jr7Q@N0|Fx)EqfIxi{ zKy}d|A9VhW>(IL5J2N^IE%-*R78@TNqYg>^mTsAIe;KRZx`;+(ELx`Ow4=N3mWL{t zOx0=O*1$_wy3v)?A!9$&dx28z6Mx!wqi*Oks!x_cek7GcY}!qH6L)fqa-rMS7BOqk z(@&KQL|ZnT`epsOr#0=Sf#NsRl7?qVtXl6+2k9uk3qq8RhP&tQv*N)nNi4k^-YW1E zH4xE2zj}<+J=2%ZO&lGrp?>KWZE?XZ+6=|e=$wjPen$EBF89kv~NW-v{!> z3z1=I2~VrFTjgaf%);JpDcRbX`9Bc(^JrUtdU2c&MmXr0;#@3?x=g31g zGdkSN{?Gi=8V^p|Iu2gqGdshFdl@!(*Ny9=G#Hg=tbG*Xi^no*aAMs*w7Md)!C?;= zD=F%B$4c;ySY2Ob4meui2PY9PJdRK4LoSnxQm{Nl+v+;FfFlIBqCj|w{vh`aCFX!=sZi*hHT|G zX>z}=A$RrwatS^0^+iXoBck`)G@<8e2rV5zD6LoOL!_shq2~;oUnK^P9Z;Zf8MSag z0ZHI6tAq%m@p8s){ph=z5L;8hs#WFG(4ZRPMp8S}G3Qf8EZN{p2}ko^KLGD4(v523 z_>St7TlgN3DoWdD(5K%__+CK4*@BA|2Mw0tXTR7-C_J6TI1BI4#@V|;nFTt76$q{LKIE}D3fr6GM7k1lD}>dWFg*ht*`(-OcCC*f<7xVrXv zbEByecOaE6muyq*1#@zHuobLsfhiGJVG?e}7o}x3R2Kl;OR^@#OzBklv20Fr@VG6R z?dmf9D7A%lNBv4K{Cq|Hl?5|33qqnXP&I&5rghT_QYV8G_r9{BHT({u8`^kr*O)mP z02W^%8!2Q{e5W3bEmqLEQXMgdH8r-HH~c%De`yoakg`cmJNx00;xul9W4V3x|B&2x z)A7?wnT9PoacF$xG8zHY_bh^!>nuGrcZi6J$mHzBuxSPyqa;-#S8`v5T6JU;Pd7G} zE&+Qz`$1_uG})xQE%3|og&!p-&h)h63CrTS9o9&V3+d-BByc@EIMw<9I4%)ucf?Os zr6akydBg?98^EpA3+SGw?8=5+7v($J6O{?xZ&?i97s2Tt5VehI5P|)|Mm8xA!l?=d zN0sdtmC^lht=<=~%)SQCnTfNbI<@1xIpl*48&+A~HBV#QOl#zuGcgsmw++6FcZzwZ zHb>C%tZyAsjjXLWN#uEL_}C^QX894Xz7C6LD`Jm*h93|%`zWJ&I&Ycz$0Yuf6hE%( z7KsK-agB=2E;yQg z3N>k_=34Ac5cxPOkvt0W3ExH2%X#^Vm6dey{^)$@j-5%zlDf@KgUR9?f{GT7k<9i> zudlcX&<1sB#ZSm3d0RWQLDEU=g0G_k*agd?{`dFk{`Yq^{cq=>{jc<&8GY{?j!q$> z^E^?p3tmW*`$G-6jp=sE28rfQQ_<5 zG`T<3kUM7pxr8sZd*6bdtLL9bs!12-m#Iw7zCfa>3h&yTL1ZRC&wjOyB~m#^Fsn;N*{D^ z`p>t$SEbs=qRDguj3eZToBjdgj95>K0#Y*cbowMrU>WI#( zL`6^knkM&`8gktO$eGOOBh5SwKI>$_noeY{UTFaO1gch+HxumFm2l~E7N$H&_BSOu z{&5N{rQ=j4r{f|~?bPCYY$Wc@#2ui^neajqaH{)5NTyVGJ6i4RUPd9hv2eD!BUjGZ zoT;Ub0-HXHE8M1!Vk{S2O=_Iol~%^Q>A=Ky;Vsh1s!dRO=Hc}a7?FE9(`muAO>nS-$P z{)MPaHkeP1jHg2!pAus3c&{-qGTO-#bnsnc!;qHP}E7(x_lqCH+LH1-6Yc3L(6J+U%ILvP-3njb@h8iw>1LxKq zKS~4BFuL-0JPiza&r@Ccv?3V9@Egi$E7r*rU{fievJcY?{$Zm=a1==F98j{50|rA z0r>P=o&+MDaQKW@1W4jX`K!ifSd@yd3@JW3Wc0*v+W)8{mxO;U z3a`?WEUNr`ycT=9f-sAz2ba4K|{OcK{De&s#xbLQi|L-n}#BgEjz zs_6iN8zJG6$ys9Iw*gpH3BF@NN+W07hBx6%uSMqU4!%2~+4i-g-_xFN+w0_$ugRUB zq8Z*ylv9&{D#h@-7NGeC@mH1CEx?i2_mq_NIRZ#t28rc$S4v(h(h?E&#*Hb7ye}Op z8XGsILf=YWcbmK}PRZ+5Ncd$Xle2Gl8%`&$+bu|G%0BJ7Qqq$F~8I#e_^el!*O zR`R;X^I){Liycj}g?S~T888He$c8KhfS7{Z4zwt3YysBl)gN>hdM3@2V&Q`BS?X#qzi|J0xiZuaC`qbl0h*iK1{_G6M2h82F;8{gk-8iK!zOIM$#czcl8k81d60V|}J%TJs%uL75xr4U4%wFEgfFw9~G z4(MnAcD0P{{&W5wrWotOv4qT&H4_1`Q|s(Kw13)dSHarJWUbkNdT5+6y4F zkD06GXbdnNxM-)E%q-IOO6)Y`2J9+JRbdU|{Xg*(jN>zk-Y{XiKW`?iQT5xw;GyX# zR5H^$>?SlAaB^$%7UI4Sxoyb+v(x;^)dhZZV?oCKhRo3Bhh*y;hS#@lLK~FF;n}O@ zY7CfS$p_3snO?+gEcy3-tTG9P`d+S&rZKxs;@BXmxJ@?CKy{(kvkBQ2<3eneptxy7j6FB{&r`BiYtuX8(o9XSzl zBzPI%=Xer+75_?~~PzAgBceyTL-RJDiBV@n!6Kd9-^_|SG_BbbmK|ZXe8YBXMDHp zFC0Jo476rxO5YDLHuBtjskKf&7zv}c8aAF!7`L|Y zC4MXVNG;=bc{UAfg> zK64O@wK6*FyicE-=Qm(yr|FUI8-5qz`pej^#*8!E^7G~k6#fWogG`vW4}dMl!-3f< zE~p0!pw9YHvmx!$b*m{ZxSa{{`=AiD)8)S)SL4eZ(5v$7%H-|(nZL07WGZipr1rMO zrn0v=Hi-SQ0yE(oNW(D|9HxB3l!PE1)%gyZCGY2wxyyOeJk=e)-ET2dE1(OcLWOj} z+?G2!{06_inX*B~4YE}RRet_q{G8*L{!Xfuf8vW+o8*_}b9;k2NP;-7f0iI8~A>V#OZ&1BRJ zOW3`5)(S%W;#s4+$)?f037fok_UrAwcQ(drKh#s>%Y3!dE4v0WI2vtvW`>=fi+Qi8=F`&GwOcNrO=MZD2TIO-y{$Kqf>%EjUx0BQ6DxF`o z+Uoi+PwPGUi@WCFJgIm#DCws@=+#dqM5?(;yJ)qB=i!d~net>{rvK)E4t?O17-kL! zn;OH+0gSzPYec&&su4}uMY9NdoVr~#4*YV4f{pB=EY7N3Bp-HB194hP^>}J*p&S5g zp`3RH;TX1z^%Nmx3mrs&?PSK9Ffsyj!fyjNG{w}hG%Nt{s6OFkzm~PUZsZPuy zf%yDw9RGCg#nM6!!Lt<{H6cm7r3B0&;NZMNnrk$ys(IZ}SWLjeA_6geT>*BG;&5m< zhN*93Y-4|!a453AxT|%ZEG*}1xr#=i&gv{L_YgT8kwws7*GDgsDD`w37t=kHyW7Do zAHv5k&sRiN((Emb%AtZ~D~IvZzC5mEmBS5F-|!HqQx}oDdFMGV_dl5ZL(js2OQ`A_ z9+%*n_xK1`HrxBj#gphb@Ak$K7bs#T+!d_wCVf6f>GUlE8aHcSLXS$%0No&{1qCLb_H+!w}X6K`khHEPQM3%L;n|0*viRc5-DQC}!JTPKWn-LdpA)z_|759sF>V z;dVG_4JYy4LB@#eE%oONN1OZZ#IE({Ni9ZiFn6#S67AGK(Fm@_gT-ndF3<*)3$6k- zYZNgovh5G_E!HG=I7#KDH~I>oFmAOsD#c_tf*cK*iM7fNbUWZ4I+Ck5_+>rP5@HPN zHvt<7jKQqZIh$h$BhiDYKeYwQ2Ae%>aOXe#vcw&BkS`TyG`<|}9dwjiTU^h9{3q!Q zY;oTqb4WBiQPPlJNe&vvJZhbZ0dYn+l>)xN3ukrh|c^6|?{tCV_0jK&V2YaBsy!BM#PJEt^(F3iMhcO!ROIq$V|F!hKQmU<#1Fli?(;LN_4r z(pYG25Y&Q#snuw?;Ae0YK58@=E-DYs6R;MMBaJNze=-U`N#W)hS)U6YQdL}%O6*%o zY&r7VAgBce4}%muqR%+EXc)5pZOKq7?oZ4LHFy% zcj(+H#@<91@2&iC+0z%c5hHWW4`kr(Vv*ypWBu~37WPAh?S`{8(V4zX@4Y~yG1Kmb zCP27{NVI6b&!m39q#h9WzG~b(4NZWMc`(H#-My;7cAV98wg3HTO(=mjai{By#bJDdt&}Bh_|*HueTb{oG#w^is#r((o;XU1i9*uuKq$$_L!|zx=AIv zN3Qb&z;%s$Gagd6wuy3Bnh77L9kQMjBk4)pm32^+ z{%Sm5PPx}d?y5arF-V?%+x{`Tsc{C2gdS6q&6%FBkZ`y`ia_%#ocnao;f7fsPKWgPa3Pk7 z**`5Ck0qd;cbZxcmPwIq{d95KNVZ>GLJu~3R|m1kLmKMC{RWNP>S#DwO)LG5j%P!k zG9B~IIOpAIzwGr50GtAcYsq_Qf0t$QH^lZnlQLb&0YJm?%%*dfArZnE_}wsG6BJQ6 zVv55LjKgVR9X~M-n)~e}4wJLZr3-AooL~7jG}$)yAN}~{_wwVH-zQI5AZ`}qJF*VL z?t8FU*=jIh1vlX5IY&m5`Jj#-JhwHsPW#<>`!XLi0WiCkyDCME+$vHTqXU}e#Ma1` zz6y~wrq z%P)%%<96zftzl^KmPs{_OXt0rGx#umx3p+6M7ex~%HmMoD5_kB*Dt%Tf;8{X6SaIC zwDM6ya9?o}9-uJ4EJ)=d1-2UP)*(-0zgJUo3C&ZB`*UhuvwWwW18!eA*&T)YCc4or8iBZ;x&mziykK2qpU%X_3}^s z^zu{0j`Z@AIIDUoU!s>ykzQT_u%Zu|@fo>4Eq6*UeGt*hymto~e97`HLg-}%fY#PN z!9UGK&ip7Jn6`BMvWS+en({fkD3t)`Y{}5^AxqVfw9)G4{UDz%?FN-c0~yo)SC#j7zLS)P2o5OYms5G=0w~S@ z_b+25u&pvSn$?A zSkVXf)pB1YcdCqsfN1NdTFm~l(7 zpmdufXyqD1a9?o{m#H9?&nvLiXxjv%5^?vmP+t_7l#dvXVO9AWQz`jMLb5Sj+s!&# zP22qyLL>Qo8D~{~@+I;c7s>Cd04w?+zw70`PVSWaMoE5g9eLH{Cqmn)BbE*a^uS8h zk#FEd2nvkrh(NB6d`*FzB;v=_k*^C-c3*K6%TtibwF(?#q^fnqQY{j6^`u1{ zgJ)ZHLojO9zpcsJNn9k~%;MIYSXk^9?nr^ffvpwMuJ+F^C6`dO)xA}yV+=L!p9OLnb+ZCt zPQUce36Bnv>Yr~BV%dHBvny!jyN2MtX?6v1?2e7ujrwO}w`{zm`sdvda-xm9NORt@ zf0i%?=;iCF^4UiJtfaQ3mqxRym&R*KFQr*dFRQtT^wKg^)ypGjG2iH?mv<05(#zX% zR`pUo^isA*OKA%1NiXjLSh>@lk@w32gnD5#lg)OTRDK|6 zS>J$ZsNC#(Tr^sQ2gL+MDoMY5~OH#eenV#{V3BhVNJ>cz6C zo2{{>T~rt0?S|!JXNqUa@F-4Ue7BkR)1HN8+l>*?2sk6f(e#GWo?N)joPl_mr6C|0 zle=;oAAhW6xOG(aX`5bh`HymLI{DgG*^E;Wb_+-<7e8p1+B8%AcE1`R?}Pl)%nFflrewW0CF}hWq zwL(wnthCPQtc6(lMmlRnU8}Qfv#9AW?<01kvp>RF)mixxojm~dq_g(}to)cyT4$#b zh|Ui6ULr&603pAMoa!T`Lf7(dCW|1_TcgcZRM{f9z|kn zssc@KA8^?EN$KrR1ug6A^!6YZO;}EEA2bAgXYJy`-nG)mX4#GvYQ?!5_+J(nQMgTmj!aY+%FX9qOf^Z z;Bq7F(_;dc-B&!OyI=<6dvEgfRe_)N0LRHCn?gRCu8vLkk(GynSEb>kv|DLF11W`XXOP!w&za zX#B~-U$XDZe52a|s{BIZ6$||{Uq|Dreti7J!e6!TU-<@xkm4gw?{(h}#%9C$2>Tl5 z3F-o#n$FwtNp^A))z12chXM5MfUWNi*dFc*r!Uc!HJOX&wrb(uM0BC=eoq_yX z;m?xtP~i>0mUng^Dh|6K^;4E7e3Xn-{)H>L%M)EN^r|ix9$OE=DJ>wejnW^jlNqrp ze4zeIC$&agXFB;GC08@g_-`QbY^u56D}b9)t@@LBRW+nrMdaH|vc|d_%T@Ewni*xc z5Z~%7u0#;?;Ts>CP_5-d)37lg=1%cZ_1EyBN!J=a{&CcIZr<_4-#z>MPEQ_n|Jn!6 zo?Ey1rQh6n)7F1~;b(gTX|r>4FaofBdGF(WCzSgN}dxXX!(q*?iCL`Mob0_vU_^e*cpv zH!QsN;GQkty!=bwyLZk3cfaSNJ+8d%rd1CfbkTl?zscO)gZIC3hm534`M2t%b)}xd z>S-qyN?~ttS)r7;PAqhE7K&5aR+pBA#Z_HPr?f386iZ!U_d)wl+eiORX*;ZURZnlR za8P%lx2M>#YD(Mjy-QbhEjy~PZgF^Sq5Ghv2OijQz_J5o>^p0}{R{idoVDA)#Cp4X zx>gtB)K4n(Xx2!VW$Ewu`G@QOx+A+coO<7=k6gdw!iy(ebrk%!;D>ptG~`|ePD`QZ0` zc+tFJ|8v`si}E)t8r|7<>@9!T_qZD`S$EP`?>OU>>n4mp?eblwoPNWqQ%+y|m7kuu zeA&B~&ivv}R=$4k;`0u=t9;&}&mY+Pshgi%w|K&97qaQbJC%PQ;osl*_bm$NZ;hTe z93vQA^uEOJ9mr)U>sy-6W`m)(w#oK0c+Y~r5Zs$E@7eS1v9{_x%fDX!?MK|t@Q)tM z+l}zAf!CbpEk;E9tcC;p{e^!kadY%V?~i+XL$?$9AK~8^@HsE+9mv0%z`K&LOTjr6 z_c_2;LH7jwe+165p0^{sEGFH(2=5~woBQE|) zFtdjL#EdfA>D>ron>bk;NwgEGgm8Q=0$c^G#D5&=^L8H`=}4&baD((Zs204%AkICS zWV^ld5W0RlNNSyToCO#0IZ14b9jV=vn7}bcdnN32Zj=Ah(4Ao05thJ%vf698D}y{v zR9AaT`4-7)mt|0luJB$XctSeSg#;c?+@+>#%e);?)*u$o5uAsWnnPfXz4VO1A{-Z02o+?t%+t;9I-*XG z`wmx(3$2%4g_KtFPkO2fP}?!zLbNIUqje(%RX-`s0@LNyNw@S85%!T56sXqfr&O_2 z4(Z0dzoc5(C)}<`B?_*#(^TuQ#)`69)kbri=g`5?t2t1fIui{XjLg1}nepF|i6!xw zZF5lVJ|v>!Q8RVLtI3+PUD66LVFWvr2InAMb_LMhF*usjmy?jOYFZc4u1$YnnpY^z zB?w2>mm;``Qo9AXyJ&?axQ9U7$DwtBD6=Bg&f1PX&FEGl)%6?`E<3laXWg1Y+scko zTgR#*qm*@ROACeWwyy53p018nUF!>-ZA;g+bu42vQ|jto(bm;dYCCS}IfZ3CZEK3* znnJN>-L$s(ot+le-BTzo?*O%Jb#JK$N^PBCcY)vKVX@HGv$CUST3y?cj#a&dwq+gN z-Jzj$bhi~&ujyIWR_ZB2Wm?_thXD$^SCMRIC!8cidqQXw+E&B%w7SV)?b*{-D)h7! z3yhq)+twOkl4@HUc6GL`F7&JnJKM_pRHoIg=x4V;!ButZlq&=kDqPmlQ)nwdLNVa3r>A4t$~Ih`1#_kIamo=FtSPD_pi0Kzb#1t6E%NSY zTi#WGq${W?ZRfA-f=HKRq}01+O<3$HbWUqKxm1YDt&3<~NQFY5R<~fW)BpiXxJl_z z4pnK0H?p}DId)L`c)P>ysii{4D)O~#6#|^rR(Fq2u_*JDNwJGu!I_afzpH0uN?M^) zAyYnO1d(<1?CIFGGVbU?ZsI9ip2$yWc66^3NNR|7prm1U$EqrqrD?aZKben9mD>%C~I*IsHO-{%8{f_PM8m{@)n27I##U`ccotH8O2n0 zYu#eNh4XqlR+ZX|D6sfx!r3y!g`&8=M zj$U}|332_~6Ud&X>PduYbr+=cm@M>A+S1`z4(N=lyftdPwyW5KK-z+EZJ}7~>g-s$ z%1S`;kY+@hxqaStKE{|?6UhQg^rYiuIM)g6>S>|QZd z<=ELqCe#j!omF9nnkuVJvxnuaiDCk#cTI3X+d&7nU7)mrz4n?jEMGTW`mTx_Np*Qg zmuiqz5UVOn3oAR;c9A2ekmc!>x`{3+(5%QrL9!}IX@pg`b1j0DE*7S8T6Y}ZVfh3p zm3*pwqU~u@-RWr~%{I*?m8P^U?d@q(i&ox00$D|=JN~~T7*boRw7O{+ifyPP4c_WP zr=xi6+oiZV6o>o06^9G|D|)pI_RH+jw?%4cq33+{of4kvXToAzaKr`6R`r(XC-$le z;s10R3%lPkjkhP_!UeSNGz@R81ZTW0xs+DA-p&dg)s{hkn3Ce(rby<$E%Mtfxw-Rc zS*zM!qW)OBS?%VGA)21BNXNQH%_-eHRz>fcX?1%>mX0d6wfAw?z6?`|{#2&XG2waB z>h?X3T2e@wN7sQCWRR$Hr;;iGBhur{lxcOr@sast7K)mhq$!G6T2bi1^uc1ql^B`b?ykl*)P4_t1wRJoXw!L zQpPL@mvx!20%zJ3I`>K>f*cd$hn_7V=lW3OdSYSue<|0c3#(0QH=U`qk&%Vi5!r}Q z?^$$qsrA&`Rs-~fc5zKHT-(*D&YMnR?)(>~DE2?3uQ( zG)@SH=HgFZEW=QuOVaFGy=E1L8#Z(itEsCI;a{BM;3Zgw!;9_w!QaOMv16QBWubYqoG$VTp>*dE2M_bVb~2zJC>ar z$Uczc@WQIX3M!}>C*!wg*R4EG_F_Mkk{)1ACdM6dccQ0bSG`XulC{2(M7L$7nN;iE zol>~OKC}XjsrKU{E{y8HM^?TSY1A86$9hg9x6QzQ*h@zuHrl&%{f-Ezu#*vmjSE@H zb8SSiu&h8I-?pZs*g?$zKCNzg)!rO195ef$jP$rhLwwl)c*dZKJJV0e(;4-2Eo)oG z7#j_ad0_FJpR|$-f-#IcdlJ=>v5g8 zefKvbM{W4`PFF7Y+SHFd{Lqs6rdhi`@W(ffen-bEueaaXb<18mZ@FsTv!m{4{{6L& zG#~u2cO3mj_FX@Ev+InpdoO+0jPKt$q-W|QpZ)fqzI}Svp_iQZ==FEbS-9rg_fL6X z`jQbF7u@*bqI)+F-)q(nyd$3NIOOGj`qv$D+N13kZyNdUsh>Zf9$&zsiq&pySv#?|AI4p56AUEd1r|FMj9wQ|5l~m?vlbvv~clzk1=zllGkQ zx37*o>}$)v`r{`Wo_g0)-uP$N%wK-{rI)<__SG*QHudktH~c-9Tyg9#o_y}~7FIWA9U379ZL`W<*hqi_^X3udSK4w1{_@LTxOczx$L%=sH^2HJQ~lndCoMWus-!<=DZRB?B%i*| ztm!iZsb}KL^Db+s^L9JQW{gULdX077eJfd;J^3W>zBP5;*5`2_x++{s(0!-*9>*@c z-HtqY;oC`JMMjHjQx#Y;550e{Zt382&N^%H@f}5PE^WZ-Qpy_E?sXfW?BR!5*5s|WHH&+kE&jP=Oiv4!)ixjqp@&Fy%xNDf=s(Y*q`YXOB$ zPtBJnQP`x6w;W-0+Z5xGZsNoZtPPF6trl2FOc$@KsZS zP3uMgu0U81s7?sQAo{6g=PvB-EL=b+GGDb086RdtCljC-G2+cV zM)Ru!SV@;#$y?gnwMqrYut-(mSh`p*EOw!b9jmJ5g4eUM7@pr<)pN|*-ZheiY#lG| zxh+9DX!PeeY*~}x5t@Uoy5<*Glos@MFRO)6xjR;uJQUVCZ4qWNmv~{X)3%Z~cL6gx z$1o7;STTt37nYW&!|jsn2ILskTgz^r&Vd0=rUT&%m^_jw1`j#9t9y`;#f4JOw&*1p z8c0xOHURpz)MeS*(`BmOJ330PMY5VZAT`Y0-U5~1>sXF? zQ&^LDjxKbs=vhgnS+|T$R|C?;NV{O&0;Wa6;yN#$4NzkjFDjrcZcV{67SB2>X&$lV zyyF-h6yKfJh1Hmj{~vqr^IZ3J<%wOkTJ2VA6h(3vr{h?nqj+SEEm$BW zOR`~kKoX>0nj~lfl-$+jpdWz;@HK(=;P(YcqTN%WdMcGlRc0}j$|}h!sY=Zvt0aq5 zDm9B)rDm077FlGU{15qj&gYza@An5lP*zW>Qn5_D@Av+`=bU?f-E;4EgNtkvE_pn0 z|0IR`Fdc!|wN{KTg4VNTd<(wL2CE0_X|h8AHVKo1bCvWbza;3`7l{d;E+4eHk7v$d zF=_Z?0UeQ5I^cSqEUIOBu1TGf=lwLn*x8|18VgrFag2!o*hb{Xd=3c!Hq$`N$-4?9 z93M7FQ()fh@hm@k++E714pL}ygAwK6fD zXIlY{c%FN>P!6tQvb!7b=Z=pOE$ehNKi}v+JYO+rGLxs1?PDr0>m=N?1ro6RAFN3b z#P0N|i*9Z~4ifFkjmeOlS-DAFtOtchlasW9_{*V;yXtSgzhjIl%_dLuaDN76X}UL? z?A$z_f}stM!^-yBU7?OOrY(MFew4Re`U*s-Vqk>u(bLX^%rVFhH;GMJZ1(l?nh6b6 zVz~n3bVib=Umkc|aRJ?{x!Hl0F7zkd;({JNeieX`XuN*Tcb(}&BNsM@gW%11Pcg>*C&Tuv$Ji0Czq~auPWgF zLd&&>P(kYa2E82|g5B&4WYND$_bZt*wabld_~IxZ#43Tb&4<%IT2?l+7uVc|0z170 z&+0xW(3?3FyqS%qPoT^KiLsx)_&*mXzI?t#`N{c;A$adR+WhYMiYX5)kDc7_`?6=P&j*X}j?s!CS#%TeC@KxhuUFKMWk8KByv+94px_=nVs-U~%Xd3E2ITn|0Y{keUZX1;sn; z6DnOFAC1MIpm5S#)oYoGB_k>(1KtbowO?obV0v_Sz7HSE;t*2lpjX0JshlDpv25;8 zCzFZq@iCYb!mjeXxgMTQCp${Ew-fEECXAoHr{P7h@o0L87z@o*mP`Vo6xq%js5XnGyx}z5;-ilukOWuSW-#YJ>2lp zd=aF~l2}2KEzq^L8kqlJ(1@%v*VgUvp}7H*N42;^B~fz#S9p5zg~DDy6Nl#eFsrU; zPzgth&;`MKVoo(v(AUk$N3W0ue2r?}fuUw|eswzA*+kfHI7PO{GjXd;YugsQIRjCL z9weJ>iMA@PtOblb9<>jbs791)Sn$+`Y^_8Fkn9Up62o6;9|*bYhipft z7wBYX5}=T*;3T7ANOZ3b8RSn;mE|4Qie9CK>+9%lWIZ-FJL4kv3*~Gd80`{kFyp6t z4`pN;fQ{ZnbupT01GfnF$e;ky`)HPQX>4J9$Ld-)QOozA=??*UBBYW26f4$XxvCX= zt?&*;*QAZf{w}Ojcdc6yM5xglVpegILAWZ4Jh5eu)i;CYg^h9wmdFAx+kWKiQLYMW zj5G!K3t_+!&?fxAja_J@M@3q0wx+F_a|u^O8Cwnc!ne))F6==^o;O!dtSRsx_{pY6 zqwsj!nk-{64eja4u#;2Gthh8ZCq`oVq4c;7x8e=TJ|Lwb48nN(cJD=nY-zVEPm;K|(^0LCH3rmTX$A(ujQ20jg7V2S8x5fQnk2!5q^nC*+LocK6BxF9#mnHOppsnCq0>rAGH!x z=C;+NYGx&>*CQ;_pg~N+rl?-{2=FwB(YpKaq=AQRKU(%#Ry>j>6~u_koDkJTOjO`C z2pMNz`FuX_JCRqgfZ$Fa+HMK?1OG;rJBFDa*%-A4oN`%06RvsD4Ae%TpY9S+KD?t+1_Mf~>8&*fIC2eZ|bd|=j|GXs7ijP}%u9L& zN7^>m)r?jc%nOV2G2Vm4N{O+$t(YgczQL|6@Nc2Val_wL9qss>yPK|B+?t!r7y?W4JM~Y!3W2CX`lWlDG8|JZ6_W9n8<{y8Z=*3!a<4s9T<*z@W!QL zCW6+kZJojUh_FMyJhv>;`gw8s(==F1U+#4V;ED z&Xr)$C$sGh_<^jpNpBv&NDQe4GfD{J*=Y7@)WP}4b2e}i8T*@VZAtEW{6O{Y6!lq2 zDiH)F?P<1ctAZtwR9G@@oU%pFtqzcCi$&Pjq5Ya}VEj?Gplz^(o}(QCtUt-w%1Akv z>T&s;4!|qt+#|cPoD|%&YE+O`KD)fN6QJLG{7Bm(ZWKR z!3S`4vi4XJ!#mUtXY->v1wMtz4i*JeQtdHfV78e0PK*U2G$wxr)fZYK{=Wwen6_Tt zv^F!u_6g9Mjjj_kcki7Vt#<*CZ4O z++9Qo9#}|v^Zd=aG;-ND?J}S)UrsYJTTR_T?kEj>AF!c4eUucQ?t4k~+m{}At<^$}|AX~9D{j`x>4?;qg( zTsGh`@&;l=YfyB9bhG?f$hj`s39=jW4f+tjBJ z@Yk%;R|Zvp_x4r7t&uW89iXVq$SE=DuqU0_>C=;1lOTBuWhcd z3y&wd$72wUbH_%SH+GJ2jPDS)2~6SbxSJ7WuaX+9uWaf3344UIW*@>xGT8=UqSmDh z24lR_Usu}ipFP;x`T)bX@vrZSF`sZsC`X~Sl^w}V{lXj$g{l`hYI$LfYl=b*b6W{$ zz4gu-MJe_tCf3RVTdCib4{1Y{0~-2w z#s_muj-5EvR*4yizg>7!kJ9R5vH|jQuq&Mqb5tv#1e<9W9-u+Ai7C-aU=4{Py%!PZ zA`vyre}FCx+?AGKjbTuQ=!sN+JE;mHwFa#jfur3hi0v@$F_<5yuI74YJ`0Dmr=w*j;_Gu;4r$e9C5@qREZM>xeU8vek%p=?OBl7SHc~Xn z7;LZ$L?$DK)zd53S;kK@X<%7G`a+-652?j5De79$476DM1%OqrP*|{VO3h#K{Hwp) zvw^4NH(I`Mr8DNhmbTf&0G!?s2*L)m#R&dk`bzsXaFfJUye++;qylManOUq)ZeFiz z3Pa{Ls~0Gc@q}A;Mk!vnM^y?7{!m;ItHN_LUP{T_AfTS9o*cXNORpg+6GOFz+v5(A zu|Tzn?MQio^Q-q`o$Q+HfRFcIrfgw{&jP$Zts`B^1VQ3i|&G98aSYcxl zdIH_TkPqqws>omB6~vm|$!wuYxAj}6k+O#hiw=?Lq9tTZfHB@HL~D|ZERHn&DCm&6 z0|&?&&VnK;Wi$f>VTnfx4r>I~<KRdOxL72ag3W+Z#{ zLV4|sHpR5_YATBy2Un|$KFC_xzAmB#?uN&+dN=ZpBvx%DWO7|a7~H|Zctdei6S<8F zc&qgoZLPyAG^Uba0^C#zXGc+@z)^gO5xj6DPn*O2@rkKkq}n1-_%^~g3b$ZN6@hFd zUB6omg&9jG`mRv z)9Eh&lr3=D2I7x*;H@-69P%6<#f^!(K|nn4$|1^@KNyccq3v{yd*>M>4Qd5r&+#58 zc6^ux=a&z`-K2EDZ_q8QQCp4N`{q2a{<74t{G&-Dg;5i)z+^m*xRnTdi|qRFSH}pw z#-W%oLMzAn^xMR+7H_@+H_JXAcYa@4VFRqzgWcx=-wt9z(Q zyK~f(vd|YZjaSdaZuN?a9OaswvxtaQ%m)T{1xR5HL%DMdRos8q7uxd1D|pNL?mfD= zO2~FAxx{ay@2lKfwRl`po5L70PMXzaqhL4*5je-CAdY20#t|Ja)p31cK;WhT%jLU{hSQ@Y| z3(&Pp@BQ0oF<6a@?GOe(FMjQ>KtIsnsp}cD} z4U29YxM6ZIJ|9yI?=c?ljh}!>7^-htQ@oW)aR9tp7ZLnp2K{iN5y8(%#xv7>*Q4-- z9pTyc(LfwCbFo@1g;hYvE!0@h73iCeBQ+0|9)qe-h-LK!ZkSST2}7a36j`0xB_Bk3 z1N%6tXL!Cd-z_N$T|ps_{{>^0BRh#V-GE{;MBs0w1%{&0YmP<4_|DD> zBah8WDS~k04PZ7XwE*5|SK}xN1I&hSpww!+OW0k&by9eVnRaJxB!V7n39cU9;!QNx z^l+A`34=AML=0EV>cv34tGd3WaF5f=6vi`9W=+?p3=Ke@?}0kiT#Wv$vJB;rd_b3} zEUXO{SX404Z0Pc4epvO8TQ{+1QBz)|*Z7Py6wIywc2uQj??Ii8!M55qQM?1QB;WcW zX3sjXfu29;YL#V1$;t*5m)!ZifYY)GA!(we#5{XS3?@+yzZ7A)95>5nPUf8^EX#!( z<)TViRkC<=nqy$vD?f6zFHRA`6sve2JGnYPs09>Y_Dr5zu>0Byyt+BomEVPMzEV}^ zxqTNArg4#VRbZ*^fv9F&r2=5u-1bJ=)gdqA+A!Z4BCK7C64=gPyzNnA!X9wYT?i5j zbfMFgiqpq8W2e46g#^yPLm5q=0!UU`qQg*i9NEs(yqK`zMAS+{+a#D)nnTOeC=sIO z9HM~mrY%?ogT(GT{tXeipWfz2z%00f&)g{`|^9^Wwp+m*5 z5hgb|1k4efiH+al2(`yp3zS_%V#V8aL{!^b5Cs}0-g;X6Y3YvBQa&eueTCVF=D>mT z8`|=%@<@{U5;Jo3sG1{F;OImOXUaEdNYxv*o$%J4JxjT%<%jw9fOP15*xPw8U zn_zH4bHW>7+0#rAH)*Z2s=7l;s0V`eiZ#w>+@!D)1>uP%6y)s4XAzrzQU>eMiG=bs z+^vUGzzWWnjWI$n3AgnbUMh4_{PLO|d&LG><930)TRUEpTV?EZWP4`wLwqK}%4nZK zjcp(d1zv_3gUv0I3APOjkZ|`6OuL*viY@R_a}&E!jAb^rcE5o3wIamH-iqjRS9oxk z*p0I=t{J0amU;~?je1Ge%6zfZ?#g%eexJ6=K)->;3L^zes9pfwU_eD5y8|BsPlg!Q z@(U4FrTgOxjt!{vz(?|MBK8Fvh|!`p*d-f@lrsJdIg>|5dSNGJ38gRt=IM#Ev%|GE zX+1HGLu4ub`g;Wgq*iaaaSesl^hDmreOBKR#Gv84!Jd`B8w+(JwFOjvZ_00B2=w(t2d7!_N+uwqG$$RcW(T_aehr#+J(4*Tm$8Fo~ZwCXG&f z$H6>W*!6;mfwOeZXmCgjf~SFh7DiOXK*|y&KaECL5om8ANt|=+f^Y)y%ybI5I4o?l zYbCG*S2X;v)xlsZH;^3d<#r5nyr+YKewLbFSoW@;59Tu>1EGR&Th96%&v@d^o}o-| ziyd^9ouZH}a>*!9!i~coMk{BMRfDRG zPl8|)JOho+$N7+CO1GG9Heul|rW%o~2nTM)lI*eOH>1vI!7q>P)h6T7vgk5`} zp$N=%QST|Nrc{M z2^K&He8Sjtu+eHGFgwY0(#Ck#0tmvuW22E~)mCwIb++S1VXoQ2L%8*D4a|Z;D;=a6 z;k0y>3S`Vg%prR1LW4PSuUB^t7%QmX_dvfLzF56lZpM#QE`8e?y#d>c7a@_w#4~G! z`4wSvPz^A%Jrz7PlQji{R{2hnwco#6fyspyIH2;zyuuzJgqYn*U z8G>sM=*Tj|Wlw(3YdEL|@&|WMHmK9RPQvI3Au0Wmy+n2?1;<+QM^k?2GJ1sX0nPwD zd%`t!)cUeo2dLow6mmMkyKFHdq4mxuLb0Nt0Ij#ULG6NosT0xOuFeeBf{16i%>yPJaIjfZwHPwM;FW5?(+b!wU z)Z!b9@ty_fNk``4CHnjLmM8CT+2_JcMbz=hEIGSiB4{MpTW;C&qG@|AZTo9(+}_o? zJzDdObT|h0%00-K(bX9_QOELdtY{3*3 zDVUgQogjisGq@1%5suyDX7%na7Oc0DgO_YQ`(A(d{R@8khA{$xa`=zAo3H`91tDHM z1cFu|%4lhqroloN)N@K-de7W}vw_m&dmeO32S{(W9@lnvxp(onZVBE4sHfNG+pw<@ z%1T&%`4DEApoocD;7gT+ChyOt2uN}u;Qd#07UL=b8*2FVo;#V0rwe`j{I>C zkKnIfh8g9Jc`+R3#52>o_rqA5y+n-b&iL^ZSJ>$w1<3&pB_`v^1OTa5uy#;8U661T z0%H`+uvJv!p>bPdoU*mS$@*>yo8;>!rVHoXPwjXy2*N-B=7SxGJxrl&i};yfChF0; z;A?Lq2i*cd+Y9VM0rZGlwx;yhYp_?iS3+wgszXuJ;WdW3QS2%sZbtB9%-0yo8+(h+ z+~|2_RUZ>JRBfJRgSvL)B$YzM5I<``$36yHO}siSZLK(X+@b9&5|<(fl)i%_=;BN; z!*EC~{y1DK)Hm{mZ0$vhc>`U+0{IpF=@d1Ft0|P-qg==#Akf1Xi94(<-f#y;6uCvj zZQ_7lsgB|i;%K;sLhj|Y;XEaWL!kpjzxr#iCjz@*A`YjO3N!k*~@#3YizL!kpbm76KB zH&Y>1dj?*51r?(;q5}tu)whDNxY7G(xS(jVuH}XIp#B|Pgz^yfmiet04A2IvwhMGB;2ui}er4!7vlR8oVab?L7~sjQG2Rq-oD_TB_R;oFnZE_Ox152Qt-0!=`b z0Lopduy^b`7nx%C3USnKd(Y?ybx`oWud4-*P z#Z{q;&AErvh>ZvxneQ3Z0Yc^Cu&eVOggqi^02}YNIPCZ`C)244yG8e9?Vn^8Q5^$w zymKIIf8fR}va(aMwA}n^Ekl3vEngdMiS}z77*{|T#rGP6}bR7I7vsHJc3^Nai*aHRT=|Jt5#~8pEH5lzk6);6Q)Ga$+ZVIDQ zhcPw`NK>lFJ3yUlqOkb-W?i8QgsM4NWS52A1<=ayU9{DnU_Ze=u9g^q>?j%B1PZQ z{veyd|4o7xG$$RlKxj?7uo1GI!x%^>;Sbz*SToe1)sU@rnMhqgL6i{sSnqkj&`atO zGg3|$KL%b~N+FNj*!68^3d!>n^3j5g@@o9&wwa5QW_6P3hL5b$pkz-BW&jVZf}#~8 zeQoZv*#w{hy%f3;#Y*AOFqh)GDoD4AmCL%~HK93?N|x`R!z+N#;qr_~lPlq}lOxpv zBf2_?(r#mcJ|)lB`6Yo&k20RyNp&13!bCAqxGkFXDrOqDJHf3N>7_9ymp9uVFRwvP zc5NfY%ITc%LrM`VZ+E{KryWRQpfHz2=de-8LDx5HiWQRBahqFww%JnB$bP`EyGc-vJp%Hn{-Ca%cpPqHEStqI zUmS`oV*=!fLYw)Pc*eLs4s}NzImD#5R&!_LUl1%NY2h7 zT|Gg<8Ko+g>`nC=YOM&ZF(3w?9GLlmt}?I=)f)VW5Mj-7%_Rl0HL#eQ@VZ^`$@>p+ zdJk*@TtSD-h(SaI*|{JoF>I?QQWC=p!#^to8Y5}l6M#uYR(fY!;wGCNIp6wWudQcI2VGdv7Rwd{z z#vNGHt#z6NCKc;edK?Z?ir4~?PVJS1mHjv0(0YKeyr-m|O2lBZQ9 z*6nskFx;${8V|4K4qz$QY$hJVkEQk2$7q)aH*xL#!mc?1smJ5x7$y!Lmg{MXHkCG> zOmU{%xZ%K^yH-1ED++R`UI}9&5IT@b?(p_triy*whHv7@L}ZlX#N-B>FFoYQ+{`DIzEvo$&anG?zOZ3cM| z26xU0_?kbF*((!(10dD7Ul_9i7d0;ozjXzm(5z7ufQ)gjvT^=yR)rAw`z+n&`urvd z7wrC%XAd+is9|j0ra4B$Ztby0KDrPk6B_s`4>x3WE*|P4Cpw?Z)!SQ{DeFfhTqw2%eZ=FE}T6+Q#MxK za4RvQU$YPpEvj|HPRk(^Y!SeLvZPX_>dKkf1h@`W!Rg6OaU&o++ZMJ{Q_Tw7j1icM z1%wPf+NudXGZxOk`6|aGZeY-gg8y$NJ|T*W7wkyLi&q2I;DUYOdLo4vuSXQ}n7JQK z;n{P*0AY)EQMP}_1-on|gX=D+#P0&DQf$2{dPjxQU3d!ImC4R-+m+ge7JICgDw|<$ zmQ^7XEYjgP61l*UV^AtpX3D(s+n9nq7_8u&u)FHW4Z_1} zUTjbRo0w_BhRnk0yJADx#PdwgLvGM8;X*RKYQB zRy(;nSsd^2%8LGS4c?F)`0oEa?Kx-4cRS(x0v7vnxwoT;@1kK2Jg!@_?iHIWJ zh6a_3w&9YKOC8w1L^W=5IhwRm>D`VkQ*st?z$5UObJ4+*kjHF;^KH&vIz%Jv za!l1FBA#r75eWeBukjG8)99+-mQ7+p0E1eF)V7cN*s1P*IpxD*V)jSt4Ogp$ev z6tYAf8q8|7EnHR3yQk9K z`60w#^ALoB3)cZHo+jHfNLk9-j1Yy@g-h96xlD*mUfbTvWI|-xR&*=ZQX<=~e{W@5 zN-JBt*&3B{d0TuG@ukm;-#rS1C2!*E>*M;~N+v?12Z8}cI_S9BUlOq}cnN6n>fD;{ zPU!y#2(zf}m?uH%3H@O|m4`h{T;1T;pm~}W=T&r}s*1sVgs|wDl^HdP^b`)@5x}+8 z<3kNxrSYmF_DYTUkmp}?Igc^B%>@*&n;;@4Qv=~r;P`UzQkE|@10cOrd;;H+#F9js zh9cL&sM$ngmcs_MocW~VYf!RE>^O9;0VS|HPRpp*>P){H#OFld&$>Ito%YBEW5q@L zTy{`vg~@vpTt&+$QB}9eBuH_-4ws!l;yu25^5d*sO26Lt-adQraVwDX! z9MF_zu)XCn)~HmS&^LUI@J@aXlSiptNh^K>%UOMZON;PjduxM5b?v|9eU3G450(l0 z3VSMcC;#pg(AXHm)WoSQ+)Cz<5g5$bfceyrC{t%~j%AG(gVSr^SN`1PCjg9<@__?k z?=u?4d|AyO4Pcq_#=K4cZ~$}Snd$fSAps`)BU7)>`2i^F${)S#!hq_f^}-zPjX#+$ zbY?8Sh$iVUV;Lwqm~H-C0h3@oX_K|i7$C=N0+lGn6)z^C{$qcWXoXeeZXP;#zKQlA z3%`+e&S5^CcZ%R2HzOYXo0uZ;!N|&QWS%6DZ>%wn42Z-!IDxfw0OUp_IWPaUeUJM5 z|Jjtm#*9mz-CXG-nky-#SB%QqqRAKK1_|=BrRPylX+9b%DPOC@SORB4t@QDY_4*=y zg)hvNml1ZGdMiO82dejywhowAYR8_2gl%)|_EK=)4|g5#4RSi35zbs*a5BhVFl5Wb-H-N;KYYK8X!F)P z0?k|RIBC>+$7xl2hoi74Vb&7P$)1vfP}Wm&Vs!o1w$G&83Zt8!b##<7$SN)?g5P-s z^@x~jei_a{t*SJ?6M)Mny%6*x-h4x~8kdpyB{+TVRM)S&!Y7;aZM=k>kVlD6jeIyo zXbM}B);DbPFuIK@5YrAI*Ckrn@UiRiShf!$C@;XccDk$?;k$08+mWzYmuPi_wqXmD zS(MvWnHJ>cv~$8VY*;K*5x=d7d06~tGr(u^hsi)9lI#0RnEENNKjrlh`k{`_y5 zrb}|Fj@~iNR-m7_<2#1VGUi(0JJ&AW>09Hg(QQ}5z^M>TM@qHAf zMC;3#N*v7!xZ5BByrJ}E^e~u?t_IUV!P(V;ulSwgPAB;I>m%0HF***62z;@_e`mKx zYW^nM0|WU++xyUTh7mu^2d-&Lsj-bcdyeCErb#gKHoq|8ddKbY)BFsk%`%PcF~%W1 z!c$8QXSeF(VE{6gS|<^ZLSjBQ)p^yr&bgp7nY&CeynPz-wCJHl*A3wb85`iM-4V%j1uE5uvEEBj zqr=ipt#Q#c3`N_!V2>7dLqC)bKVWzsH;6p%4;SXcp;PV%L?~DO5Cilcp6#9C8u@(- zlwx-Zl7r=A@IXTudNPIbtL0-f9vx`sqHqP)gGT!{Y|FQYZHlXQ+Bf%oYckt|J94!t z-`Zh~Ta#UR%I?`GztxBXHU?C^R#0Zqb@-SOm7rJ&DoqwNAt>5F^JX1C8DZ(8-OU9q zTCk3G5rK^BG5HMpzd~4^vp@hCR?&(n3qm$ZJMT;ya`N)ovXp(* z0|b!$u1Lhy0XU;>bc$2eaJ$+{SYH4EV;(qW5hN46caH5#c%EVo$UV#w{zRJ!i`qk} zZ0=h|>p^yqnz01*=?I}ul;isqn+Qbn33_mL?xDV&r^A5pK^5H$K~*0R;ebXn_@eSP zp_XJD66WE@5UR@~FhG(uq8+_!+cb<}V2=@COP87M`68L#$Dix?^* zCiYJdB%E_OA(v~_H`v-&z}rU;Gu0dW5p^Bm0~ZagUT-VyKmqnX z$Wd_AVHY>QKC#aWS{NvMF-X*l31F&Tagvs|yjk#=U2~GJ{>#CP7QaGnx{aVo8@QSv zOXJ?ic!u`)VpLf_>;CF>|42nC2()@JJlSPUS5FcG;t(UiaKO8h2{sny2M_oy99mst zd^68U&!_FJyuDJSL;=qx4gL83aj^$gS}Me5Cr;j?!-JY;TP|L?)&EW1I%{(#u|AIbB8A zA6Wa=25|9U{&b7DxVpgW?eXGK)z}zGB$)Ywzw$OVyp0Wl0jw5v!m-nweN#*bRh;KwOV?5_f92tkBh<3?ev2R8Y`1 zmxCPVz7=b0M|@h>k$4mWCbbKc@w})#0$wcYY$~r5Z;Rl`^N~m^{1GkUIuRSAk1aF) zyz^=)0D{SDi&#L688@j79=YiT{j`z7w@r&=;{2b86d9zdO;RSJ28V5$yUYS1`1pC|GU~d4Qo?xKcvGiQ(U5@HRV=&RqZ$5kJ@X0F%vDJZ-h_#f+|>m_sJN`v zNOf8V4BC$Fmg5!U*mGT|`qW7@(!Mgr3*-AOF=>NInJ$iFundWd*8m*r zBrB6Dj@ix-Yo}Y;s#c4|def&R7#q@nRYUSc1H?cMP4~YgEn|k+96B;6H~gu-ya$M*_+Xy zBoC+*0_YR_x%Z)d_=ZtzjVOfd;c`5%gr!6otHYFgk#aw3-H%%LKeQpr@t^0;vBhUo zB&Q+Vd8rXDKSY*pF2MOkJDysygqzZe-nC$CUYm1(4hK_+EK`czD|@`Kz$L)#u_ip@ zC%bO#aAj&z&=?^(B|mLSc*jWCs+~xbBEVTuF}UKtkgm`e_wX08;(%(W1hw7YwY@*a zrAVd;+9Py9ll&-cy2HkiGzh+ok>x+86Wk^s?I}O7Z%bk4_8^o&gZL;?ei{!S#{)6L zvH6b;(R30dKnr2NM|N8Z_|$l@fbprtUykO;HzM%zOMn=@QNeONT#g5LpOp29KY&1# z0s^@{IiQIvl(Dtqu2vj#clor$%&6fPd9U((jUhKUn@LXKi7UgJ&aMk+B#6ptKxPWs zfviUKkSPyDY>rj778=kCbQEr|Tk|x@PTE}4gJh%>Am9c;M+kso@YbQJoKT(+kkj2QlJs_|yZv6mue);Pv?pnepLlC>jf;y*! zDMh559!-#t5*1Wiq6`Csg$V(bA^G|VCe$5`}7e4j{IsMI>NCi+I>yJ@b_;Zf$M}tZN9tcd{%ut zEgd4tBf)m!F6-oRLQ83?cmL`vkNn4{tdd6NEaqv#hh`w@wxz!>G&SpH^7JslsE1tN zONBQr(s6o#Z_~&txt$KvL7Fe7@Je7K2to}$FFTm5X{OoasZ~z1aT2plM|0Ums{-is zahhQ_#=6whHHPA1ObzZbC?X*SW9oT2Zh(mDw(AM9fiAcWAlnigA@O<8BgmD_xqW`_ zzHMG*G>@quEdkHFL)rN2poOl}>zpr4Uu_Dm@jU7DD z(PWbYc4C&eoC2dI%xl8EXC}XsYW@X1L(S<22vTSQ1QU-8-4Z;bIA< z?FH{cb-6qPf0f4pXNiDO-`h19rw7o&7(NY#a1_rx{#mXo9or{=#cge-WpH+HGcJeY z7oT%zDoVomak@VrIh}G-E)JYBCdSW=17rE?$N9;c!JC?!f=T#U z*qsC=6OaeBa<)zTHM0tX!~-b3lEhX=Z90(!tf&(HF}7H)?8XM6T#&wN|&BC8li%gTwDSQwjCU~@{W*vunP+Q z1(K>cu3tu~fw48ubaK{|0}a+dcu^$1rIniT0*t|eH6Py*8iLLx++gtdtdI%#x)v)1ju1K)`X!D&|#W^!JkFpM!$fsBVIGhWTV$09q3>`nDE9>xBkQP{c6n4*7gH=-)}W&?Oy;u5H?NDrve;9)N?e%{C-x+BLT$Bvf@F zOLKGpaTHEQo2axy&CL>GW_+;)M|~_`P+(BWgR=f@;{bff2a_|i>f{*#-_z0|hHatH zbJQ)98*RX3dp$vvgRf~0RmlZ(&c!SzhS%?&DN@N^rlkuC&o2nUmx z!ULIexgKNC)*HaZtTp!3xRW40RMS`3QKTf?M999G9%= z4DJ(nz~NBiF>xEYwO~&{md*!A%_Vc|2=Gf!##0`;#o!)MjlesD!yftf%W+I{myPPA z<1V(<4Pnv^??(E*UBqlTdeliaP;;ay0hyL?P&om>-w+N>TLsgiHwTwO!EcE72gkT= zePN%cT=aLcZFHMGi z7?DK`NMd}AXTo74ueIiQ?PMF5+9VjX*>Lxd8gW!SdI_sapr(_t0S?3UC{GFY&pceo z*Gn-Ma2(p%FI9*PH@vV2&%0U|(L=JfgOy8Ls%(-re0S|cx$qXg)tGN9vhQ$x3 z4wd&sf?lg{4L=22=!^;PFvQ$)>TAH0fvM_g6pr4vIxYGpYQa- z$};m3SVA2kIMM>Z@s0wZ)*TaIRT_Potuzo_Zp)5z?A)J0hR<=$B#1?OYtR_Z9+)jd zk505_PRY!R6t6LcoPZ4K{g!W^xOYOSs#&tfU2xDUkw~HFAhVaU9wMjn#rspgc3*u> zzDy81JxweYYZ~e{f${tjwsfl6&N@tqslIMsm$1cA_lRrp=+#6Vr}z%myF&_WFWi9s zMSEj}Ck7>7Z4RNeDzL5^HgF&rey{7K0-cHJf|uc*Jm{wgF@x6zYk^T=q8Xv~f22Fll>wn-bR0QmJ<~=U>r8u5eg2Pr$(ReXr)%OL+ zJw^)04GCDsAUycK$q0bLYyyhnZEplw*xBg1w(fLYTYwrqo0^Pf+@pm}6zd+pmW<#0 zu_M=4h-XDYaa)3fXkf0s(^G%X24bI~r5Lh*yap{=`QBG(FnwM|l~;|M5Bjk|bxcNs zC)`WDD%b<#=S|R!eS5hMwd)CmT0Mr`{)r!*@&EP}{)YGm@Tnz^x zF3EGh0zy*&IYp!_7{dk@D-h?o+bmamW~-shBzEO*#4>i0!Z0Z2DMmFz?xDF{wV(c} zQiuO37s6Fc+HaV$pUi%NQiNm0U1kL^VSM&djFHN``Od0)8yOV7y;SCY!jq=>TsBhBX&dWH$2lZ;!DXzLV_sBfF3& z-&)kUX=v08?8n<3M59Lg=gWgt0J$E$T zFE#sj=k#vL>D`c{1kfL?K3VZ5xIo1qylv?IgB!%{}ZCcaOmH$o*>H@WGod6S)gEWfzG6WA!dKmdW4EO(CYd zoN>yix(O!^BVjFI{dBJ!F^%Y(Xvnpyvzqe5@3884h&?pEff{j!4kdH3BBFp)xw9A} z0-p$?a6JY92<-ygD_s14&ikMOR7fpHO|tVF_X;nsvdkG;QHq}D;KS=S@g*{ zXK_X`VBB!U;G{EYqo8O-!uhj=PtCyb0XZnPCC%h7mm$1=yL1a--^bj&&e;e^(DnjK zj2Lev`%^*|dL6|a#e8}C%gbqG)*x$03O7u%Zgm=l;ZC_<#Na@p(TcT0_~6Ah61WM> zOB8A-3m|S9u0BxIiDg-fO>op=tawba8gg3*L-i+qKVkt-9+a3!vEP!MMuR>nQwfH1 za*JA^F(kd2V$ALu(`BmHk%f_^CuYP`u4V&QM}n+-YU?&=eibIV`}LJoYe*R zQNnaSHEd8KesfyuMHtGM(l9c<_z)jkn6`hR%TvZS>#oDb^V!jA0rNd;aeRC&lvepuwP}@kB{vev7pYI z$M`fTs0oeJBc@-{I^krxj=MXFCaDk^ga8O3hQbCKe+7(r;OQ~#5Zt(IKErB;Zp{1k zKbB*|`yN}gi-3ht93%bK_^(fR1U}xOSzuoswo@c<;9;N{{IWC6-b8z{EK3e>XV;y< z=+NwFl+h+8DIXyQiaQD0j|?L=d!=E51Tc+PC1l8!B(Fz1HEYT`hGJLCYjeX(M3fM3Ki-9N&% zZJrHornJ??c(ZDV-c`tsQ^yhos;b3pP&XKJ7TG~t#a=atYvH-LSBNQxibI z9-68}hndHU8&`SAmU99g^t>!T30A}1Cjq8RdNJB8cYg#@GO0Aie1bV<=3&+9G5hIw z^8pqgCzim-&#hXG_8W5R%+6~BMIf03Mx&_eq)KIAVj-5S zSS8c!-4#iD4v$yXt4Ea~=lt0x1Qf!18BDk;CfVm6E9k=JeSynL!mhDbW3|xlkzLp1 z!sl4y^T-1|wr*q*%SJn9Otxw=X3K_Ht`L_qtS&Y3QO?Q9hC0jnIEwFafE;5^P8ED? zg zm^k(JLYr{4`$YNNKS5Jl1ca?pm9wjETG6- zJv`iJfTt-3MkCX0n=DR2>VsoVQI~L>5v!n|EDEc-P(t*f?WdamU}^iNR12nR*}4bt zsNljNuA244lV}(l1`GI~)=M;HwLUuZ;~_v5MLFf+)JIKritvLLX5?vy%1a%CZs%1S zZe@{|#!#Bus@0fki?~WIkEOEhiIuK!umc+$+XyF#^D4I>mKQkT-8#o)Ut-}w77sos zE!$-dsBL!rQ0_K8iP5+aSSD4qqpWVIB@89CoE>;Pn;%@Fs*WSDWs+oaRbK9YC=Cl= z9@B0=a(NBcWk^Knj<-$Za@fa*pRi<-Ub?fg^R<0?hf(G`kw&YmIk4`SZ25rLm@f`> zF72@`LYeMl4#h9jmZSkdG@rG$c8NZ#9YHInbHU=X2Q@(srjiG7e#sbC(dW)8k)``t zg*3E0+!rX?pOmPM5w`aA#;iaqok#n%K|fZ4vrkT@5OEm*F%Zl|u4KjP6kY>`m4yf? z$ap&r*Oui-#rlH_rE!NU`mu;Uh7bc?_^!t>w$s7sYTQNykJo{Rrh#Gyer&K0PH!(h z+ExQ~2J{_nWt&-3=12n%-?qoFjUwURWH3u#EMargPDtdG!k1kvGUY{B3L zJU^j^C@K3QOA~dJz)afFnH557)BZISWkkm=>T#!|nTs~KPXcTxe6v>C2x2M@C zS7o$_QzE7@ z&*8S9={lsAX|4obin#rS;*29w+57OlZ(~QiE0%uy*2jC+o~HI^a)NA$%J`B_8X2nb z^-+c7gySZZv9ojAb?i8KI|*OsvjaewwksdpzQcXflj!LBbc`ESXo_Lil|ey~K}m*` zc!h+(wtKtCmy-wWgy;@%vu!_hZg22Mt89115aaAt`~P|_{KZlc1OUbq5Q+(SYrXL& zA2{Qi>Ot$!zSqhl2VK;ht%ag?PGF>++Iq_>eObsHZDE{M`t4)mbFFOpVOk0BxH(tD zWGY5LpGIkQ3DvO0G39of(YF&~19lpF&}2_LMehwa5H?}8Y13*wC&rv}f&dyc5!p)3 zg<^{)C*)poMGtq165aHx$2?UXxemiqUZbuqf8lXb294yx^-C0u%tB{Wnx;BoF@r|x zFhPXL&~r31TEpjP_8C9Y!Oq6P(P5aOeD)#$6AfQGFw#fG%4fSzEz1;PxC80&b_7wdc$Sc-2q%ivwj~QH-V2WLef8P z06|$S74tv%mNIVqwCIX{bGYWc+XF9|?f~agv`YaB^l8u(Z{VUlsl-iG6KI4;I zyj)Qk{XTJXeHX6F1GKq30RQCyH1T5z-S#dIw0C)6;anc*P(L{jF>Ji_7`)&pLGr$y*zDmrc2GqV#-5Sje?%q$<^`n}FSj zysN*)K(nIbhbquR#RQj0;gG&XP@h_8d4PtNe_AmSEIuja*H#_1rjL* z>&||bJvRznj)yDp@L@cB6c0a*hmYgolX&9^K+vwsiA?G43w+`BjwA?=DMNgx7 z7HyPQG}sUI^O1gjs-KVb^ND^w)epMY^p^cMrt2-CTjhIO=u+<=7yelRH<+?aKU$gr z?4tQ8_=U$h3+%%e3l3K$(!g5Bl@mov&A5TW8UER3$;13$H14Az-hy2h4pj4?wgWBC4$LgvO@O;3BW@{A>KK782NMiNC9|FzOT{`9Fl@(MXUD41 zIYncwMw_I{y!%qE5)k6)L6$Il8cdg?aPi6@*-m99RbWBuu92a@ft%EBLEd(kq1i{HLg!fd{jIM2j?)1_2 zOv_cHro*G-z_A0*I?`D+cXbX6b36ke>^c{GY7!X3=>+bYnh(UzfL0a2(kL$H@IF=D! zSoxX=c4+BJ%3Kbb6=dM2BlwCk&8ALm169uZbysbmNU&x3zz3~8)ky99m45>DU zb7?mWHrUJ1Ma+#5f=RI4~e z>A`6_Y`$_J%GPPUfbTgc0tc#`j#we^kwEDSwNWHP8iM=7_(O(_p`fhF3_5m-DBsq1 z*K=k}GKwt0-RhTn)y95FEj3FTpk9)3F?jP3$5Wb;6j1OfnvR7n4)=rF`Yo3tlxmzM zH){$wjqGdzRe?Q3cZiZY1gGd4bt<@URi4CB=FtU46&;8v^15n2#$ng#k6Zwi0G+5$ z^0Qz_L=Zuu`Em{pU;o&tN}9+KvaN)SqJ4^L1iKQEZ52nq%$1(I>LMG6ptvGYu#3oxdvr=pt^~I zh>>cw?dP^5@AH!fi)rOkiis8cBHDnr3}O@Eui3xfe^8hq@yR`heOPEH5F+IvRuQ-P z>C8F=DBLR2sc}=jh!g=si7}*6g}ip{n3z=`2=W4|7#3KreItL;k#=uWH@Ucnn_F#m zK2C>Dine82;`rQ)E@@*&`6VQ$4qL=qhjT`<9n69Y)7?2`nVC|RU-_vXT+9@;>f7gh zlMmvIXFRJK0o8$|Xa{cg@qT`>j}TZq={ELVViN`P!f9$6$vWdHBYL_TWWJ@lq6p4fNos1 zfwb7m#3L19xb&=JJBj5=5k0Vly`f71<-Z3B4+i44*Fa!{z$?n0hw2&V-Ubso1M z!ey96HaHV?0ep21N3tiir~~2{JCyj|h8Y{WuPkfGLHLl~I8G#?PO$)$Id2OFc?~K8 zOSxFHq28vXK@d+Ko?ZVZLh+dyho^?b*zpGX1n6ZN5Qx& z{FD-QsL0OTL>*Fu3_GoZvKx+*Y)!4cW>%i5w~VJQS7znJF9{=do;;1+dJ5ac;7uOb zWmQyF$zW~w)@}#mPH%7j)L>&n=N^tjdM$478flaeW^QRf?^lCn7Q_A&`C-FP54ye~ zVs33^-Mp5|m{W{{c9eQkMwzPVH<0^f-%7LX$)>s)+*+_oWa7MkpdzGJI$eLf5v!eO zZ(%(+jU^y@$69<`&T}iMD@(O-w zOSvo*_{$3r>Ms~p*@_H#>O*hk5ig~rDWXm3%W!Pkl%f1~bw!sqc4u<5#AJkF9pNzc zBcRf+8xLlTjKux6Yx`3$9v;#4lJ#p~W$fUbQa#--HO~-z8%L8v2HqX-JuK~HAEqHQFSEQXb|$b*vmev3jLQb*Gu}DSuH=kD zv{<^31)`1Xl8QAJj>+nNFyojX4t8Ui^&69Wd_exvPzo_%)``mj zun>@ZK9PSg+{oOgjsZUIb z(6YA&FE=W@qq%xw*F$K!7$D0+b!iiVcN&P)3XIh`DFmZ(8O;dUI%u}%i~Z??#Q(j5 zd-2nDdX&w6T=#;P)~9EmFEzr>~>WZKS6k z)TwLfX&NK_2p6`Vq#vf=r4Q0SO7Erg{#|Qh7d_(oWju3?xZ@jbbMClWA8#CujrNL0 zJDh(B(BXLMwlM0K4lu$A`ad)n;6`9?F};M`FYlvm#t4`ql)T%e4S>D3z;%K}eFc>Xdy zwAKK-@0Ij*$ic@ z-&sYAze10kAFhwbOs(E4GaChZUnS%oB4-AiF^`xVg7YPe86Orv9wGCt%e5|EztLDqUBaC0Z1R6>&{Sf~^Nv|)ZTj&Fy2S$Gnk@kMN@bdRTYv~o@r(unk z{sRAggMWPfcTr~r;~HazW8m^Ll>7}!{emUG<-aejpyZFy*Jo_$Wy?c*zd&h}0yJ=M zt(Uhky`hx9NNmYcUiuMQ`1`2)_Y?pAGW`hg^XDS*O!k^sS1maW>Kp^Z86%YuD`vi-g<0YuMldD$2OmgLK} zfUcDOeh5aPJ_u5lV+qcbz-HQIF_UNi8~IFkowF*3AA=>ul2XaNW;T4TaNO7pKymWq zM3(>%PF-o_u1Y0%*kxT?t+V_#21URXE+$@~bn=EvK*+K68KXI{8U!5C_84PbApaPt z`#@TH1)nRxe_Nncwo4ArapV0bThQ^YkCG}`~i8K+Smd2AbFF7@KFdG?_Z+^WZaKdQHIiugiKssLw=Cu zRiv#U=Md@OlJAhC-9}lClzD7Z#7*96GV6-!!x%vRQR29QTYq6alONu|To&mI{N++h zA4|@%ResrqGLHEg89c7`Hqh6*!}TcPj;z)(#)tO5yOt@HdAoJq4=5+_{S%Z!Sclcz zz!(nkAIHGip@r|W_re^A3$lc3s7DMD+QTJo+Wa@2d#7LALT@wR@v8lj(ofPl`XYlM z?%C(5qj*1R-?mo8bWSb(-sz>kK<{OZr0=r5ki@r``$&9f8f`^FAkZ@dj}(O-SyqGOXm5%&T>V7rXQ_?j{XYm zuuqPckR@dh8!U^!0sJ-XeRUl(IWnkpWmC!H_ z@VT_g5$*n75F6&*O#LmOMGj)T@jC^l)Sbyk2#3($$xAD0`CcgEkKr2c+@f22E7b4M<| z->pNiS`v7pwEVP83{OlGD>hZld3$jA5olxQ6jhfD=7g7^-naNj99(wc4q~lZ!M*U>E=EA74T&**=ZARaa;H%mVjE`p zOYbC#W3tw;4MRbvF(hLuE9o$(RWkjSsupv1ZN3zJ`F}@BTTl483ernAPC{Dd?6}g> zv;VV5xv*KoZYNWfZo?%JXrcTh`03YZGafR~@I^d9nR*$K{Q92bnxT?VM2-Xl2>>5~ z#e(8;=+kN<6SeB>yXD!%^4#M_{k^jt=M|!njB)$3+_}RA+r}u~jdL;;nVC8h|{Q@O~ zSHArQ3+4zoq)#EeY?}D%VtzlvGNwN&9div7Z^k9l=Ovt}<%k`H7>U&(T9qzXbka*U zCaxRSdu$DEW>nL?VMJNZIdCAxfM-9lKow$pP&ZJ|2six573u3 z=!n(y17VsvRGrQlSLX6}gOW54O5_kz=|^?RvRlC=NyxRze)Yc>0*V2>2$`>C5Dx_(Ifx518Oz=yoW-X%kT_A$Xw17Qw zLcx={rFM^uOr&`b{p3DeMBKxpu|!TDoF>Y0v_yHE+e9x1sKtNVs8?#7HSQmxN1|Dy z2ycDYR18!K>1Drwgv;97kUbav_CNXkP+QYUOnYd3$@XH`g{#FRgoc>9kU<{GHAK6X z&i-BFF=eb2xhz4Hli$$R32w!-woN8p*X3T(V|yiNvq>A=((mh(J@m`@T|%EkDv?e; zKseCxNf^*J;+8x`(-Wv>ZL*G$lW(eCkPhwaP%7EKAb~I2qwRzL7rA&WrC}l#7Kzy! zbCO`fpYYPyP+w*!Q8q=dToSONaj?7 z(&{x3G8Z_No={SrqCGBqn%iV+6R1&?NJ^8O+zPE9I&iy;>=hdD5#j&`*lqSRgA^kJ z3>J6E96u~6HSjimW4{p5xESMIQ0N?rBAF<6u_%8g>B6)BmH5L?;FZRjp8eDQK*)&b>}y91boGhQHooa0UD!TN z*(ZY+!=q5>I=1Mn;jStji^2jy8HynH6XcU%TKejrQnFB?kcLehlrX4EwsA^5uvDTm zqTl?&p%m6Ouy=mkb7xgf~ml z?%C{Ark0IEqo>s6NQUPe>YEJh5C+o5Yj~2$))+|dEMZP`=9~s;gfD%>P${{C7`ir$ z5k~aX>^vQpMMysx<)3y5q@Xg)Ae2>(s`#-fuCy+>==mmFim7}H>LCP0E!zC0EtvlN z#d_7M)e0B>+r4v{ky_C5`=S*xmFLeVjl*9lw$eF%Fst zqT`<4$+hgqA$o)C+2>LE+&IQV zDyR*Iu^d&QDw4uwGYrjzX+&*s7a~6Fp;be5!|DvhW$^s4OhcA0XML^Xa8bkjnVw4oFI7Fg`A^|7wc|BhqJYW z40GVL3>H9OK@T0HjJz&w&_N+>a?~=M@1mx(`!2hq9O(loVkgCHFo|FOes*`dNb5+f zO0tNoHjQs!RMe44+#!L4=E8!8m`-8;#W~O}M-L*#y>|yaoUiTB+1YlC>G}Qe3>=|eeYagBS{i{K)AyN2sv#1> zV?wIB>isIvB8Odk^2nDA9;3SC!L&oD=1O3n z?a@XHL}S_C9%#-jJ0WApCK|M9LMc9i-a~2nOyX$(Vxj(R>=rt-Hq+fDi zp{njdF1)gaYv0Bmrdn7Ek4=zCQts>Og zJgIP`%NPd1!T~Cx;Vd;bEM0<^>XjxK+)x~~#20*FqflG|&+KtalS_&~<${%hOpGsj z`)LG?{LJE%F(XDngn*O4k)_WO1vjD%L11zu1!Z!E5d3|iTl?<{2}B$9Qqn%5NGs@= zGKpdM{dOg$>rL8vEwNoOE+ScOn&OuED`yjQ-EbsiaA8Ua_MDyMVHcWYh2&d`Y7@CY^bfEv%dm^Jqaa5*Ij(~9+(UUf?#oFI zQ1?ysRD8g4;A?M1aZT zV~kdgD$;Yx{d^Tmz#(N`-h>2C|(zv-{xO_$4|;A&P{1LaIq@!N!Mr+{kei(y}0FeSUYnxqfO*%(w* z8*`+7woz|{^9m!mbnzdeMlbbk+KKX{*S@qsYI^q1!v$3^SJrK*T>L|%QSQU^*AD^PcFhOx zB@%)kZh+DVM6UfM$bxbtn^Ztq$ZI7CEWT^HOdaB}kX-Mp?Ka|1qsjEAb!m<+;)2p6 z<@B}aLLx&R)geuRPQJ5F;ia$stAKy)*5fjWMO9C>ubdYI^)X(XhSJ=~3d6*V5GSH) z9ldGE5nSw_5=)w<5clrlzRBhBFkvYI|^hb%+^)_9O-SF_z zR(g$E9lgZ1?eYCWj^VlBif+K#Bs;)v+I+FF6{(MGfD5s>u_?ld*S{-{EhAfzAV*+L z?eX>a_OpM|E)WwSA0bDiwBjCb+xp}LMwnKVmJdW*0pz99jXC+^79%x@tJQ*oWy4Vh z{JeYJBq_INxu~=Zwavg<6bEKMKl@*(Xr8WKw7Y0W+=ze*ry`%Ig@q&-r?{Di90QNz zE3toE_>Ej2tko771Y&PD_p7(rG+9h{ue)r!k$sBca4m7rOd+)Bg=?2PeGekma4}HX zQd`vW$c5uz=M+Cr>`R_o22)_s?nhzFK~f z5uc;gH%Mh|K>o8>xV7V!N6z=elV zuwKC3US*MV7s6$fV5AD}P+UH3`P?*Au696h8RtEzNKj1DWRK7^EX%FXbV3`vfl~OE z5N6V5IFeCx_A`{X4Pst{A%_HwMXr}Scqczk&;Bz3pUWpC59w4|eS|mGid}HOdYA-v zS&EWWEGHIUhNkILOCkjiZIPQK`YpjM3xX5v3VTtmkj7EBb?(^d5Xx_(w&MI^n?L4O z#5rW-8zhaIBc>LrgXA}-1aKwQF}arkL5l-dC>vsmJE!0piB5yQRR=$s?jO? z%k!6A8lbH7YQb81r#zPtcKXAyea@V#Fg^QUZ{m?)teunL&I$<;%&$MtdVv!ia#O@2 zr#8|LHVp!LWCW`7S>2uv0n`PCNG+MnLgdNk;g}8()3g71(*@qfsl`Uw9q+1tr zeVcU5Ih``9*YDbx2zzQR>76ySO*aOit-cxU)Eeo#f<@hPM4WtXgso`e^v0^GEY%F& zP|YgkboS4nrYY@Wh=Z|j`3 z_v{wx?%_Xke7~{;T=PA>&Pd;4fTY)nk0(Xvd;2e3pz$tinyGO!fsE1%%V+0HAo6}- z3dRrdd*Pyb)=08$iL1W2;A=OBR3U9eD8Q<&SqE2yU=OEN@d}WQNT`RKIp&&99XWMf z>cqPDRWso2#}~Fvo9k&cw0#)dKq_n>B81FGZ2vD-0RahZ@(13VQ*btL5Y0UjqbX4BK@Ro z%XDoEtx&2?r1n`#Kkt^{+O92gj-iZH&m0kM*0D&xx-95FpIM_2A-@Oa`J>-A5vB-BH>R}or)hg%4@3OPLvLmWk+rNNsh8Rat7kJeRpg?Zq*he_ByCzM0O&L~x#JR;?Xk8?{%Q^F5OFjryEQoLew{8X zWLQ(q8yvo+JIm55?8DH0<%U0<4VBiqeWN>;gcSNSj$p2eSj&p)Dx8F2w|;-rg;LU= zc1!0zK8~@UhZ9i!6&7@X=XP%~w&|cXW88e)#upc0$gD6%DW&cMhuiS)M3_x_nYID% z)#nCK+_sj!)0Q`zXq}f?rq|o)>D&DF1XrExi(lX^U8HrPFdv>oBUE8)=<}6hl=>&DQd}tUZ(;noo>C+7o+_lqlm!U;T6L zO0Y>zMLv5i5t55oO5s=65afH$qGH>^s0bf23NjGI;KaFxXq~_=CtY~+D7{Ouhz{{w z?~O>oc;CRnh0NtmAt`m8jEd2uOyvfJJP08aw45bQijQB45QEY6aRKpYF*CMLL~!RY zqEX3*NjzjEVfcj@6TG+ty5lYka%hBP8bm8&a{(Z*MQ6K%Y5!Fv4O zAH0>`x_|+G|0O=W^#>Tz5B^Y(Z@u)dU3~Msm*eHFKm6A(zWM$imDjgke)Hm+%ipRK z-uk0|;H-I7e)!P77U^M_76V_JI(Q<#JXrsPx7LI(hBADq6?I34!E>3+}Yun$h> zVoryBaC*3k(_tT+-ZF#JVIQ3S>`{4BUlQ8c{e6 ztHZu?iJd$xufx7h;=k}V%ntiLK#JXO%k8jl0cq}f2X=>j7m(`imUj|L*rz^oKRv^Q z(wgu>X_fjrp|mEdgwmRrA(Ym{2|{U2oFtUi#3_W*nmDCUS`()cN^9b@LTOFBolsg6 zZ!eVA#5)P4HSx|uX-&Kvp|mF6olvZYoR3UQ7-4=o36MXS2=n`9HFAB@uG6)R$#fdF z+*m{G!xD@PY7DdOxDe})JsVD4`HoS-oxi=-ljcG?gVQX3u z-@-g%MLPmAyQ(^Zq^0B@n{BC_*P@ODogVWllnQv5yt+T@@2^r51xD4iiNO4;iS(?- zWY{Lc3kgS7V_QpMRs{NS!;0FuzCun*qNPx#c)K?=!V8077IYK-)o`SYLti7l#!?nJGWM+_8hm=74Gkxpgwx% z%+}dBCt@r~I)ip)ye^7#r9hGq zILDRk@K%v4qNUJ7LKMrID@{{v7yH^?b@!bT07MloQD0EK2SLCIvs6Kn>^Ih!@1QH6%MQEj>lk|~0_)V(3mo>4>K=juANd@_-uClLgu-xKHV6oD!g z+UXmVthy9DXw8I*!a>6yoI~=SD6a^8F_AHqYgc6%Yzmd_{GzihSsRThYQ6#L3-`p( z7h`Bo49Nj&Ri8Eo%t7*|7&aQctJK&SJ4$mJH%4g6&_=2 zZtuvc|$lQ%kNXaimFntQ&s!os`gdI9`~`wMn_O(Hn0G)A>LOnJT7AV80TB& zXieKJAWchMIAh@qN!5*aK8rCnP*-|i{yCcK0C5e>Mvo|LC67iTKc3(i$l9 zFC|(vycM3I3Ep37Y4X$jrHC^?y`HpWy0IorTTLQO$WU@Jll2X&y zsjfJ#JBF4S)F>kSywIrtZY%oZt6S!(!#2B_;H&OF)yus~M<1dxY4Ag_jy`0Z7M=me z@=odQTIowe*cMY*OKW3wi`-@#te%Nezz4@KYmr2=FI-LWlGbWTPhs@}Oul-7S#dOO zYON@lTAMN}4j{f<;n*v7%k)lNWqlK$+Nrg>ORybs#w9UDI7AqUt%6DmRS8le^J+4i zXJ=m8{ZxqBWUWXMRGekk2D>)dwZ*P&%B>lAYl7C8^_sfDf}Y<9E8#pu?p_0dXf^YG z%>(grHN9~3*g)bWY-JVlR+bvQ!64&SDhWavS`sPi(kb6zQg|LI2rn*5rk$+rLn3%k zML!~f6=$avO;Mob-zvHDHtwV0lr2P9T&<`c8ZSUy-2h3jxVlwDhK22P?X|kM(;aC= zC144v5hQ9c`Bx)b)Q@KrLYk&zb&{lst5Ptuhy+S&oRJQUBvROp#uV2%MTC0S5nl9) z`HJ1;AXrDWwhXCt&!|z@!QvgT73-L8nYvw~b&yg#P71j*pfa*4#u?=mAC8IZ0L9fw z3Q+@mPU*GqTO@I29_C5KoFyLx?S|@O=Au|J*1BWX7DbEkg=5a|jj6G!%&jS|j@+=~ z7Sl*~%|Sc{+ciTo2SLPJvrGYiRA>ZS-hy2xJCuf6t%}p z=Bre_D~b}Js9hE%@{WNK<;G4$9a9uQaeb1(PQYqU(_>1i;vQ?WIYe=_z;NdkN&|>J zi(#y+b287*mNzF}!hA#QV4W9opr7q9ept))s~%KpB~ z-|uwyQo9fD;Vvt?C!q;W3oYsNOfKH1h86Fl;~)c)+#f|e=;iaE>)j8kcT4U?MMyry zdo1fcl!ykGE;J5Z=tF%L(ux*w#ac^Q>*I13m(yr~c{h5B{lr06v0sIwC#5Y!%XC$t zsk5}jmtn>w3Ki#A`Ew$;J{CuO;6 zN}WEH1FY)O7ImxAemErwtNWML#|@Z>fV}|ahkcX*iZVb^Cft_*Oxyy5DJx1C0}P{F zh7n*G)nym~R?ZQRDGFdXlwa)ValkQ1-9wi~6|jO(>*2zJusjjrr+w{@D?3PWJ4!4# zN^E$aSXz{)QnOkDOt12X{SZ;wWe$g`KMFrpJ=Z5pI#NPw`xDAV+lvNJV0m6tjvRdx zdL`25e#X_13d;-KxZ)wLA%OEmmgk|#;)j&f)n1+#mudBw&{UyuRDjZ3Do^ff4%bq8 zJ_248(35B>34nALMF9YD>BZNqncsGVro+;cKops#@CauVsN%wISCRunfr%2^5|$)o z1CB<(3lZ=Y0A(*d9bp6*MrjO)(?n`hQaRTBCnDf>FTqj_Ou#s~Nn)HyprzabNXIL* z$1^bja_NMjv0Pmf!@_>&1cz<%T}^rRtIw2sP?tj#EkNU}vDi)g4k>;)tQS?b;5F^@ z=BG12gNT;HR11esdV!AKqj>?h1?7wD;gitFvLKY&MwJ(L~ zhF?}bHMJ3zQb*J0(k`(=4ov7l6(G>5A0RVtE7dDKGIUZ!qhp|Wq)vRA+@NaJcMdU+ zXjk*phOm6l<0nlnP*10B+Vx?(MTR8brG)wT1=YW>ZZ4Xe@!+3 zNF^p4NFm;3@Zr&8BU{Nuz9C8O0~*la0tw0KaZrncuE`7KOrGUft-G8(2KZ=Q=c*_T z>&zw&R)F2o%w~(hL5q@(L{LF{ldhnx2Ay@{0xp!eG)>ALhahF=1jV0vIhzTwOU-g~ ztCn3*WQHlR#aXQg0G~gS)RdLjBkI8xFSeQc$cn6M$^*VBT4icYU@oI6ouB^Mvct}o zeCn6oow=ZFzmYic#Ly!&5mjZ&!i0Ml0)yqXh5>fvP2~<6o~-_sDjdS`TP02U{IS6 zf-kbQU6py#UDi^%*f46+0b0Xh+&EG%spUzwGpT71Fe|_$% zCw}MW|6t#mpE_gcuZ}+bjeq+$e|_zTGcCDaefpyxcy>qdpN|#3vh+7E`mz7s@yu0c zJoX=lj$iu8Cx$=u#J$~XKk+M%UVHu@5C6nZChwX5(wezvjNkh|4&A-vhxti;%Umbm8Zjeu~(iP6W;Ch6lHe zjgM`bSiCkjK77;Y;!D@`ba$_~Xzkc1#wI?I8=v@SZZx-TcyRrWt-0|lN7v=H4CJ<5 zN5cMz?b~wWiC}%Y>0{f+Cx$l-5B5(CkBv5bWJh+$ic0bMU)3LcG!dM=_!F0{zkFN& zmfWpl+ivdqRBqciX)n2D+2U>$F)xl zrcEoB^bc%W0VzvX_2h=S`dLeve_p;@KgDW|CdDjfR zLX^X!H%YHnb}zl?lezJ+?b`-(*G+5#JAU2fvF#&6AIV*}H8(Pn8@hCC+qT@`#K?{s zl%io>ZhXA|rrec765;yvtm_8Hw&qf3ot3aYUAMk}+fBKN^N3xHNVn#;O$_J87e`f$ zFOHIqUvmnIK4cUvyXeZH+^EzSl{_6aQqh^zjQ!&ZJbm*TP|)1?*8ag<+&;DbwjW@9 zbHvZ9`bTft4)gE$0an~nUGd_}N5*d5@dK>A$*a)>3YZ%@Rl65TV|rGctTC9%b^Q~A zo3S65x1sTw;%z`TU7?W0Si@zBVD-AO!JFxX*^%LaZT;JJWH*g%%bLwyx_J4IW&1~mvX_1!yL55) zk9B1?=lX9M9@&u{=pWAwWyeOdR}GJ1RWD8iD=!`C-!{B`JbUTb==k=L2@34WuInG| zAJ4AO4Q?JC8yUN4NA|k0k?pe0<6YS+N3UCd+1j;c$enG*uJdnBBB*CL(0@L%YpD7} zkj!x?zwlES@9QO>^^8cA@%=N`SkC@c%e#A5Ebs2#)VpcLilN?BOL|sf{FnAF@7|Of zS~a+Yf6E7#3=VGEv}sAtrllD5{!P6Y#{T74+<~4IE0*Op4RsIoVtQ9>TDfV-ax7%e zU{BAA<*NpUdY7$SvUF&0@ zF?!Ps(w+S}-|W}2i>@Efc_}bhe|mFnTW(FIs%C%!LvXa63 z{ETXxq`yZF)%zk(WYODIA2-*y@aaTw?fT7#b8w`8d_21u12~Y&jb^vyMlseyP9Fwu z{$vi84^ND3+p!q^7`*xN{y_z@w+@etkb&eA!`nzcJes{_IZu?z-#rztXL8;`l?!>~ z??=AB@>e1&P+au80W4dbaAxS8&~bbW{4i_xkBS9}nQg*qW5h=fG-YbIa+H2IjGNG zzYc3Q)W2;go+Zj%nb@{no$nL|zw=6&JhSP;qr(%!{UgIaYn{?r>5(0aS0{p{*XoQA5#e61fHPy?^X#M+o4&15 z_ICw+W(FaSlRqv_b}zfguLJlY(#@2x*VvIWHY-J$+Y(J4#|SED2;ULlP8p> z7z#K!Ch_hm5DD)Y-?kY=oTmNxdrqN?-=hn$&W2@1 zW`^4B{Ui8ka@g=@+^h_bZJY4f;mBCnLRNNcQY<2i7!5?68X=Iq2aRxOw*Zp$q;3ICH5aN0iP6cj#6 zf8VKxSX)jjbSI|oIr;?AR)Xz`V7~0?McL2kw)pbxBO{CqxvtUA-rM4E53)vC}1^?UeMsJi|`7!Sj2Z z10>gspXmPQcgMO9Ri5lYYzWRk?l$ZR{QyT_B;V{7fAHZ4`!$K1*xWB4;#O`m3(AqMk(2aGm)1og-p;L7kV@GZY!{K6@pL5#(L#RdsW}9YZ?TsBYtZASoRhs zKbzzQXtq8!I)sBiHri!NFJ_L29~tYnDLXq=E-8J|nJAV^)(^A#x_HgRy0P(zt63yj zcp($@naUN1HYS3f`aV~=PzLDIvF)Q1s@E7rEoW5*`*r;+C-Lha7#mOR2?eqS> zW)gA2>nDas{PqG<@o}wJ$T=C@mSe?&nbV~l#2MQXC-+N^Y$dq89JkXnIJRXA8@Nm? z@L_@=|NEz4dsb{;;n{u#OMD+8H5-x#w*6IcmQq#qZOOTD{Nr_jTr< zL0>g9`_H+?aDl6jgKMX+l1SBhy1bBe`n*KOd9^K=|AMRVoicUVd|30f z(cG=s@f|Eh-98JDCm)(@T zrURaY-bMJ+ug%v_btP@TdyD0Y%)HjViVZPGIx6X z=HabZ#s__@NOl}f+&}NuMrhBnXfWIts(7n!Y)(TT3?wtigXZTQI?3LD62*Mx_S+<~wk zbfrHWtUf{h7K|qag9*O8^B&JYDg?yU?nngVnzCy)QSPrT%uIJe=|7eTK3JVCdtyGED|_}ls;83wLy2I) zJ7l$!Unl2Wk_Z;Po1CYt`#l>|ocXD=??)6m?Z%9?_w8ff*jDrd*i_!ph0R>vDtJd9Z9p4=W`- zOO{^b7f5nEF3$4>TX+V`pWXQguXSKt&JAuz!Pv$B511=cTH{^566;iFeiTW z_VhS@TtDj0U|+Ls_!bUEUph7v<^TSi6aCRE<@=%{-ygPoUr71B6rv$UZxyhYH|P;< zo`)IIdu(zZDbWfYWxP?+fjxE&Yci;yoMH-1-^|z8_s@2d(hM^&Iu$t2bS| z{wG*_9>)*Y`Nn4~CdWR@_qY7_j2Tr!{P$0* zVkYEHXN*}0#~63>L{Ri>>?d=Zc<>85t@C(1PKIT-1ID~FYGinnf=*oS`>vh}{UOom z_sRI4-Guj9_e01!HW3$UqIjtekh=4otj^zN53WZKyZP;Ab^?ERQopZE--|MxkqBBO zZ97d+IYw|A^nyfS=apS*-cVz}VK1DxA4EkuUrAvP6p!i&;k4GHg$i^KuryLQ%oR&r5V=w~P;tZR2%# zU0OA?HAN zomhYU&wY24Tt3pz%k#dEM9fl&<3TgWWq5HkU-03J2mpMWwziJ9ZR@fxS(j`8rxz_x zgKjDG*3^Yp37Dh!7iKG`UOhj}_xJ?!nryv|TRHfulLPpoU=-I?4~p*}bk)?gr;~Ll z74i^8UJOuJt@QSO?~H6%oA{~$#wldQAM zPfss=UMGf6&?LVwU`UV(T+oERb8(VW7k-YEO-UIvVNOx9%@tr%Xr&dbLg$ak-(Z>qMou06C&?h{xd=38pc>n@!>93@6~ zt8({6A>Q%~%$wdtaadTV5?1>P>?2NAK}Pf!ZivX4T1&9}4e=#<>oxBJx0HOWh`U}c zZY(ISnP+G|)MGCV=dN!DIb=142v}Z|tgE5uVyEYT5mmfVsD53p7pG=?w1;rvao(1n zvmE+Z59y|MDRDuUNh7C+6hjL3D(F7{BS^2!K9=%OadlF~SAWhYirJEMtxG4x8q+7I zle`<9FM7h^BT>@zQE_|(M>R^PiruuEq5#OsvxTzg4az{csHJiJ=2A zbS#33>s8vqW+RyV|>U;nTKScSHJ>Pf&<8r6*&(vx>@_NmYDNwMhd@#ukHUcvyU1W$e*KvMpO{ zj*4jeJcRI%K|{Gk&=XvWuUaLduC&(+%f1kyxHq|!7g_>q{WA)iLcJwuwZ*(FaJ?=Y zJ*E1fgsMdDd{F|Rj3o1igc2k%m%btnzph;Kbh*#?iiV}cAv1vLA;lv~`+`O4vtWcK zm$gz3o!YvA#vMY_Qg)b-F}6tYC?_mFsRpV4+m|1JCAq@xNK#gMS^O_PqLQ1rlr|_R zNfeM%OW{>ToUhA#T{2wCcL=(M*vSVK{51u?D(InDcIAT#>oWPYF3&Q^B-9M3Nvn{_ z?{L{^#YxX5n^akuq2@NxEIZ97=mIrMcW3D;-#}0c;4a@jAjdND7xn|3#jlS*{sCQ% zD^cNbIL|1;m?UkF?7s~Vl3%TCdf|AvV7-?Sqg!D^|3MWbJ>e@$s#L<5l3q@|z@>DVpjS+&(sdcG zsW-S3U()5ME~dG2RA}KYuUq13NeWQv)+MXUdR<1i6kpcG1_1ZD1Vub&ydr-IrZD1h zDd)NDTBu8xE-I>cA@#V=ZV=j8tBXqCsmRF&F1t1eQtz6Sn(tgK2|}0*xLM1o*TO8q zy`A<~#5}({0WNOGRi>OeS?y$PmQSnH zWP=pHbZs_~%+zHQ;Y4`WY>Emeq-T6bvpZ>UyM0`7Zg-7^I{n9UTe@p4ydeIDZfo}} z!(3SPDc!d2I>RlR@kQM;yXy_xbHayp&+1MYe)&n?*FC2jHxas4o#HdQ?cIDbgSbmh z`L*41yJuVMn$vuAx3hbW#b0*XZ|{DfyU9{q`8J>6UC^DjH0$2>OS~6!&$U$7zQYH3 zFYIo%bl1P*cX^v6=lm}FkV$x!R|FSyLY#*X;}r4?^zF?vkYyDz66t(IT7|Ai_G~0u z6;UnV3<9o-nknZFJW4Cf%q>Rq}V%mO0sEIN}D8u&=oiFi)

FUJ0 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�)DKq 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 WOiLWrFLIBYUsCzM>HoVm@c#g`8AFr+ literal 0 HcmV?d00001 diff --git a/Lib/Moq.xml b/Lib/Moq.xml new file mode 100644 index 0000000..e0743a6 --- /dev/null +++ b/Lib/Moq.xml @@ -0,0 +1,5120 @@ + + + + Moq + + + +

+ Implements the fluent API. + + + + + The expectation will be considered only in the former condition. + + + + + + + The expectation will be considered only in the former condition. + + + + + + + + Setups the get. + + The type of the property. + The expression. + + + + + Setups the set. + + The type of the property. + The setter expression. + + + + + Setups the set. + + The setter expression. + + + + + Defines the Callback verb and overloads. + + + + + Helper interface used to hide the base + members from the fluent API to make it much cleaner + in Visual Studio intellisense. + + + + + + + + + + + + + + + + + Specifies a callback to invoke when the method is called. + + The callback method to invoke. + + The following example specifies a callback to set a boolean + value that can be used later: + + var called = false; + mock.Setup(x => x.Execute()) + .Callback(() => called = true); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The argument type of the invoked method. + The callback method to invoke. + + Invokes the given callback with the concrete invocation argument value. + + Notice how the specific string argument is retrieved by simply declaring + it as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Callback((string command) => Console.WriteLine(command)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2) => Console.WriteLine(arg1 + arg2)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3) => Console.WriteLine(arg1 + arg2 + arg3)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); + + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); + + + + + + Defines the Callback verb and overloads for callbacks on + setups that return a value. + + Mocked type. + Type of the return value of the setup. + + + + Specifies a callback to invoke when the method is called. + + The callback method to invoke. + + The following example specifies a callback to set a boolean value that can be used later: + + var called = false; + mock.Setup(x => x.Execute()) + .Callback(() => called = true) + .Returns(true); + + Note that in the case of value-returning methods, after the Callback + call you can still specify the return value. + + + + + Specifies a callback to invoke when the method is called that receives the original arguments. + + The type of the argument of the invoked method. + Callback method to invoke. + + Invokes the given callback with the concrete invocation argument value. + + Notice how the specific string argument is retrieved by simply declaring + it as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Callback(command => Console.WriteLine(command)) + .Returns(true); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2) => Console.WriteLine(arg1 + arg2)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3) => Console.WriteLine(arg1 + arg2 + arg3)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4) => Console.WriteLine(arg1 + arg2 + arg3 + arg4)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15)); + + + + + + Specifies a callback to invoke when the method is called that receives the original + arguments. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The callback method to invoke. + A reference to interface. + + Invokes the given callback with the concrete invocation arguments values. + + Notice how the specific arguments are retrieved by simply declaring + them as part of the lambda expression for the callback: + + + mock.Setup(x => x.Execute( + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>(), + It.IsAny<string>())) + .Callback((arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16) => Console.WriteLine(arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16)); + + + + + + Defines the Raises verb. + + + + + Specifies the event that will be raised + when the setup is met. + + An expression that represents an event attach or detach action. + The event arguments to pass for the raised event. + + The following example shows how to raise an event when + the setup is met: + + var mock = new Mock<IContainer>(); + + mock.Setup(add => add.Add(It.IsAny<string>(), It.IsAny<object>())) + .Raises(add => add.Added += null, EventArgs.Empty); + + + + + + Specifies the event that will be raised + when the setup is matched. + + An expression that represents an event attach or detach action. + A function that will build the + to pass when raising the event. + + + + + Specifies the custom event that will be raised + when the setup is matched. + + An expression that represents an event attach or detach action. + The arguments to pass to the custom delegate (non EventHandler-compatible). + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the nineth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the nineth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the nineth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the nineth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the nineth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the nineth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the nineth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + The type of the fifteenth argument received by the expected invocation. + + + + + Specifies the event that will be raised when the setup is matched. + + The expression that represents an event attach or detach action. + The function that will build the + to pass when raising the event. + The type of the first argument received by the expected invocation. + The type of the second argument received by the expected invocation. + The type of the third argument received by the expected invocation. + The type of the fourth argument received by the expected invocation. + The type of the fifth argument received by the expected invocation. + The type of the sixth argument received by the expected invocation. + The type of the seventh argument received by the expected invocation. + The type of the eighth argument received by the expected invocation. + The type of the nineth argument received by the expected invocation. + The type of the tenth argument received by the expected invocation. + The type of the eleventh argument received by the expected invocation. + The type of the twelfth argument received by the expected invocation. + The type of the thirteenth argument received by the expected invocation. + The type of the fourteenth argument received by the expected invocation. + The type of the fifteenth argument received by the expected invocation. + The type of the sixteenth argument received by the expected invocation. + + + + + Defines the Returns verb. + + Mocked type. + Type of the return value from the expression. + + + + Specifies the value to return. + + The value to return, or . + + Return a true value from the method call: + + mock.Setup(x => x.Execute("ping")) + .Returns(true); + + + + + + Specifies a function that will calculate the value to return from the method. + + The function that will calculate the return value. + + Return a calculated value when the method is called: + + mock.Setup(x => x.Execute("ping")) + .Returns(() => returnValues[0]); + + The lambda expression to retrieve the return value is lazy-executed, + meaning that its value may change depending on the moment the method + is executed and the value the returnValues array has at + that moment. + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the argument of the invoked method. + The function that will calculate the return value. + + Return a calculated value which is evaluated lazily at the time of the invocation. + + The lookup list can change between invocations and the setup + will return different values accordingly. Also, notice how the specific + string argument is retrieved by simply declaring it as part of the lambda + expression: + + + mock.Setup(x => x.Execute(It.IsAny<string>())) + .Returns((string command) => returnValues[command]); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2) => arg1 + arg2); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3) => arg1 + arg2 + arg3); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4) => arg1 + arg2 + arg3 + arg4); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5) => arg1 + arg2 + arg3 + arg4 + arg5); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15); + + + + + + Specifies a function that will calculate the value to return from the method, + retrieving the arguments for the invocation. + + The type of the first argument of the invoked method. + The type of the second argument of the invoked method. + The type of the third argument of the invoked method. + The type of the fourth argument of the invoked method. + The type of the fifth argument of the invoked method. + The type of the sixth argument of the invoked method. + The type of the seventh argument of the invoked method. + The type of the eighth argument of the invoked method. + The type of the nineth argument of the invoked method. + The type of the tenth argument of the invoked method. + The type of the eleventh argument of the invoked method. + The type of the twelfth argument of the invoked method. + The type of the thirteenth argument of the invoked method. + The type of the fourteenth argument of the invoked method. + The type of the fifteenth argument of the invoked method. + The type of the sixteenth argument of the invoked method. + The function that will calculate the return value. + Returns a calculated value which is evaluated lazily at the time of the invocation. + + + The return value is calculated from the value of the actual method invocation arguments. + Notice how the arguments are retrieved by simply declaring them as part of the lambda + expression: + + + mock.Setup(x => x.Execute( + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>(), + It.IsAny<int>())) + .Returns((string arg1, string arg2, string arg3, string arg4, string arg5, string arg6, string arg7, string arg8, string arg9, string arg10, string arg11, string arg12, string arg13, string arg14, string arg15, string arg16) => arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12 + arg13 + arg14 + arg15 + arg16); + + + + + + Language for ReturnSequence + + + + + Returns value + + + + + Throws an exception + + + + + Throws an exception + + + + + The first method call or member access will be the + last segment of the expression (depth-first traversal), + which is the one we have to Setup rather than FluentMock. + And the last one is the one we have to Mock.Get rather + than FluentMock. + + + + + Base class for mocks and static helper class with methods that + apply to mocked objects, such as to + retrieve a from an object instance. + + + + + Creates an mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates an mock object of the indicated type. + + The predicate with the specification of how the mocked object should behave. + The type of the mocked object. + The mocked object created. + + + + Initializes a new instance of the class. + + + + + Retrieves the mock object for the given object instance. + + Type of the mock to retrieve. Can be omitted as it's inferred + from the object instance passed in as the instance. + The instance of the mocked object.The mock associated with the mocked object. + The received instance + was not created by Moq. + + The following example shows how to add a new setup to an object + instance which is not the original but rather + the object associated with it: + + // Typed instance, not the mock, is retrieved from some test API. + HttpContextBase context = GetMockContext(); + + // context.Request is the typed object from the "real" API + // so in order to add a setup to it, we need to get + // the mock that "owns" it + Mock<HttpRequestBase> request = Mock.Get(context.Request); + mock.Setup(req => req.AppRelativeCurrentExecutionFilePath) + .Returns(tempUrl); + + + + + + Returns the mocked object value. + + + + + Verifies that all verifiable expectations have been met. + + This example sets up an expectation and marks it as verifiable. After + the mock is used, a Verify() call is issued on the mock + to ensure the method in the setup was invoked: + + var mock = new Mock<IWarehouse>(); + this.Setup(x => x.HasInventory(TALISKER, 50)).Verifiable().Returns(true); + ... + // other test code + ... + // Will throw if the test code has didn't call HasInventory. + this.Verify(); + + Not all verifiable expectations were met. + + + + Verifies all expectations regardless of whether they have + been flagged as verifiable. + + This example sets up an expectation without marking it as verifiable. After + the mock is used, a call is issued on the mock + to ensure that all expectations are met: + + var mock = new Mock<IWarehouse>(); + this.Setup(x => x.HasInventory(TALISKER, 50)).Returns(true); + ... + // other test code + ... + // Will throw if the test code has didn't call HasInventory, even + // that expectation was not marked as verifiable. + this.VerifyAll(); + + At least one expectation was not met. + + + + Gets the interceptor target for the given expression and root mock, + building the intermediate hierarchy of mock objects if necessary. + + + + + Raises the associated event with the given + event argument data. + + + + + Raises the associated event with the given + event argument data. + + + + + Adds an interface implementation to the mock, + allowing setups to be specified for it. + + This method can only be called before the first use + of the mock property, at which + point the runtime type has already been generated + and no more interfaces can be added to it. + + Also, must be an + interface and not a class, which must be specified + when creating the mock instead. + + + The mock type + has already been generated by accessing the property. + + The specified + is not an interface. + + The following example creates a mock for the main interface + and later adds to it to verify + it's called by the consumer code: + + var mock = new Mock<IProcessor>(); + mock.Setup(x => x.Execute("ping")); + + // add IDisposable interface + var disposable = mock.As<IDisposable>(); + disposable.Setup(d => d.Dispose()).Verifiable(); + + Type of interface to cast the mock to. + + + + + + + Behavior of the mock, according to the value set in the constructor. + + + + + Whether the base member virtual implementation will be called + for mocked classes if no setup is matched. Defaults to . + + + + + Specifies the behavior to use when returning default values for + unexpected invocations on loose mocks. + + + + + Gets the mocked object instance. + + + + + Retrieves the type of the mocked object, its generic type argument. + This is used in the auto-mocking of hierarchy access. + + + + + Specifies the class that will determine the default + value to return when invocations are made that + have no setups and need to return a default + value (for loose mocks). + + + + + Exposes the list of extra interfaces implemented by the mock. + + + + + Utility repository class to use to construct multiple + mocks when consistent verification is + desired for all of them. + + + If multiple mocks will be created during a test, passing + the desired (if different than the + or the one + passed to the repository constructor) and later verifying each + mock can become repetitive and tedious. + + This repository class helps in that scenario by providing a + simplified creation of multiple mocks with a default + (unless overriden by calling + ) and posterior verification. + + + + The following is a straightforward example on how to + create and automatically verify strict mocks using a : + + var repository = new MockRepository(MockBehavior.Strict); + + var foo = repository.Create<IFoo>(); + var bar = repository.Create<IBar>(); + + // no need to call Verifiable() on the setup + // as we'll be validating all of them anyway. + foo.Setup(f => f.Do()); + bar.Setup(b => b.Redo()); + + // exercise the mocks here + + repository.VerifyAll(); + // At this point all setups are already checked + // and an optional MockException might be thrown. + // Note also that because the mocks are strict, any invocation + // that doesn't have a matching setup will also throw a MockException. + + The following examples shows how to setup the repository + to create loose mocks and later verify only verifiable setups: + + var repository = new MockRepository(MockBehavior.Loose); + + var foo = repository.Create<IFoo>(); + var bar = repository.Create<IBar>(); + + // this setup will be verified when we verify the repository + foo.Setup(f => f.Do()).Verifiable(); + + // this setup will NOT be verified + foo.Setup(f => f.Calculate()); + + // this setup will be verified when we verify the repository + bar.Setup(b => b.Redo()).Verifiable(); + + // exercise the mocks here + // note that because the mocks are Loose, members + // called in the interfaces for which no matching + // setups exist will NOT throw exceptions, + // and will rather return default values. + + repository.Verify(); + // At this point verifiable setups are already checked + // and an optional MockException might be thrown. + + The following examples shows how to setup the repository with a + default strict behavior, overriding that default for a + specific mock: + + var repository = new MockRepository(MockBehavior.Strict); + + // this particular one we want loose + var foo = repository.Create<IFoo>(MockBehavior.Loose); + var bar = repository.Create<IBar>(); + + // specify setups + + // exercise the mocks here + + repository.Verify(); + + + + + + + Utility factory class to use to construct multiple + mocks when consistent verification is + desired for all of them. + + + If multiple mocks will be created during a test, passing + the desired (if different than the + or the one + passed to the factory constructor) and later verifying each + mock can become repetitive and tedious. + + This factory class helps in that scenario by providing a + simplified creation of multiple mocks with a default + (unless overriden by calling + ) and posterior verification. + + + + The following is a straightforward example on how to + create and automatically verify strict mocks using a : + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(); + var bar = factory.Create<IBar>(); + + // no need to call Verifiable() on the setup + // as we'll be validating all of them anyway. + foo.Setup(f => f.Do()); + bar.Setup(b => b.Redo()); + + // exercise the mocks here + + factory.VerifyAll(); + // At this point all setups are already checked + // and an optional MockException might be thrown. + // Note also that because the mocks are strict, any invocation + // that doesn't have a matching setup will also throw a MockException. + + The following examples shows how to setup the factory + to create loose mocks and later verify only verifiable setups: + + var factory = new MockFactory(MockBehavior.Loose); + + var foo = factory.Create<IFoo>(); + var bar = factory.Create<IBar>(); + + // this setup will be verified when we verify the factory + foo.Setup(f => f.Do()).Verifiable(); + + // this setup will NOT be verified + foo.Setup(f => f.Calculate()); + + // this setup will be verified when we verify the factory + bar.Setup(b => b.Redo()).Verifiable(); + + // exercise the mocks here + // note that because the mocks are Loose, members + // called in the interfaces for which no matching + // setups exist will NOT throw exceptions, + // and will rather return default values. + + factory.Verify(); + // At this point verifiable setups are already checked + // and an optional MockException might be thrown. + + The following examples shows how to setup the factory with a + default strict behavior, overriding that default for a + specific mock: + + var factory = new MockFactory(MockBehavior.Strict); + + // this particular one we want loose + var foo = factory.Create<IFoo>(MockBehavior.Loose); + var bar = factory.Create<IBar>(); + + // specify setups + + // exercise the mocks here + + factory.Verify(); + + + + + + + Initializes the factory with the given + for newly created mocks from the factory. + + The behavior to use for mocks created + using the factory method if not overriden + by using the overload. + + + + Creates a new mock with the default + specified at factory construction time. + + Type to mock. + A new . + + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(); + // use mock on tests + + factory.VerifyAll(); + + + + + + Creates a new mock with the default + specified at factory construction time and with the + the given constructor arguments for the class. + + + The mock will try to find the best match constructor given the + constructor arguments, and invoke that to initialize the instance. + This applies only to classes, not interfaces. + + Type to mock. + Constructor arguments for mocked classes. + A new . + + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyBase>("Foo", 25, true); + // use mock on tests + + factory.Verify(); + + + + + + Creates a new mock with the given . + + Type to mock. + Behavior to use for the mock, which overrides + the default behavior specified at factory construction time. + A new . + + The following example shows how to create a mock with a different + behavior to that specified as the default for the factory: + + var factory = new MockFactory(MockBehavior.Strict); + + var foo = factory.Create<IFoo>(MockBehavior.Loose); + + + + + + Creates a new mock with the given + and with the the given constructor arguments for the class. + + + The mock will try to find the best match constructor given the + constructor arguments, and invoke that to initialize the instance. + This applies only to classes, not interfaces. + + Type to mock. + Behavior to use for the mock, which overrides + the default behavior specified at factory construction time. + Constructor arguments for mocked classes. + A new . + + The following example shows how to create a mock with a different + behavior to that specified as the default for the factory, passing + constructor arguments: + + var factory = new MockFactory(MockBehavior.Default); + + var mock = factory.Create<MyBase>(MockBehavior.Strict, "Foo", 25, true); + + + + + + Implements creation of a new mock within the factory. + + Type to mock. + The behavior for the new mock. + Optional arguments for the construction of the mock. + + + + Verifies all verifiable expectations on all mocks created + by this factory. + + + One or more mocks had expectations that were not satisfied. + + + + Verifies all verifiable expectations on all mocks created + by this factory. + + + One or more mocks had expectations that were not satisfied. + + + + Invokes for each mock + in , and accumulates the resulting + that might be + thrown from the action. + + The action to execute against + each mock. + + + + Whether the base member virtual implementation will be called + for mocked classes if no setup is matched. Defaults to . + + + + + Specifies the behavior to use when returning default values for + unexpected invocations on loose mocks. + + + + + Gets the mocks that have been created by this factory and + that will get verified together. + + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + The type of the mocked object to query. + + + + Creates an mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates an mock object of the indicated type. + + The predicate with the setup expressions. + The type of the mocked object. + The mocked object created. + + + + Creates the mock query with the underlying queriable implementation. + + + + + Wraps the enumerator inside a queryable. + + + + + Method that is turned into the actual call from .Query{T}, to + transform the queryable query into a normal enumerable query. + This method is never used directly by consumers. + + + + + Initializes the repository with the given + for newly created mocks from the repository. + + The behavior to use for mocks created + using the repository method if not overriden + by using the overload. + + + + A that returns an empty default value + for invocations that do not have setups or return values, with loose mocks. + This is the default behavior for a mock. + + + + + Interface to be implemented by classes that determine the + default value of non-expected invocations. + + + + + Defines the default value to return in all the methods returning . + The type of the return value.The value to set as default. + + + + Provides a value for the given member and arguments. + + The member to provide a default value for. + + + + + The intention of is to create a more readable + string representation for the failure message. + + + + + Implements the fluent API. + + + + + Defines the Throws verb. + + + + + Specifies the exception to throw when the method is invoked. + + Exception instance to throw. + + This example shows how to throw an exception when the method is + invoked with an empty string argument: + + mock.Setup(x => x.Execute("")) + .Throws(new ArgumentException()); + + + + + + Specifies the type of exception to throw when the method is invoked. + + Type of exception to instantiate and throw when the setup is matched. + + This example shows how to throw an exception when the method is + invoked with an empty string argument: + + mock.Setup(x => x.Execute("")) + .Throws<ArgumentException>(); + + + + + + Implements the fluent API. + + + + + Defines occurrence members to constraint setups. + + + + + The expected invocation can happen at most once. + + + + var mock = new Mock<ICommand>(); + mock.Setup(foo => foo.Execute("ping")) + .AtMostOnce(); + + + + + + The expected invocation can happen at most specified number of times. + + The number of times to accept calls. + + + var mock = new Mock<ICommand>(); + mock.Setup(foo => foo.Execute("ping")) + .AtMost( 5 ); + + + + + + Defines the Verifiable verb. + + + + + Marks the expectation as verifiable, meaning that a call + to will check if this particular + expectation was met. + + + The following example marks the expectation as verifiable: + + mock.Expect(x => x.Execute("ping")) + .Returns(true) + .Verifiable(); + + + + + + Marks the expectation as verifiable, meaning that a call + to will check if this particular + expectation was met, and specifies a message for failures. + + + The following example marks the expectation as verifiable: + + mock.Expect(x => x.Execute("ping")) + .Returns(true) + .Verifiable("Ping should be executed always!"); + + + + + + Implements the fluent API. + + + + + We need this non-generics base class so that + we can use from + generic code. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Implements the fluent API. + + + + + Defines the Callback verb for property getter setups. + + + Mocked type. + Type of the property. + + + + Specifies a callback to invoke when the property is retrieved. + + Callback method to invoke. + + Invokes the given callback with the property value being set. + + mock.SetupGet(x => x.Suspended) + .Callback(() => called = true) + .Returns(true); + + + + + + Implements the fluent API. + + + + + Defines the Returns verb for property get setups. + + Mocked type. + Type of the property. + + + + Specifies the value to return. + + The value to return, or . + + Return a true value from the property getter call: + + mock.SetupGet(x => x.Suspended) + .Returns(true); + + + + + + Specifies a function that will calculate the value to return for the property. + + The function that will calculate the return value. + + Return a calculated value when the property is retrieved: + + mock.SetupGet(x => x.Suspended) + .Returns(() => returnValues[0]); + + The lambda expression to retrieve the return value is lazy-executed, + meaning that its value may change depending on the moment the property + is retrieved and the value the returnValues array has at + that moment. + + + + + Implements the fluent API. + + + + + Helper class to setup a full trace between many mocks + + + + + Initialize a trace setup + + + + + Allow sequence to be repeated + + + + + define nice api + + + + + Perform an expectation in the trace. + + + + + Marks a method as a matcher, which allows complete replacement + of the built-in class with your own argument + matching rules. + + + This feature has been deprecated in favor of the new + and simpler . + + + The argument matching is used to determine whether a concrete + invocation in the mock matches a given setup. This + matching mechanism is fully extensible. + + + There are two parts of a matcher: the compiler matcher + and the runtime matcher. + + + Compiler matcher + Used to satisfy the compiler requirements for the + argument. Needs to be a method optionally receiving any arguments + you might need for the matching, but with a return type that + matches that of the argument. + + Let's say I want to match a lists of orders that contains + a particular one. I might create a compiler matcher like the following: + + + public static class Orders + { + [Matcher] + public static IEnumerable<Order> Contains(Order order) + { + return null; + } + } + + Now we can invoke this static method instead of an argument in an + invocation: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + Note that the return value from the compiler matcher is irrelevant. + This method will never be called, and is just used to satisfy the + compiler and to signal Moq that this is not a method that we want + to be invoked at runtime. + + + + Runtime matcher + + The runtime matcher is the one that will actually perform evaluation + when the test is run, and is defined by convention to have the + same signature as the compiler matcher, but where the return + value is the first argument to the call, which contains the + object received by the actual invocation at runtime: + + public static bool Contains(IEnumerable<Order> orders, Order order) + { + return orders.Contains(order); + } + + At runtime, the mocked method will be invoked with a specific + list of orders. This value will be passed to this runtime + matcher as the first argument, while the second argument is the + one specified in the setup (x.Save(Orders.Contains(order))). + + The boolean returned determines whether the given argument has been + matched. If all arguments to the expected method are matched, then + the setup matches and is evaluated. + + + + + + Using this extensible infrastructure, you can easily replace the entire + set of matchers with your own. You can also avoid the + typical (and annoying) lengthy expressions that result when you have + multiple arguments that use generics. + + + The following is the complete example explained above: + + public static class Orders + { + [Matcher] + public static IEnumerable<Order> Contains(Order order) + { + return null; + } + + public static bool Contains(IEnumerable<Order> orders, Order order) + { + return orders.Contains(order); + } + } + + And the concrete test using this matcher: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + // use mock, invoke Save, and have the matcher filter. + + + + + + Provides a mock implementation of . + + Any interface type can be used for mocking, but for classes, only abstract and virtual members can be mocked. + + The behavior of the mock with regards to the setups and the actual calls is determined + by the optional that can be passed to the + constructor. + + Type to mock, which can be an interface or a class. + The following example shows establishing setups with specific values + for method invocations: + + // Arrange + var order = new Order(TALISKER, 50); + var mock = new Mock<IWarehouse>(); + + mock.Setup(x => x.HasInventory(TALISKER, 50)).Returns(true); + + // Act + order.Fill(mock.Object); + + // Assert + Assert.True(order.IsFilled); + + The following example shows how to use the class + to specify conditions for arguments instead of specific values: + + // Arrange + var order = new Order(TALISKER, 50); + var mock = new Mock<IWarehouse>(); + + // shows how to expect a value within a range + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsInRange(0, 100, Range.Inclusive))) + .Returns(false); + + // shows how to throw for unexpected calls. + mock.Setup(x => x.Remove( + It.IsAny<string>(), + It.IsAny<int>())) + .Throws(new InvalidOperationException()); + + // Act + order.Fill(mock.Object); + + // Assert + Assert.False(order.IsFilled); + + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Ctor invoked by AsTInterface exclusively. + + + + + Initializes an instance of the mock with default behavior. + + var mock = new Mock<IFormatProvider>(); + + + + + Initializes an instance of the mock with default behavior and with + the given constructor arguments for the class. (Only valid when is a class) + + The mock will try to find the best match constructor given the constructor arguments, and invoke that + to initialize the instance. This applies only for classes, not interfaces. + + var mock = new Mock<MyProvider>(someArgument, 25); + Optional constructor arguments if the mocked type is a class. + + + + Initializes an instance of the mock with the specified behavior. + + var mock = new Mock<IFormatProvider>(MockBehavior.Relaxed); + Behavior of the mock. + + + + Initializes an instance of the mock with a specific behavior with + the given constructor arguments for the class. + + The mock will try to find the best match constructor given the constructor arguments, and invoke that + to initialize the instance. This applies only to classes, not interfaces. + + var mock = new Mock<MyProvider>(someArgument, 25); + Behavior of the mock.Optional constructor arguments if the mocked type is a class. + + + + Returns the mocked object value. + + + + + Specifies a setup on the mocked type for a call to + to a void method. + + If more than one setup is specified for the same method or property, + the latest one wins and is the one that will be executed. + Lambda expression that specifies the expected method invocation. + + var mock = new Mock<IProcessor>(); + mock.Setup(x => x.Execute("ping")); + + + + + + Specifies a setup on the mocked type for a call to + to a value returning method. + Type of the return value. Typically omitted as it can be inferred from the expression. + If more than one setup is specified for the same method or property, + the latest one wins and is the one that will be executed. + Lambda expression that specifies the method invocation. + + mock.Setup(x => x.HasInventory("Talisker", 50)).Returns(true); + + + + + + Specifies a setup on the mocked type for a call to + to a property getter. + + If more than one setup is set for the same property getter, + the latest one wins and is the one that will be executed. + Type of the property. Typically omitted as it can be inferred from the expression.Lambda expression that specifies the property getter. + + mock.SetupGet(x => x.Suspended) + .Returns(true); + + + + + + Specifies a setup on the mocked type for a call to + to a property setter. + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + This overloads allows the use of a callback already + typed for the property type. + + Type of the property. Typically omitted as it can be inferred from the expression.The Lambda expression that sets a property to a value. + + mock.SetupSet(x => x.Suspended = true); + + + + + + Specifies a setup on the mocked type for a call to + to a property setter. + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + Lambda expression that sets a property to a value. + + mock.SetupSet(x => x.Suspended = true); + + + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and + later returned when the property is requested. (this is also + known as "stubbing"). + + Type of the property, inferred from the property + expression (does not need to be specified). + Property expression to stub. + If you have an interface with an int property Value, you might + stub it using the following straightforward call: + + var mock = new Mock<IHaveValue>(); + mock.Stub(v => v.Value); + + After the Stub call has been issued, setting and + retrieving the object value will behave as expected: + + IHaveValue v = mock.Object; + + v.Value = 5; + Assert.Equal(5, v.Value); + + + + + + Specifies that the given property should have "property behavior", + meaning that setting its value will cause it to be saved and + later returned when the property is requested. This overload + allows setting the initial value for the property. (this is also + known as "stubbing"). + + Type of the property, inferred from the property + expression (does not need to be specified). + Property expression to stub.Initial value for the property. + If you have an interface with an int property Value, you might + stub it using the following straightforward call: + + var mock = new Mock<IHaveValue>(); + mock.SetupProperty(v => v.Value, 5); + + After the SetupProperty call has been issued, setting and + retrieving the object value will behave as expected: + + IHaveValue v = mock.Object; + // Initial value was stored + Assert.Equal(5, v.Value); + + // New value set which changes the initial value + v.Value = 6; + Assert.Equal(6, v.Value); + + + + + + Specifies that the all properties on the mock should have "property behavior", + meaning that setting its value will cause it to be saved and + later returned when the property is requested. (this is also + known as "stubbing"). The default value for each property will be the + one generated as specified by the property for the mock. + + If the mock is set to , + the mocked default values will also get all properties setup recursively. + + + + + + + + Verifies that a specific invocation matching the given expression was performed on the mock. Use + in conjuntion with the default . + + This example assumes that the mock has been used, and later we want to verify that a given + invocation with specific parameters was performed: + + var mock = new Mock<IProcessor>(); + // exercise mock + //... + // Will throw if the test code didn't call Execute with a "ping" string argument. + mock.Verify(proc => proc.Execute("ping")); + + The invocation was not performed on the mock.Expression to verify. + + + + Verifies that a specific invocation matching the given expression was performed on the mock. Use + in conjuntion with the default . + + The invocation was not call the times specified by + . + Expression to verify.The number of times a method is allowed to be called. + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. Use in conjuntion with the default + . + + This example assumes that the mock has been used, and later we want to verify that a given + invocation with specific parameters was performed: + + var mock = new Mock<IProcessor>(); + // exercise mock + //... + // Will throw if the test code didn't call Execute with a "ping" string argument. + mock.Verify(proc => proc.Execute("ping")); + + The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. + + + + Verifies that a specific invocation matching the given expression was performed on the mock, + specifying a failure error message. Use in conjuntion with the default + . + + The invocation was not call the times specified by + . + Expression to verify.The number of times a method is allowed to be called.Message to show if verification fails. + + + + Verifies that a specific invocation matching the given expression was performed on the mock. Use + in conjuntion with the default . + + This example assumes that the mock has been used, and later we want to verify that a given + invocation with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't call HasInventory. + mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50)); + + The invocation was not performed on the mock.Expression to verify.Type of return value from the expression. + + + + Verifies that a specific invocation matching the given + expression was performed on the mock. Use in conjuntion + with the default . + + The invocation was not call the times specified by + . + Expression to verify.The number of times a method is allowed to be called.Type of return value from the expression. + + + + Verifies that a specific invocation matching the given + expression was performed on the mock, specifying a failure + error message. + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't call HasInventory. + mock.Verify(warehouse => warehouse.HasInventory(TALISKER, 50), "When filling orders, inventory has to be checked"); + + The invocation was not performed on the mock.Expression to verify.Message to show if verification fails.Type of return value from the expression. + + + + Verifies that a specific invocation matching the given + expression was performed on the mock, specifying a failure + error message. + + The invocation was not call the times specified by + . + Expression to verify.The number of times a method is allowed to be called.Message to show if verification fails.Type of return value from the expression. + + + + Verifies that a property was read on the mock. + + This example assumes that the mock has been used, + and later we want to verify that a given property + was retrieved from it: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't retrieve the IsClosed property. + mock.VerifyGet(warehouse => warehouse.IsClosed); + + The invocation was not performed on the mock.Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + + Verifies that a property was read on the mock. + + The invocation was not call the times specified by + . + The number of times a method is allowed to be called.Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + + Verifies that a property was read on the mock, specifying a failure + error message. + + This example assumes that the mock has been used, + and later we want to verify that a given property + was retrieved from it: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't retrieve the IsClosed property. + mock.VerifyGet(warehouse => warehouse.IsClosed); + + The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + + Verifies that a property was read on the mock, specifying a failure + error message. + + The invocation was not call the times specified by + . + The number of times a method is allowed to be called.Expression to verify.Message to show if verification fails. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + + Verifies that a property was set on the mock. + + This example assumes that the mock has been used, + and later we want to verify that a given property + was set on it: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed = true); + + The invocation was not performed on the mock.Expression to verify. + + + + Verifies that a property was set on the mock. + + The invocation was not call the times specified by + . + The number of times a method is allowed to be called.Expression to verify. + + + + Verifies that a property was set on the mock, specifying + a failure message. + + This example assumes that the mock has been used, + and later we want to verify that a given property + was set on it: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed = true, "Warehouse should always be closed after the action"); + + The invocation was not performed on the mock.Expression to verify.Message to show if verification fails. + + + + Verifies that a property was set on the mock, specifying + a failure message. + + The invocation was not call the times specified by + . + The number of times a method is allowed to be called.Expression to verify.Message to show if verification fails. + + + + Raises the event referenced in using + the given argument. + + The argument is + invalid for the target event invocation, or the is + not an event attach or detach expression. + + The following example shows how to raise a event: + + var mock = new Mock<IViewModel>(); + + mock.Raise(x => x.PropertyChanged -= null, new PropertyChangedEventArgs("Name")); + + + This example shows how to invoke an event with a custom event arguments + class in a view that will cause its corresponding presenter to + react by changing its state: + + var mockView = new Mock<IOrdersView>(); + var presenter = new OrdersPresenter(mockView.Object); + + // Check that the presenter has no selection by default + Assert.Null(presenter.SelectedOrder); + + // Raise the event with a specific arguments data + mockView.Raise(v => v.SelectionChanged += null, new OrderEventArgs { Order = new Order("moq", 500) }); + + // Now the presenter reacted to the event, and we have a selected order + Assert.NotNull(presenter.SelectedOrder); + Assert.Equal("moq", presenter.SelectedOrder.ProductName); + + + + + + Raises the event referenced in using + the given argument for a non-EventHandler typed event. + + The arguments are + invalid for the target event invocation, or the is + not an event attach or detach expression. + + The following example shows how to raise a custom event that does not adhere to + the standard EventHandler: + + var mock = new Mock<IViewModel>(); + + mock.Raise(x => x.MyEvent -= null, "Name", bool, 25); + + + + + + Exposes the mocked object instance. + + + + + Provides legacy API members as extensions so that + existing code continues to compile, but new code + doesn't see then. + + + + + Obsolete. + + + + + Obsolete. + + + + + Obsolete. + + + + + Provides additional methods on mocks. + + + Provided as extension methods as they confuse the compiler + with the overloads taking Action. + + + + + Specifies a setup on the mocked type for a call to + to a property setter, regardless of its value. + + + If more than one setup is set for the same property setter, + the latest one wins and is the one that will be executed. + + Type of the property. Typically omitted as it can be inferred from the expression. + Type of the mock. + The target mock for the setup. + Lambda expression that specifies the property setter. + + + mock.SetupSet(x => x.Suspended); + + + + This method is not legacy, but must be on an extension method to avoid + confusing the compiler with the new Action syntax. + + + + + Verifies that a property has been set on the mock, regarless of its value. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + Expression to verify. + The mock instance. + Mocked type. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, specifying a failure + error message. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + Expression to verify. + Message to show if verification fails. + The mock instance. + Mocked type. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, regardless + of the value but only the specified number of times. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + The invocation was not call the times specified by + . + The mock instance. + Mocked type. + The number of times a method is allowed to be called. + Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Verifies that a property has been set on the mock, regardless + of the value but only the specified number of times, and specifying a failure + error message. + + + This example assumes that the mock has been used, + and later we want to verify that a given invocation + with specific parameters was performed: + + var mock = new Mock<IWarehouse>(); + // exercise mock + //... + // Will throw if the test code didn't set the IsClosed property. + mock.VerifySet(warehouse => warehouse.IsClosed); + + + The invocation was not performed on the mock. + The invocation was not call the times specified by + . + The mock instance. + Mocked type. + The number of times a method is allowed to be called. + Message to show if verification fails. + Expression to verify. + Type of the property to verify. Typically omitted as it can + be inferred from the expression's return type. + + + + Helper for sequencing return values in the same method. + + + + + Return a sequence of values, once per call. + + + + + Casts the expression to a lambda expression, removing + a cast if there's any. + + + + + Casts the body of the lambda expression to a . + + If the body is not a method call. + + + + Converts the body of the lambda expression into the referenced by it. + + + + + Checks whether the body of the lambda expression is a property access. + + + + + Checks whether the expression is a property access. + + + + + Checks whether the body of the lambda expression is a property indexer, which is true + when the expression is an whose + has + equal to . + + + + + Checks whether the expression is a property indexer, which is true + when the expression is an whose + has + equal to . + + + + + Creates an expression that casts the given expression to the + type. + + + + + TODO: remove this code when https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=331583 + is fixed. + + + + + Provides partial evaluation of subtrees, whenever they can be evaluated locally. + + Matt Warren: http://blogs.msdn.com/mattwar + Documented by InSTEDD: http://www.instedd.org + + + + Performs evaluation and replacement of independent sub-trees + + The root of the expression tree. + A function that decides whether a given expression + node can be part of the local function. + A new tree with sub-trees evaluated and replaced. + + + + Performs evaluation and replacement of independent sub-trees + + The root of the expression tree. + A new tree with sub-trees evaluated and replaced. + + + + Evaluates and replaces sub-trees when first candidate is reached (top-down) + + + + + Performs bottom-up analysis to determine which nodes can possibly + be part of an evaluated sub-tree. + + + + + Ensures the given is not null. + Throws otherwise. + + + + + Ensures the given string is not null or empty. + Throws in the first case, or + in the latter. + + + + + Checks an argument to ensure it is in the specified range including the edges. + + Type of the argument to check, it must be an type. + + The expression containing the name of the argument. + The argument value to check. + The minimun allowed value for the argument. + The maximun allowed value for the argument. + + + + Checks an argument to ensure it is in the specified range excluding the edges. + + Type of the argument to check, it must be an type. + + The expression containing the name of the argument. + The argument value to check. + The minimun allowed value for the argument. + The maximun allowed value for the argument. + + + + Implemented by all generated mock object instances. + + + + + Implemented by all generated mock object instances. + + + + + Reference the Mock that contains this as the mock.Object value. + + + + + Reference the Mock that contains this as the mock.Object value. + + + + + Implements the actual interception and method invocation for + all mocks. + + + + + Get an eventInfo for a given event name. Search type ancestors depth first if necessary. + + Name of the event, with the set_ or get_ prefix already removed + + + + Given a type return all of its ancestors, both types and interfaces. + + The type to find immediate ancestors of + + + + Implements the fluent API. + + + + + Defines the Callback verb for property setter setups. + + Type of the property. + + + + Specifies a callback to invoke when the property is set that receives the + property value being set. + + Callback method to invoke. + + Invokes the given callback with the property value being set. + + mock.SetupSet(x => x.Suspended) + .Callback((bool state) => Console.WriteLine(state)); + + + + + + Allows the specification of a matching condition for an + argument in a method invocation, rather than a specific + argument value. "It" refers to the argument being matched. + + This class allows the setup to match a method invocation + with an arbitrary value, with a value in a specified range, or + even one that matches a given predicate. + + + + + Matches any value of the given type. + + Typically used when the actual argument value for a method + call is not relevant. + + + // Throws an exception for a call to Remove with any string value. + mock.Setup(x => x.Remove(It.IsAny<string>())).Throws(new InvalidOperationException()); + + Type of the value. + + + + Matches any value that satisfies the given predicate. + Type of the argument to check.The predicate used to match the method argument. + Allows the specification of a predicate to perform matching + of method call arguments. + + This example shows how to return the value 1 whenever the argument to the + Do method is an even number. + + mock.Setup(x => x.Do(It.Is<int>(i => i % 2 == 0))) + .Returns(1); + + This example shows how to throw an exception if the argument to the + method is a negative number: + + mock.Setup(x => x.GetUser(It.Is<int>(i => i < 0))) + .Throws(new ArgumentException()); + + + + + + Matches any value that is in the range specified. + Type of the argument to check.The lower bound of the range.The upper bound of the range. + The kind of range. See . + + The following example shows how to expect a method call + with an integer argument within the 0..100 range. + + mock.Setup(x => x.HasInventory( + It.IsAny<string>(), + It.IsInRange(0, 100, Range.Inclusive))) + .Returns(false); + + + + + + Matches a string argument if it matches the given regular expression pattern. + The pattern to use to match the string argument value. + The following example shows how to expect a call to a method where the + string argument matches the given regular expression: + + mock.Setup(x => x.Check(It.IsRegex("[a-z]+"))).Returns(1); + + + + + + Matches a string argument if it matches the given regular expression pattern. + The pattern to use to match the string argument value.The options used to interpret the pattern. + The following example shows how to expect a call to a method where the + string argument matches the given regular expression, in a case insensitive way: + + mock.Setup(x => x.Check(It.IsRegex("[a-z]+", RegexOptions.IgnoreCase))).Returns(1); + + + + + + Matcher to treat static functions as matchers. + + mock.Setup(x => x.StringMethod(A.MagicString())); + + public static class A + { + [Matcher] + public static string MagicString() { return null; } + public static bool MagicString(string arg) + { + return arg == "magic"; + } + } + + Will succeed if: mock.Object.StringMethod("magic"); + and fail with any other call. + + + + + Options to customize the behavior of the mock. + + + + + Causes the mock to always throw + an exception for invocations that don't have a + corresponding setup. + + + + + Will never throw exceptions, returning default + values when necessary (null for reference types, + zero for value types or empty enumerables and arrays). + + + + + Default mock behavior, which equals . + + + + + Exception thrown by mocks when setups are not matched, + the mock is not properly setup, etc. + + + A distinct exception type is provided so that exceptions + thrown by the mock can be differentiated in tests that + expect other exceptions to be thrown (i.e. ArgumentException). + + Richer exception hierarchy/types are not provided as + tests typically should not catch or expect exceptions + from the mocks. These are typically the result of changes + in the tested class or its collaborators implementation, and + result in fixes in the mock setup so that they dissapear and + allow the test to pass. + + + + + + Supports the serialization infrastructure. + + Serialization information. + Streaming context. + + + + Supports the serialization infrastructure. + + Serialization information. + Streaming context. + + + + Made internal as it's of no use for + consumers, but it's important for + our own tests. + + + + + Used by the mock factory to accumulate verification + failures. + + + + + Supports the serialization infrastructure. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Mock type has already been initialized by accessing its Object property. Adding interfaces must be done before that.. + + + + + Looks up a localized string similar to Value cannot be an empty string.. + + + + + Looks up a localized string similar to Can only add interfaces to the mock.. + + + + + Looks up a localized string similar to Can't set return value for void method {0}.. + + + + + Looks up a localized string similar to Constructor arguments cannot be passed for interface mocks.. + + + + + Looks up a localized string similar to A matching constructor for the given arguments was not found on the mocked type.. + + + + + Looks up a localized string similar to Could not locate event for attach or detach method {0}.. + + + + + Looks up a localized string similar to Expression {0} involves a field access, which is not supported. Use properties instead.. + + + + + Looks up a localized string similar to Type to mock must be an interface or an abstract or non-sealed class. . + + + + + Looks up a localized string similar to Cannot retrieve a mock with the given object type {0} as it's not the main type of the mock or any of its additional interfaces. + Please cast the argument to one of the supported types: {1}. + Remember that there's no generics covariance in the CLR, so your object must be one of these types in order for the call to succeed.. + + + + + Looks up a localized string similar to The equals ("==" or "=" in VB) and the conditional 'and' ("&&" or "AndAlso" in VB) operators are the only ones supported in the query specification expression. Unsupported expression: {0}. + + + + + Looks up a localized string similar to LINQ method '{0}' not supported.. + + + + + Looks up a localized string similar to Expression contains a call to a method which is not virtual (overridable in VB) or abstract. Unsupported expression: {0}. + + + + + Looks up a localized string similar to Member {0}.{1} does not exist.. + + + + + Looks up a localized string similar to Method {0}.{1} is public. Use strong-typed Expect overload instead: + mock.Setup(x => x.{1}()); + . + + + + + Looks up a localized string similar to {0} invocation failed with mock behavior {1}. + {2}. + + + + + Looks up a localized string similar to Expected only {0} calls to {1}.. + + + + + Looks up a localized string similar to Expected only one call to {0}.. + + + + + Looks up a localized string similar to {0} + Expected invocation on the mock at least {2} times, but was {4} times: {1}. + + + + + Looks up a localized string similar to {0} + Expected invocation on the mock at least once, but was never performed: {1}. + + + + + Looks up a localized string similar to {0} + Expected invocation on the mock at most {3} times, but was {4} times: {1}. + + + + + Looks up a localized string similar to {0} + Expected invocation on the mock at most once, but was {4} times: {1}. + + + + + Looks up a localized string similar to {0} + Expected invocation on the mock between {2} and {3} times (Exclusive), but was {4} times: {1}. + + + + + Looks up a localized string similar to {0} + Expected invocation on the mock between {2} and {3} times (Inclusive), but was {4} times: {1}. + + + + + Looks up a localized string similar to {0} + Expected invocation on the mock exactly {2} times, but was {4} times: {1}. + + + + + Looks up a localized string similar to {0} + Expected invocation on the mock should never have been performed, but was {4} times: {1}. + + + + + Looks up a localized string similar to {0} + Expected invocation on the mock once, but was {4} times: {1}. + + + + + Looks up a localized string similar to All invocations on the mock must have a corresponding setup.. + + + + + Looks up a localized string similar to Object instance was not created by Moq.. + + + + + Looks up a localized string similar to Out expression must evaluate to a constant value.. + + + + + Looks up a localized string similar to Property {0}.{1} does not have a getter.. + + + + + Looks up a localized string similar to Property {0}.{1} does not exist.. + + + + + Looks up a localized string similar to Property {0}.{1} is write-only.. + + + + + Looks up a localized string similar to Property {0}.{1} is read-only.. + + + + + Looks up a localized string similar to Property {0}.{1} does not have a setter.. + + + + + Looks up a localized string similar to Cannot raise a mocked event unless it has been associated (attached) to a concrete event in a mocked object.. + + + + + Looks up a localized string similar to Ref expression must evaluate to a constant value.. + + + + + Looks up a localized string similar to Invocation needs to return a value and therefore must have a corresponding setup that provides it.. + + + + + Looks up a localized string similar to A lambda expression is expected as the argument to It.Is<T>.. + + + + + Looks up a localized string similar to Invocation {0} should not have been made.. + + + + + Looks up a localized string similar to Expression is not a method invocation: {0}. + + + + + Looks up a localized string similar to Expression is not a property access: {0}. + + + + + Looks up a localized string similar to Expression is not a property setter invocation.. + + + + + Looks up a localized string similar to Expression references a method that does not belong to the mocked object: {0}. + + + + + Looks up a localized string similar to Invalid setup on a non-virtual (overridable in VB) member: {0}. + + + + + Looks up a localized string similar to Type {0} does not implement required interface {1}. + + + + + Looks up a localized string similar to Type {0} does not from required type {1}. + + + + + Looks up a localized string similar to To specify a setup for public property {0}.{1}, use the typed overloads, such as: + mock.Setup(x => x.{1}).Returns(value); + mock.SetupGet(x => x.{1}).Returns(value); //equivalent to previous one + mock.SetupSet(x => x.{1}).Callback(callbackDelegate); + . + + + + + Looks up a localized string similar to Unsupported expression: {0}. + + + + + Looks up a localized string similar to Only property accesses are supported in intermediate invocations on a setup. Unsupported expression {0}.. + + + + + Looks up a localized string similar to Expression contains intermediate property access {0}.{1} which is of type {2} and cannot be mocked. Unsupported expression {3}.. + + + + + Looks up a localized string similar to Setter expression cannot use argument matchers that receive parameters.. + + + + + Looks up a localized string similar to Member {0} is not supported for protected mocking.. + + + + + Looks up a localized string similar to Setter expression can only use static custom matchers.. + + + + + Looks up a localized string similar to The following setups were not matched: + {0}. + + + + + Looks up a localized string similar to Invalid verify on a non-virtual (overridable in VB) member: {0}. + + + + + Allows setups to be specified for protected members by using their + name as a string, rather than strong-typing them which is not possible + due to their visibility. + + + + + Specifies a setup for a void method invocation with the given + , optionally specifying arguments for the method call. + + The name of the void method to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a setup for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The return type of the method or property. + + + + Specifies a setup for an invocation on a property getter with the given + . + + The name of the property. + The type of the property. + + + + Specifies a setup for an invocation on a property setter with the given + . + + The name of the property. + The property value. If argument matchers are used, + remember to use rather than . + The type of the property. + + + + Specifies a verify for a void method with the given , + optionally specifying arguments for the method call. Use in conjuntion with the default + . + + The invocation was not call the times specified by + . + The name of the void method to be verified. + The number of times a method is allowed to be called. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + + + + Specifies a verify for an invocation on a property or a non void method with the given + , optionally specifying arguments for the method call. + + The invocation was not call the times specified by + . + The name of the method or property to be invoked. + The optional arguments for the invocation. If argument matchers are used, + remember to use rather than . + The number of times a method is allowed to be called. + The type of return value from the expression. + + + + Specifies a verify for an invocation on a property getter with the given + . + The invocation was not call the times specified by + . + + The name of the property. + The number of times a method is allowed to be called. + The type of the property. + + + + Specifies a setup for an invocation on a property setter with the given + . + + The invocation was not call the times specified by + . + The name of the property. + The number of times a method is allowed to be called. + The property value. + The type of the property. If argument matchers are used, + remember to use rather than . + + + + Allows the specification of a matching condition for an + argument in a protected member setup, rather than a specific + argument value. "ItExpr" refers to the argument being matched. + + + Use this variant of argument matching instead of + for protected setups. + This class allows the setup to match a method invocation + with an arbitrary value, with a value in a specified range, or + even one that matches a given predicate, or null. + + + + + Matches a null value of the given type. + + + Required for protected mocks as the null value cannot be used + directly as it prevents proper method overload selection. + + + + // Throws an exception for a call to Remove with a null string value. + mock.Protected() + .Setup("Remove", ItExpr.IsNull<string>()) + .Throws(new InvalidOperationException()); + + + Type of the value. + + + + Matches any value of the given type. + + + Typically used when the actual argument value for a method + call is not relevant. + + + + // Throws an exception for a call to Remove with any string value. + mock.Protected() + .Setup("Remove", ItExpr.IsAny<string>()) + .Throws(new InvalidOperationException()); + + + Type of the value. + + + + Matches any value that satisfies the given predicate. + + Type of the argument to check. + The predicate used to match the method argument. + + Allows the specification of a predicate to perform matching + of method call arguments. + + + This example shows how to return the value 1 whenever the argument to the + Do method is an even number. + + mock.Protected() + .Setup("Do", ItExpr.Is<int>(i => i % 2 == 0)) + .Returns(1); + + This example shows how to throw an exception if the argument to the + method is a negative number: + + mock.Protected() + .Setup("GetUser", ItExpr.Is<int>(i => i < 0)) + .Throws(new ArgumentException()); + + + + + + Matches any value that is in the range specified. + + Type of the argument to check. + The lower bound of the range. + The upper bound of the range. + The kind of range. See . + + The following example shows how to expect a method call + with an integer argument within the 0..100 range. + + mock.Protected() + .Setup("HasInventory", + ItExpr.IsAny<string>(), + ItExpr.IsInRange(0, 100, Range.Inclusive)) + .Returns(false); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + + The following example shows how to expect a call to a method where the + string argument matches the given regular expression: + + mock.Protected() + .Setup("Check", ItExpr.IsRegex("[a-z]+")) + .Returns(1); + + + + + + Matches a string argument if it matches the given regular expression pattern. + + The pattern to use to match the string argument value. + The options used to interpret the pattern. + + The following example shows how to expect a call to a method where the + string argument matches the given regular expression, in a case insensitive way: + + mock.Protected() + .Setup("Check", ItExpr.IsRegex("[a-z]+", RegexOptions.IgnoreCase)) + .Returns(1); + + + + + + Enables the Protected() method on , + allowing setups to be set for protected members by using their + name as a string, rather than strong-typing them which is not possible + due to their visibility. + + + + + Enable protected setups for the mock. + + Mocked object type. Typically omitted as it can be inferred from the mock instance. + The mock to set the protected setups on. + + + + + + + + + + + + Kind of range to use in a filter specified through + . + + + + + The range includes the to and + from values. + + + + + The range does not include the to and + from values. + + + + + Determines the way default values are generated + calculated for loose mocks. + + + + + Default behavior, which generates empty values for + value types (i.e. default(int)), empty array and + enumerables, and nulls for all other reference types. + + + + + Whenever the default value generated by + is null, replaces this value with a mock (if the type + can be mocked). + + + For sealed classes, a null value will be generated. + + + + + A default implementation of IQueryable for use with QueryProvider + + + + + The is a + static method that returns an IQueryable of Mocks of T which is used to + apply the linq specification to. + + + + + Allows creation custom value matchers that can be used on setups and verification, + completely replacing the built-in class with your own argument + matching rules. + + See also . + + + + + Provided for the sole purpose of rendering the delegate passed to the + matcher constructor if no friendly render lambda is provided. + + + + + Initializes the match with the condition that + will be checked in order to match invocation + values. + The condition to match against actual values. + + + + + + + + + This method is used to set an expression as the last matcher invoked, + which is used in the SetupSet to allow matchers in the prop = value + delegate expression. This delegate is executed in "fluent" mode in + order to capture the value being set, and construct the corresponding + methodcall. + This is also used in the MatcherFactory for each argument expression. + This method ensures that when we execute the delegate, we + also track the matcher that was invoked, so that when we create the + methodcall we build the expression using it, rather than the null/default + value returned from the actual invocation. + + + + + Allows creation custom value matchers that can be used on setups and verification, + completely replacing the built-in class with your own argument + matching rules. + Type of the value to match. + The argument matching is used to determine whether a concrete + invocation in the mock matches a given setup. This + matching mechanism is fully extensible. + + Creating a custom matcher is straightforward. You just need to create a method + that returns a value from a call to with + your matching condition and optional friendly render expression: + + [Matcher] + public Order IsBigOrder() + { + return Match<Order>.Create( + o => o.GrandTotal >= 5000, + /* a friendly expression to render on failures */ + () => IsBigOrder()); + } + + This method can be used in any mock setup invocation: + + mock.Setup(m => m.Submit(IsBigOrder()).Throws<UnauthorizedAccessException>(); + + At runtime, Moq knows that the return value was a matcher (note that the method MUST be + annotated with the [Matcher] attribute in order to determine this) and + evaluates your predicate with the actual value passed into your predicate. + + Another example might be a case where you want to match a lists of orders + that contains a particular one. You might create matcher like the following: + + + public static class Orders + { + [Matcher] + public static IEnumerable<Order> Contains(Order order) + { + return Match<IEnumerable<Order>>.Create(orders => orders.Contains(order)); + } + } + + Now we can invoke this static method instead of an argument in an + invocation: + + var order = new Order { ... }; + var mock = new Mock<IRepository<Order>>(); + + mock.Setup(x => x.Save(Orders.Contains(order))) + .Throws<ArgumentException>(); + + + + + + Tracks the current mock and interception context. + + + + + Having an active fluent mock context means that the invocation + is being performed in "trial" mode, just to gather the + target method and arguments that need to be matched later + when the actual invocation is made. + + + + + A that returns an empty default value + for non-mockeable types, and mocks for all other types (interfaces and + non-sealed classes) that can be mocked. + + + + + Allows querying the universe of mocks for those that behave + according to the LINQ query specification. + + + This entry-point into Linq to Mocks is the only one in the root Moq + namespace to ease discovery. But to get all the mocking extension + methods on Object, a using of Moq.Linq must be done, so that the + polluting of the intellisense for all objects is an explicit opt-in. + + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The type of the mocked object to query. + + + + Access the universe of mocks of the given type, to retrieve those + that behave according to the LINQ query specification. + + The predicate with the setup expressions. + The type of the mocked object to query. + + + + Creates an mock object of the indicated type. + + The type of the mocked object. + The mocked object created. + + + + Creates an mock object of the indicated type. + + The predicate with the setup expressions. + The type of the mocked object. + The mocked object created. + + + + Creates the mock query with the underlying queriable implementation. + + + + + Wraps the enumerator inside a queryable. + + + + + Method that is turned into the actual call from .Query{T}, to + transform the queryable query into a normal enumerable query. + This method is never used directly by consumers. + + + + + Extension method used to support Linq-like setup properties that are not virtual but do have + a getter and a setter, thereby allowing the use of Linq to Mocks to quickly initialize Dtos too :) + + + + + Helper extensions that are used by the query translator. + + + + + Retrieves a fluent mock from the given setup expression. + + + + + Defines the number of invocations allowed by a mocked method. + + + + + Specifies that a mocked method should be invoked times as minimum. + The minimun number of times.An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked one time as minimum. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked time as maximun. + The maximun number of times.An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked one time as maximun. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked between and + times. + The minimun number of times.The maximun number of times. + The kind of range. See . + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked exactly times. + The times that a method or property can be called.An object defining the allowed number of invocations. + + + + Specifies that a mocked method should not be invoked. + An object defining the allowed number of invocations. + + + + Specifies that a mocked method should be invoked exactly one time. + An object defining the allowed number of invocations. + + + + 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. + + + + + Determines whether two specified objects have the same value. + + The first . + + The second . + + true if the value of left is the same as the value of right; otherwise, false. + + + + + Determines whether two specified objects have different values. + + The first . + + The second . + + true if the value of left is different from the value of right; otherwise, false. + + + + diff --git a/Lib/Portoa.Web.dll b/Lib/Portoa.Web.dll index 876a6681c77067fa8934c5fcd8b8931050302c7a..f20195b75ea36226261e19738753a7cc8a08eb96 100644 GIT binary patch delta 15028 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%0D@L6V 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 ek61mL-?F01cenWO_)%5X^lC|6{vXj? + + + Exposes an interface to configure log4net + + + + + Sets the name of the logger to retrieve + + Name of the logger to use + + + + Uses the XmlConfigurator to configure log4net + + Optional filename to watch, otherwise it uses the default + + + + Configures the application to use log4net + + Provides an interface for interacting with session data @@ -301,15 +323,5 @@ Controller factory that uses a service provider to resolve controllers - - - Sets the name of the logger to retrieve - - - - - Configures the application to use log4net - - diff --git a/Tests/VideoGameQuotes.Api.Tests/NHibernate/schema.sql b/Tests/VideoGameQuotes.Api.Tests/NHibernate/schema.sql index 5837fad..5fe656e 100644 --- a/Tests/VideoGameQuotes.Api.Tests/NHibernate/schema.sql +++ b/Tests/VideoGameQuotes.Api.Tests/NHibernate/schema.sql @@ -58,7 +58,7 @@ alter table game_quote drop foreign key fk_quote_game create table vote ( vote_id INTEGER NOT NULL AUTO_INCREMENT, created DATETIME not null, - point_value INTEGER not null, + direction INTEGER not null, voter_id INTEGER not null, quote_id INTEGER not null, primary key (vote_id)