---------------------------------------------------------------------------------------
	+ file added
	* file modified
	- file deleted
	~ file renamed
	> file moved
	---------------------------------------------------------------------------------------

2009-11-28	Giacomo Stelluti Scala	<gsscoder@ymail.com>
	
	+ Tests/Mocks/SimpleOptionsWithBadOptionArray.cs (SimpleOptionsWithBadOptionArray)
		Added. Used in OptionArrayAttributeParsingFixture.
	
	* Core/OptionInfo.cs (OptionInfo)
		Modified. Modified ::SetValue(IList<string>, object) method to handle exceptions correctly.

	* Core/ArgumentParser.cs (ArgumentParser)
		Modified. Added ::EnsureOptionArrayAttributeIsNotBoundToScalar(OptionInfo) method
		to prevent misuse of syntax defined by attributes.
		
	* Core/OptionGroupParser.cs (OptionGroupParser)
		Modified. Introduced use of ArgumentParser::EnsureOptionArrayAttributeIsNotBoundToScalar(...).
	
	* Core/LongOptionParser.cs (LongOptionParser)
		Modified. Introduced use of ArgumentParser::EnsureOptionArrayAttributeIsNotBoundToScalar(...).
	
	* Parser/Tests/OptionArrayAttributeParsingFixture.cs (OptionArrayAttributeParsingFixture)
		Modified. Added following test methods.
			::PassingBadValueToAnIntegerArrayOptionFails()
			::PassingNoValueToAStringArrayOptionFails()
			::PassingNoValueToAnIntegerArrayOptionFails()
			::WillThrowExceptionIfOptionArrayAttributeBoundToStringWithShortName()
			::WillThrowExceptionIfOptionArrayAttributeBoundToStringWithLongName()
			::WillThrowExceptionIfOptionArrayAttributeBoundToIntegerWithShortName()
			::WillThrowExceptionIfOptionArrayAttributeBoundToIntegerWithLongName()
	
2009-11-24	Giacomo Stelluti Scala	<gsscoder@ymail.com>
		
	+ Core/TargetWrapper.cs (TargetWrapper)
		Added. Decouples the instance that will contain parsed values by the code that consumes it.

	* Core/ArgumentParser.cs (ArgumentParser)
		Modified. Added method ::BooleanToParserState(...) with two overloads (this simple method will
		make code of [LongOption|OptionGroup]Parser more clean - or so I hope).
		Added ::EnsureOptionAttributeIsArrayCompatible(OptionInfo) method for the same reason described above.

	* Parser/CommandLineParser.cs (CommandLineParser)
		Modified. Try to use TargetWrapper instead of working directly with options instance.
		
	* Core/LongOptionParser.cs (LongOptionParser)
		Modified. Introduced the use of ArgumentParser::BooleanToParserState(...)
		and ArgumentParser::EnsureOptionAttributeIsArrayCompatible(...) for a cleaner code and
		improved maintainability.
		
	* Core/OptionGroupParser.cs (OptionGroupParser)
		Modified. Same changes of LongOptionParser.
				
	~ Tests/MockUtil.cs (MockUtil) -> Tests/DebugStringUtil.cs (DebugStringUtil)
		Renamed. A correct name is the first step for refactoring a unit of code.
		
	* Core/Tests/ArgumentParserFixture.cs (ArgumentParserFixture)
		Modified. Test code simplified.
		
	* Attributes/Tests/HelpOptionAttributeFixture.cs (HelpOptionAttributeFixture)
		Modified. Minor refactoring.
		
	* Attributes/Tests/ValueListAttributeFixture.cs (ValueListAttributeFixture)
		Modified. Minor refactoring.

Last edited Nov 28, 2009 at 10:35 AM by gsscoder, version 2

Comments

No comments yet.