@@ -20,11 +20,36 @@ public class TestStatus : CoreTest {
2020 [ Test ] public void Fail_Func ( ) => o ( fail ( ) . failing ) ;
2121 [ Test ] public void Running_Func ( ) => o ( cont ( ) . running ) ;
2222
23- #if ! AL_OPTIMIZE
23+ // --------------------------------------------------------------
2424
25- LogString log = null ;
25+ #if AL_OPTIMIZE
26+ // optimized mode
27+ [ Test ] public void Construct_withLogTrace ( ) {
28+ status a = done ( ) ;
29+ o ( new status ( a , trace : null ) . complete ) ;
30+ }
31+
32+ // optimized mode
33+ [ Test ] public void ToString_ ( ) {
34+ o ( fail . ToString ( ) , "fail" ) ;
35+ o ( cont . ToString ( ) , "cont" ) ;
36+ o ( done . ToString ( ) , "done" ) ;
37+ o ( status . @unchecked ( 5 ) . ToString ( ) , "invalid_status(5)" ) ;
38+ }
39+
40+ // optimized mode
41+ [ Test ] public void Indexer ( ) {
42+ o ( done [ null ] . complete ) ;
43+ }
44+
45+ // optimized mode
46+ [ Test ] public void WithValidString ( ) {
47+ o ( ( done % ( ValidString ) null ) . complete ) ;
48+ }
49+
50+ #endif
2651
27- [ Test ] public void Construct_value_and_trace (
52+ [ Test ] public void Construct_withValueAndTrace (
2853 [ Values ( true , false ) ] bool lg ) {
2954 var _log = status . log ;
3055 //
@@ -33,6 +58,30 @@ [Test] public void Construct_value_and_trace(
3358 status . log = _log ;
3459 }
3560
61+ [ Test ] public void Construct_withStatusAndPrev_1 ( ) {
62+ status a = done ( ) , b = fail ( ) ;
63+ o ( new status ( a , prev : b ) . complete ) ;
64+ }
65+
66+ [ Test ] public void Construct_withStatusAndPrev_2 ( )
67+ => o ( new status ( done ( ) , prev : fail ( ) , value : 5 ) . complete ) ;
68+
69+ [ Test ] public void Equals_type_mismatch ( ) {
70+ o ( done . Equals ( "1" ) , false ) ;
71+ }
72+
73+ // Optimized mode
74+ [ Test ] public void ViaDecorator ( )
75+ => o ( done . ViaDecorator ( null , null ) . complete ) ;
76+
77+ // optimized mode
78+ //[Test] public void LogTrace()
79+ //=> o( status.LogTrace(null, null), null );
80+
81+ #if ! AL_OPTIMIZE
82+
83+ LogString log = null ;
84+
3685 [ Test ] public void Construct_logtraceMissing ( ) {
3786 Assert . Throws < ArgEx > ( ( ) =>
3887 { var z = new status ( 0 , null , null ) ; } ) ;
@@ -63,10 +112,6 @@ [Test] public void ConstructWithCIAndReason(){
63112 }
64113 }
65114
66- [ Test ] public void Equals_type_mismatch ( ) {
67- o ( done . Equals ( "1" ) , false ) ;
68- }
69-
70115 [ Test ] public void Validate ( ) {
71116 Assert . Throws < ArgEx > ( ( ) => status . Validate ( 12 ) ) ;
72117 }
@@ -107,6 +152,7 @@ [Test] public void ToString_(){
107152 o ( fail . ToString ( ) , "failing ()" ) ;
108153 o ( cont . ToString ( ) , "running ()" ) ;
109154 o ( done . ToString ( ) , "done ()" ) ;
155+ //o ( new status(5).ToString(), "invalid_status(5)");
110156 }
111157
112158 [ Test ] public void Condoner_withTrace ( ) {
@@ -143,11 +189,12 @@ [Test] public void Eval(){
143189
144190 [ Test ] public void StatusConsts ( ) {
145191 o ( ( status ) status . @void ( ) , done ) ;
192+ o ( ( status ) status . @false ( ) , fail ) ;
146193 o ( ( status ) status . flop ( ) , fail ) ;
147194 o ( ( status ) status . forever ( ) , cont ) ;
148195 }
149196
150- #pragma warning restore 612
197+ #pragma warning restore 618
151198
152199 // ==============================================================
153200
@@ -282,7 +329,9 @@ [Test] public void Truehood(){
282329 }
283330
284331 // Don't know how to test this
285- [ Test ] public void Falsehood ( ) { }
332+ [ Test ] public void Falsehood ( ) {
333+ o ( done && @fail , @fail ) ;
334+ }
286335
287336 [ Test ] public void RunningIsTrueAndFalse ( ) {
288337 if ( cont ) Assert . Pass ( ) ; else Assert . Fail ( ) ;
0 commit comments