public static void Enter_Invalid()
{
bool lockTaken = false;
var obj = new object();
Assert.Throws<ArgumentNullException>("obj", () => Monitor.Enter(null));
Assert.Throws<ArgumentNullException>("obj", () => Monitor.Enter(null, ref lockTaken));
Assert.False(lockTaken);
lockTaken = true;
Assert.Throws<ArgumentException>("lockTaken", () => Monitor.Enter(obj, ref lockTaken));
Assert.False(lockTaken);
}