public void TrySetArgument_Returns_InvalidArgumentValue_When_Value_Expected_But_Not_Set() { const string argumentName = "someArg"; var testObject = new BoolArgument(_argument, _stringParser); bool parsedValue; _stringParser.Expect(s => s.TryParse(null, out parsedValue)).Return(false); _argument.Expect(a => a.TrySetArgumentName(argumentName)).Return(SetArgumentDataResult.Success); var actual = testObject.TrySetArgumentNameAndValue(argumentName, null); Assert.That(actual, Is.EqualTo(SetArgumentDataResult.InvalidArgumentValue)); Assert.That(testObject.ParsedSuccessfully, Is.False); Assert.That(testObject.ParsedArgumentValue, Is.EqualTo(default(bool))); }