| 
								
								
									 Markus Ewald | 66b4a762cf | Added a class for chaining together multiple System.IO.Stream instances into a single stream; minor improvements to docs; improved an exception error message in the StringSegment class git-svn-id: file:///srv/devel/repo-conversion/nusu@131 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-04-22 18:55:59 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | a2331b95c1 | Removed the old command line parser since its replacement is fully functional by now; the CommandLine class now provides a HasArgument() method for convenience; added experimental parsing for pre-split command lines (as provided by .NET's Main() method) and disabled it because it turned out to be a bad idea git-svn-id: file:///srv/devel/repo-conversion/nusu@130 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-04-15 19:54:01 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 47b0039137 | Reactivated and fixed the command line parser; command line parser now creates a value on too many option initiators (like "//test" or "---test"); renamed CommandLine.Option to CommandLine.Argument; command line parser now uses the CommandLine.Argument class for all arguments (this enables interpreters to be build that understand spaced arguments because the order is kept intact); quoted value no longer construct an argument with a raw string that doesn't contain the quotes; achieved 100% test coverage git-svn-id: file:///srv/devel/repo-conversion/nusu@129 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-04-14 20:25:56 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 6d2b39255f | Updated code to match current coding guidelines git-svn-id: file:///srv/devel/repo-conversion/nusu@128 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-04-08 19:28:31 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 23c1b1587a | Minor code reformat in command line parser; fixed Copy & Paste error in comments for exception unit test classes git-svn-id: file:///srv/devel/repo-conversion/nusu@127 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-04-03 19:19:10 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 46ec063abd | Added missing comment git-svn-id: file:///srv/devel/repo-conversion/nusu@126 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-04-01 21:19:09 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | dcf47768e5 | Fixed a bug in the Transaction class that would skip on the AsyncEnded subscriber callbacks if a subscriber unsubscribed during the callback (either in the callback thread or asynchronously at the same time); wrote a unit test that highlights the bug git-svn-id: file:///srv/devel/repo-conversion/nusu@125 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-04-01 20:32:22 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 96061c688c | Added another unit test for the transaction group git-svn-id: file:///srv/devel/repo-conversion/nusu@124 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-03-30 20:08:12 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 889a47db6d | Added new interface IObservableCollection which can be used to find out whether a collection can be observed, even if it is only published by its generic .NET interface git-svn-id: file:///srv/devel/repo-conversion/nusu@123 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-03-19 19:34:11 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 743fc9cc09 | Fixed some typos in the comments; added weak collection which stores objects by weak reference; moved UNITTEST #if to the top of the files for some unit tests git-svn-id: file:///srv/devel/repo-conversion/nusu@122 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-03-11 19:20:28 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 190e32ee56 | Fixed a serious bug in the TransactionGroup which would cause the TransactionGroup to crash when all the transactions it gets passed in the constructor were in the ended state; fixed another serious bug that would occur when transactions reached the ended state during the constructor; wrote unit tests that reproduced those bugs git-svn-id: file:///srv/devel/repo-conversion/nusu@121 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-02-26 19:47:41 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | a2f53639d4 | Removed redundant 'System.' in front of an Attribute class git-svn-id: file:///srv/devel/repo-conversion/nusu@120 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-02-18 19:21:44 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | a3de5b041c | Fixed some minor deviations from the coding conventions in the ProgressTracker class git-svn-id: file:///srv/devel/repo-conversion/nusu@119 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-02-01 20:54:01 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 1f1faac82a | Fixed a typo git-svn-id: file:///srv/devel/repo-conversion/nusu@118 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-01-26 20:06:41 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | b90ff1c78b | Added new class ObservableDictionary to the collection class library; 100% test coverage for the new ObservableDictionary class; fixed some minor issues with the code of ObservableCollection and ReadOnlyDictionary git-svn-id: file:///srv/devel/repo-conversion/nusu@117 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-01-26 20:05:32 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 2ab3b22c60 | Fixed failing unit tests on Mono; used CollectionAssert.AreEquivalent() instead of CollectionAssert.AreEqual() since the order of items in a Dictionary is unspecified and Mono makes use of this allowance; fixed one serious bug that should have been caught by the .NET 2.0 unit tests: the enumeration of ReadOnlyDictionary via ICollection should return DictionaryEntry[] and not KeyValuePair<>[] git-svn-id: file:///srv/devel/repo-conversion/nusu@115 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-01-13 20:00:13 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 8dc15e8515 | Upgraded Nuclex.Support to NUnit 2.5 Beta 1 git-svn-id: file:///srv/devel/repo-conversion/nusu@114 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-01-13 19:30:33 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 0a483b4d44 | Made Nuclex.Support compileable on the XBox 360; added new XNA 3.0 project to compile Nuclex.Support on the XBox 360; added my own AssemblyLoadEventArgs implementation since the XBox 360 XNA framework doesn't provide it; other minor fixes so Nuclex.Support can cope with the XBox 360 XNA framework git-svn-id: file:///srv/devel/repo-conversion/nusu@113 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-01-13 18:50:52 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 8f6616f79a | AssertHelperTest.TestAlmostEqualWithDoubles() was testing the same code twice - fixed; made use of Assert.AreSame() instead of manually calling object.ReferenceEquals() in the SharedTest class; fixed documentation referring to the custom WeakReference as the System.WeakReference class git-svn-id: file:///srv/devel/repo-conversion/nusu@112 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-01-08 20:14:14 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 6eb49ed0d2 | Updated copyright statement to include the year 2009 =); finally decided to make some of the NUnit assert helper methods public and include it in Nuclex.Support (yes, that means those methods won't be there in a build with unit testing disabled, a compromise accepted now) git-svn-id: file:///srv/devel/repo-conversion/nusu@111 d2e56fa2-650e-0410-a79f-9358c0239efd | 2009-01-07 19:05:29 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 14274a9460 | Added some more unit tests to verify that NextPowerOfTwo() selects the next power of two when the argument is just one increment above an even power of two git-svn-id: file:///srv/devel/repo-conversion/nusu@110 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-14 18:08:44 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 3731fc42ae | Documented what an 'ulp' is supposed to be in the FloatHelper class :) git-svn-id: file:///srv/devel/repo-conversion/nusu@109 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-14 18:05:14 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 8923f2512a | Disabled the command line parser for now to prevent anyone from using the broken code git-svn-id: file:///srv/devel/repo-conversion/nusu@108 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-11 20:19:29 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 9c40abe10a | Completed the command line parser, then decided while adding result validation to the unit tests that the parser should be greedy (and accept option initiators within option names) - I don't like the way the parser code turned out anyway, so I'll rewrite soon git-svn-id: file:///srv/devel/repo-conversion/nusu@107 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-11 20:15:21 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | ffba112786 | Wrote more unit tests for the new command line parser; actually implemented a good part of the new command line parser; wrote one more test to show that the old command line parser is broken git-svn-id: file:///srv/devel/repo-conversion/nusu@106 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-10 19:26:25 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | f0d76f988f | Disabled the old CommandLineParser; started writing a new command line parser from scratch because I didn't manage to find a sane implementation on the internet; test coverage for the whole of Nuclex.Support is now 100.0% git-svn-id: file:///srv/devel/repo-conversion/nusu@105 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-09 20:55:34 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 447fe2aea7 | Changed file name of IAbstractFactory interface to match with conventions; refactored the assembly loading code into a separate class using an interface, this allows unit testing to simulate assembly loading errors easily and might help the actual application to act on assembly load errors if so required; all classes in the Nuclex.Support.Plugins namespace now have 100% test coverage git-svn-id: file:///srv/devel/repo-conversion/nusu@104 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-09 19:41:43 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 88b51ef0fa | Eliminated warnings that still came up when compiling with the mono C# compiler; all classes in the Nuclex.Support.Scheduling namespace now have 100% test coverage git-svn-id: file:///srv/devel/repo-conversion/nusu@103 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-07 19:36:29 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 00caebf7e9 | Achieved 100% test coverage for all classes in the Nuclex.Support.Tracking namespace; wrote unit tests for the AbortedException class git-svn-id: file:///srv/devel/repo-conversion/nusu@102 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-07 19:01:43 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | e785fdf57d | Fixed a critical threading bug in the weighted transaction observation wrapper; ProgressTracker not has 100% test coverage; wrote even more unit tests for the ProgressTracker git-svn-id: file:///srv/devel/repo-conversion/nusu@101 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-05 19:28:39 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 8c5f2d45f7 | Renamed Waitable to Transaction (Progression -> Waitable -> Transaction -- might it be that this concept is no crispy enough and should be revisited? I think so!); increased test coverage for lots of classes in the tracking namespace, all but 3 are now 100% covered; eliminated redundant ProgressUpdate events from the ProgressTracker and adjusted unit tests so progress update events that re-report the current progress are optional; added a new idea for a replacement of the broken (quality-wise, at least) command line parser git-svn-id: file:///srv/devel/repo-conversion/nusu@100 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-12-03 18:58:20 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | b39f8de155 | Increased test coverage for the command line parser (and then decided the thing is broken beyond repair and needs a rewrite -- as if that was any surprise given the original code is from CodeProject); achieved 100% test coverage for the factory employer, instance employer, employer, no plugin attribute and abstract factory classes in the Plugins namespace; achieved some test coverage for the PluginRepository class (the uncovered sections are quite hard to stimulate since they involve exceptions during assembly load attempts) git-svn-id: file:///srv/devel/repo-conversion/nusu@99 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-11-28 19:34:43 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | ecb36e9ce3 | Fixed a comment in read only list sources; achieved 100% test coverage for the read only dictionary wrapper - that makes 100% test coverage for all collection classes; implemented serialization into the read only dictionary class to perfectly emulate the behavior of the .NET framework dictionary git-svn-id: file:///srv/devel/repo-conversion/nusu@98 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-11-27 20:36:51 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 5c90646327 | Achieved 100% test coverage for the TransformingReadOnlyCollection and ReadOnlyList classes git-svn-id: file:///srv/devel/repo-conversion/nusu@97 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-11-27 19:40:43 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 195ba1df30 | Reformatted the comments in the RingMemoryStream class so my favorite IDE (Visual Studio) will not destroy indentation on auto-formatting anymore; achieved 100% test coverage for the RingMemoryStream and ReverseComparer classes git-svn-id: file:///srv/devel/repo-conversion/nusu@96 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-11-27 19:04:09 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | de7c28fa84 | achieved 100% test coverage for the read only collection wrapper; optimized the indexer of the license key class; increased test coverage for the license key class to 100% git-svn-id: file:///srv/devel/repo-conversion/nusu@95 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-11-27 19:02:48 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | c43bfd47c8 | Increased test coverage for all collection classes up to the priority queue to 100%; SetParent() is no longer 'protected internal' as internal is sufficient in this case (.NET 'protected internal' is less restrictive than 'protected' or 'internal' alone); parenting collection now unsets parent for items that are being replaced; priority queue version check for enumerators (to protected against modification of the collection) now only happens in debug mode git-svn-id: file:///srv/devel/repo-conversion/nusu@94 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-11-27 18:56:08 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | cb0355193d | Nailed the unit test coverage for all classes in the root namespace at 100%; fixed ugly german comment in ReadOnlyDictionary; moved AbstractFactory interface for FactoryEmployer in Nuclex.Support.Plugins into its own file; wrote unit tests for the PluginHelper, Shared, StringSegment and WeakReference classes git-svn-id: file:///srv/devel/repo-conversion/nusu@93 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-11-26 19:15:36 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | ddff1d8353 | Moved Shared.cs from Nuclex.Math to Nuclex.Support because this class can be quite useful in other locations as well; added CPL copyright header to all files in Nuclex.Math; fixed copyright date in AssemblyInfo.cs of Nuclex.Math and Nuclex.Support git-svn-id: file:///srv/devel/repo-conversion/nusu@92 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-10-22 20:45:13 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 1cc45237ba | Fixed error in XML comment; added some more unit tests for the PathHelper class to make sure it works with Linux/Unix paths git-svn-id: file:///srv/devel/repo-conversion/nusu@91 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-09-26 19:24:44 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | b0e76b4800 | Fixed 3 compiler warnings that were occurring in Nuclex.Support; minor improvements to the documentation git-svn-id: file:///srv/devel/repo-conversion/nusu@90 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-08-14 21:14:40 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | f2bacc5411 | Converted all <see paramref="" /> tags into <paramref name="" /> tags as this seems to be the standard method of referring to parameters in .NET XML documentation git-svn-id: file:///srv/devel/repo-conversion/nusu@89 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-08-07 20:01:08 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 7446b6bc9b | Improved documentation in several places; renamed 'Support' class in Nuclex.Support.Plugins to 'PluginHelper' to match the established conventions; provided better error messages for the plugin loading methods in the PluginRepository class git-svn-id: file:///srv/devel/repo-conversion/nusu@88 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-08-07 19:57:20 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | b0026fcdd6 | Fixed some compiler warnings; removed the "Mixed Platforms" build configuration from the solution git-svn-id: file:///srv/devel/repo-conversion/nusu@87 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-08-04 19:46:37 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 86d915f9f0 | Moved packing algorithms, spatial partitioning system and serialization helpers from Nuclex.Support to Nuclex.Game; minor improvements in documentation; AbortedException no longer derives from ApplicationException; added document that gives an overview of several R-Tree splitting techniques I found on the 'net git-svn-id: file:///srv/devel/repo-conversion/nusu@86 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-08-01 20:55:43 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | fd2f072c2d | Fixed the compile error because of the wrongly named unit test class; wrote unit tests for the IndexNotOfAny() and LastIndexNotOfAny() methods; fixed a glaring bug in the IndexNotOfAny() and LastIndexNotOfAny() methods that would result in wrong results if more than one character was searched for; made the unit test for the string helper a nested item in the Visual Studio project git-svn-id: file:///srv/devel/repo-conversion/nusu@85 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-07-30 18:32:35 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | df948d2eab | Added CPL license header to files where it was amiss; added StringHelper class with IndexNotOfAny() and LastIndexNotOfAny() (inverted variants of the IndexOfAny() methods in the .NET framework) git-svn-id: file:///srv/devel/repo-conversion/nusu@84 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-07-28 19:58:15 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 221a40e57f | Fixed missing comment for IntegerHelper; OutOfSpaceException (for Packing algorithms) now derives from Exception instead of ApplicationException (deriving from ApplicationException is no longer recommended practice for .NET) git-svn-id: file:///srv/devel/repo-conversion/nusu@83 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-07-22 19:35:20 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | 313b006f83 | Added license tags in the files where they were amiss; added IntegerHelper class with a method to quickly determine the next power of 2 to any number git-svn-id: file:///srv/devel/repo-conversion/nusu@82 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-07-17 21:19:41 +00:00 |  | 
				
					
						| 
								
								
									 Markus Ewald | a666885598 | Some more minor documentation improvements git-svn-id: file:///srv/devel/repo-conversion/nusu@81 d2e56fa2-650e-0410-a79f-9358c0239efd | 2008-07-17 20:51:35 +00:00 |  |