public static void SetResetFirstBit() { BitStack bitStack = default; Assert.Equal(0, bitStack.CurrentDepth); bitStack.SetFirstBit(); Assert.Equal(1, bitStack.CurrentDepth); Assert.False(bitStack.Pop()); Assert.Equal(0, bitStack.CurrentDepth); bitStack = default; Assert.Equal(0, bitStack.CurrentDepth); bitStack.ResetFirstBit(); Assert.Equal(1, bitStack.CurrentDepth); Assert.False(bitStack.Pop()); Assert.Equal(0, bitStack.CurrentDepth); bitStack = default; Assert.Equal(0, bitStack.CurrentDepth); bitStack.SetFirstBit(); Assert.Equal(1, bitStack.CurrentDepth); Assert.False(bitStack.Pop()); Assert.Equal(0, bitStack.CurrentDepth); bitStack.ResetFirstBit(); Assert.Equal(1, bitStack.CurrentDepth); Assert.False(bitStack.Pop()); Assert.Equal(0, bitStack.CurrentDepth); }