#!../bin/nb # # File: cellStaticBoolUnknown.nb # # Test cell static expression - Boolean Unknown #================================================ # Define rule to enable 9 cells define r1 if(e1 & e2 & e3 & e4 & e5 & e6 & e7 & e8 & e9 & eA & eB); # Test with literal numbers assert e1==(? ); assert e2==(not ?); assert e3==(1 & ?); assert e4==(? & 1); assert e5==(? & ?); assert e6==(? | ?); assert e7==(? ^ 0); assert e8==(0 ^ ?); assert e9==(? ^ 1); assert eA==(1 ^ ?); assert eB==(? ^ ?); show -cells; # Test with variable numbers assert t=1; assert f=0; assert u=?; assert e1==(u ); assert e2==(not u); assert e3==(t & u); assert e4==(u & t); assert e5==(u & u); assert e6==(u | u); assert e7==(u ^ f); assert e8==(f ^ u); assert e9==(u ^ t); assert eA==(t ^ u); assert eB==(u ^ u); show -cells; # Test with literal string (can only represent True) assert e1==( u ); assert e2==(not u ); assert e3==("a" & u ); assert e4==( u & "a"); assert e5==( u & u ); assert e6==( u | u ); assert e7==( u ^ f ); assert e8==( f ^ u ); assert e9==( u ^ "a"); assert eA==("a" ^ u ); assert eB==( u ^ u ); show -cells; # Test with variable string assert a cell "a"; assert e1==(u ); assert e2==(not u); assert e3==(a & u); assert e4==(u & a); assert e5==(u & u); assert e6==(u | u); assert e7==(u ^ f); assert e8==(f ^ u); assert e9==(u ^ a); assert eA==(a ^ u); assert eB==(u ^ u); show -cells; # Verify that all e1-eB cells above have a value of "?"