@@ -77,6 +77,87 @@ public void Test_BitHelper_HasLookupFlag32_WithMin(int x, bool flag)
7777 Assert . AreEqual ( flag , BitHelper . HasLookupFlag ( mask , x , 40 ) ) ;
7878 }
7979
80+ [ TestCategory ( "BitHelper" ) ]
81+ [ TestMethod ]
82+ [ DataRow ( 0x0000_0000u , true ) ]
83+ [ DataRow ( 0x0000_0001u , true ) ]
84+ [ DataRow ( 0x0000_0011u , true ) ]
85+ [ DataRow ( 0x0011_1111u , true ) ]
86+ [ DataRow ( 0x1100_1111u , true ) ]
87+ [ DataRow ( 0x1011_0011u , true ) ]
88+ [ DataRow ( 0x1755_0055u , true ) ]
89+ [ DataRow ( 0x0055_B255u , true ) ]
90+ [ DataRow ( 0x1755_B200u , true ) ]
91+ [ DataRow ( 0x1111_1111u , false ) ]
92+ [ DataRow ( 0x1755_B255u , false ) ]
93+ [ DataRow ( 0x1705_B255u , false ) ]
94+ [ DataRow ( 0x1755_B055u , false ) ]
95+ public void Test_BitHelper_HasZeroByte_UInt32 ( uint x , bool result )
96+ {
97+ Assert . AreEqual ( result , BitHelper . HasZeroByte ( x ) ) ;
98+ }
99+
100+ [ TestCategory ( "BitHelper" ) ]
101+ [ TestMethod ]
102+ [ DataRow ( 0x0000_0000_0000_0000ul , true ) ]
103+ [ DataRow ( 0x0000_0000_0000_0001ul , true ) ]
104+ [ DataRow ( 0x0000_0000_0000_0011ul , true ) ]
105+ [ DataRow ( 0x0011_1111_1111_1111ul , true ) ]
106+ [ DataRow ( 0x1111_0011_1111_1111ul , true ) ]
107+ [ DataRow ( 0x7234_AB00_DEAD_BEEFul , true ) ]
108+ [ DataRow ( 0x7234_A542_DEAD_BEEFul , false ) ]
109+ [ DataRow ( 0x1111_1111_1111_1111ul , false ) ]
110+ [ DataRow ( 0x7234_A542_DEAD_B0EFul , false ) ]
111+ [ DataRow ( 0x7030_A040_0E0D_B0E0ul , false ) ]
112+ public void Test_BitHelper_HasZeroByte_UInt64 ( ulong x , bool result )
113+ {
114+ Assert . AreEqual ( result , BitHelper . HasZeroByte ( x ) ) ;
115+ }
116+
117+ [ TestCategory ( "BitHelper" ) ]
118+ [ TestMethod ]
119+ [ DataRow ( 0x0000_0000u , 0x7B , false ) ]
120+ [ DataRow ( 0x0000_0001u , 0x7B , false ) ]
121+ [ DataRow ( 0x0000_1010u , 0x7B , false ) ]
122+ [ DataRow ( 0x0111_7A00u , 0x7B , false ) ]
123+ [ DataRow ( 0x0000_07B0u , 0x7B , false ) ]
124+ [ DataRow ( 0x1111_1111u , 0x7B , false ) ]
125+ [ DataRow ( 0x0000_FEFEu , 0xFF , false ) ]
126+ [ DataRow ( 0xF00F_0FF0u , 0xFF , false ) ]
127+ [ DataRow ( 0x0000_0000u , 0x00 , true ) ]
128+ [ DataRow ( 0x0000_007Bu , 0x7B , true ) ]
129+ [ DataRow ( 0x0000_7B7Bu , 0x7B , true ) ]
130+ [ DataRow ( 0x7B00_0110u , 0x7B , true ) ]
131+ [ DataRow ( 0x00FF_0000u , 0xFF , true ) ]
132+ [ DataRow ( 0xFFFF_FFFFu , 0xFF , true ) ]
133+ [ DataRow ( 0x1515_1515u , 0x15 , true ) ]
134+ public void Test_BitHelper_HasByteEqualTo_UInt32 ( uint x , int target , bool result )
135+ {
136+ Assert . AreEqual ( result , BitHelper . HasByteEqualTo ( x , unchecked ( ( byte ) target ) ) ) ;
137+ }
138+
139+ [ TestCategory ( "BitHelper" ) ]
140+ [ TestMethod ]
141+ [ DataRow ( 0x0000_0000_0000_0000u , 0x7B , false ) ]
142+ [ DataRow ( 0x0000_0000_0000_0001u , 0x7B , false ) ]
143+ [ DataRow ( 0x0000_0000_0000_1010u , 0x7B , false ) ]
144+ [ DataRow ( 0x0111_0000_0000_7A00u , 0x7B , false ) ]
145+ [ DataRow ( 0x0000_0000_0000_07B0u , 0x7B , false ) ]
146+ [ DataRow ( 0x1111_1111_0000_0000u , 0x7B , false ) ]
147+ [ DataRow ( 0x0000_FEFE_0000_0000u , 0xFF , false ) ]
148+ [ DataRow ( 0xF00F_0000_0000_0FF0u , 0xFF , false ) ]
149+ [ DataRow ( 0x0000_0000_0000_0000u , 0x00 , true ) ]
150+ [ DataRow ( 0x0000_0000_0000_007Bu , 0x7B , true ) ]
151+ [ DataRow ( 0x0000_7B7B_0000_0000u , 0x7B , true ) ]
152+ [ DataRow ( 0x7B00_0110_0000_0000u , 0x7B , true ) ]
153+ [ DataRow ( 0x00FF_0000_0000_0000u , 0xFF , true ) ]
154+ [ DataRow ( 0xFFFF_FFFF_FFFF_FFFFu , 0xFF , true ) ]
155+ [ DataRow ( 0x1515_1515_1515_1515u , 0x15 , true ) ]
156+ public void Test_BitHelper_HasByteEqualTo_UInt64 ( ulong x , int target , bool result )
157+ {
158+ Assert . AreEqual ( result , BitHelper . HasByteEqualTo ( x , unchecked ( ( byte ) target ) ) ) ;
159+ }
160+
80161 [ TestCategory ( "BitHelper" ) ]
81162 [ TestMethod ]
82163 public void Test_BitHelper_SetFlag_UInt32 ( )
0 commit comments