Commit Graph

201 Commits

Author SHA1 Message Date
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
Markus Ewald
2cc7b27b0c Added read-only collection wrappers for IDictionary<>, IList<> and ICollection<> since the classes provided by the .NET framework in System.Collections.ObjectModel are incomplete and inconsistent (eg. System.Collections.ObjectModel.ReadOnlyCollection wraps an IList<>!); minor improvements to documentation; added ReverseComparer for inverting the results of an existing IComparer<> or simply comparing values in inverted order
git-svn-id: file:///srv/devel/repo-conversion/nusu@80 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-07-17 20:44:40 +00:00
Markus Ewald
f5eefc6765 Added Peek() method to the priority queue classes (it's a method and not a property because it can potentially fail with an exception and a property might lead someone to not think about this possibility)
git-svn-id: file:///srv/devel/repo-conversion/nusu@79 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-07-15 20:36:16 +00:00
Markus Ewald
7bff8c5d52 All remaining references to the old name of the waitable class, 'progression' changed to 'waitable'; QueueOperation renamed to OperationQueue; SetProgression renamed to WaitableGroup; improved documentation in various places
git-svn-id: file:///srv/devel/repo-conversion/nusu@78 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-06-11 20:28:08 +00:00
Markus Ewald
df860b8e57 Applied planned changes to the Waitable class; Waitable class now has a Wait() method that can be used instead of the WaitHandle; publicized Waitable's members to deriving classes so they don't have to duplicate them when doing a custom implementation; virtualized all Methods to allow a custom Waitable implementation to completely provide its own methods of Waiting, determining the Ended state and registering to the AsyncEnded event
git-svn-id: file:///srv/devel/repo-conversion/nusu@77 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-06-11 20:06:23 +00:00
Markus Ewald
26365177dd Documented some more possible design changes to the request framework; Waitable now manages the list of 'Ended' event subscribers itself and triggers the callback if the Waitable instance had already ended at the time of subscription
git-svn-id: file:///srv/devel/repo-conversion/nusu@76 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-06-05 19:26:36 +00:00
Markus Ewald
e0cf91a0a4 Fixed documentation of Waitable and Request classes; wrote down some ideas to improve the request framework
git-svn-id: file:///srv/devel/repo-conversion/nusu@75 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-06-05 19:19:00 +00:00
Markus Ewald
73ef5de576 Fixed dumb misspelled comment
git-svn-id: file:///srv/devel/repo-conversion/nusu@74 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-06-04 20:04:32 +00:00
Markus Ewald
bf5c8d4e19 Added memory reinterpretation functions for int, long, float and double
git-svn-id: file:///srv/devel/repo-conversion/nusu@73 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-05-28 19:11:18 +00:00
Markus Ewald
1132bc5681 Added helper class for floating point operations; implemented advanced floating point comparison
git-svn-id: file:///srv/devel/repo-conversion/nusu@72 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-05-26 20:04:33 +00:00
Markus Ewald
9228d15f69 Updated copyright message to include the year 2008; upgraded projects to XNA Game Studio 3.0 (CTP 2008-05); added missing copyright tag to CommandLineParser unit test; upgraded obsolete methods in Nuclex.UserInterface to use the new XNA 2.0 / 3.0 content loading/unloading methods instead
git-svn-id: file:///srv/devel/repo-conversion/nusu@71 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-05-14 19:30:05 +00:00
Markus Ewald
4567b296ae Upgraded projects to XNA Game Studio 3.0 (CTP 2008-05); marked LoadGraphicsContent() and UnloadGraphicsContent() methods as obsolete in the custom Drawable and DrawableComponent classes; updated copyright date to include the year 2008; replaced the reference to the self-compiled SevenZip.dll with Lzma#.dll, which is the name of official binary for the same library; fixed formatting in various places
git-svn-id: file:///srv/devel/repo-conversion/nusu@70 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-05-14 19:06:06 +00:00
Markus Ewald
0b1044105f Upgraded Nuclex.Support to Visual C# 2008 Express / XNA 3.0 (CTP 2008-05)
git-svn-id: file:///srv/devel/repo-conversion/nusu@69 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-05-13 19:39:59 +00:00
Markus Ewald
26cb8c08af Fixed errors introduced into the unit tests by the lengthy rename operation earlier this day
git-svn-id: file:///srv/devel/repo-conversion/nusu@68 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-03-27 18:45:09 +00:00
Markus Ewald
8ef451a731 Updated ProgressReporterForm to reflect the latest changes to the Tracking framework; renamed WeightedProgression.cs to WeightedWaitable.cs in order to match the previous name changed of the class contained therein; improved documentation of the Camera class
git-svn-id: file:///srv/devel/repo-conversion/nusu@67 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-03-27 18:34:17 +00:00
Markus Ewald
b5ea9e0d70 Renamed ProgressUpdateEventArgs.cs to ProgressReportEventArgs.cs to reflect the previous name change of the class in that file
git-svn-id: file:///srv/devel/repo-conversion/nusu@66 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-03-27 17:34:54 +00:00
Markus Ewald
432ab888b9 Renamed ProgressionTracker to ProgressTracker; renamed most classes with 'Progression' in their name to use 'Waitable' instead; some minor documentation fixes
git-svn-id: file:///srv/devel/repo-conversion/nusu@65 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-03-26 21:20:52 +00:00
Markus Ewald
7dbfc3c422 Renamed ProgressUpdated event to ProgressChanged in order to conform with the status report naming convention; removed progress reporting from the Progression class; moved progress reporting into its own interface which is now optional to implement for any background task; renamed Progression to Waitable since it no longer has anything to do with progress; fixed unit tests
git-svn-id: file:///srv/devel/repo-conversion/nusu@64 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-03-26 21:03:49 +00:00
Markus Ewald
1161ef8f25 Trimmed down the Request class and provided it with a clear way to pass results to the user of the request
git-svn-id: file:///srv/devel/repo-conversion/nusu@63 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-03-26 20:20:38 +00:00
Markus Ewald
c21ba759cc Renamed FailableOperation to Request, this is a much shorter name that better represents the concept implemented by the class
git-svn-id: file:///srv/devel/repo-conversion/nusu@62 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-03-26 19:52:28 +00:00
Markus Ewald
533cbba3c5 Moved the failure handling of asynchronous processes from the Operation class into a new intermediate class, FailableProgression; renamed Begin() to Start() in Operation to keep it more in line with System.Threading.Thread; renamed End() method to Join() in the new FailableProgression class for the same reason; improved documentation
git-svn-id: file:///srv/devel/repo-conversion/nusu@61 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-02-07 21:25:34 +00:00
Markus Ewald
fd76346296 Fixed issue in PluginHost introduced by the renaming of the 'LoadedPlugins' property to 'LoadedAssemblies'; fixed an XML comment which was crefing to the wrong class name
git-svn-id: file:///srv/devel/repo-conversion/nusu@60 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-01-07 18:16:34 +00:00
Markus Ewald
d59753b98d Moved all contents of the Nuclex.Plugins project into the Nuclex.Support project; added copyright notices to all files imported from Nuclex.Plugins; updated copyright span year in all copyright notices; minor documentation improvements
git-svn-id: file:///srv/devel/repo-conversion/nusu@59 d2e56fa2-650e-0410-a79f-9358c0239efd
2008-01-07 18:04:02 +00:00
Markus Ewald
4829c8f8d5 Renamed Gui to Screen in the UserInterface library; improved documentation in ProgressionTracker
git-svn-id: file:///srv/devel/repo-conversion/nusu@58 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-20 19:15:33 +00:00
Markus Ewald
97c1e402d2 Added missing content project in Nuclex.Fonts.Demo; fixed solution and NAnt build script; added *.user to the ignore lists of all XNA content projects as it seems these are generating those annoying files, too; fixed build configuration for any remaining projects that have shown issues in the test builds
git-svn-id: file:///srv/devel/repo-conversion/nusu@57 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-14 21:08:35 +00:00
Markus Ewald
57d4c734b6 Upgraded all projects to XNA 2.0; project files now use (x86) instead of (PC) to indicate an x86 build (more logical and readily associated with the build platform); moved all text files into their project's documents folder; fixed any build configuration inconsistencies encountered along the way; renamed Nuclex.Graphics.Effects to Nuclex.Graphics.SpecialEffects to avoid confusion with the XNA 'Effect' class
git-svn-id: file:///srv/devel/repo-conversion/nusu@56 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-12-14 20:43:34 +00:00
Markus Ewald
b1e97f48bf Improved documentation in various places; added UML design concepts for UserInterface library; created unit tests for the PathHelper class; Gui now has width and height to allow usage of unified coordinates; renamed InputProcessor to InputReceiver
git-svn-id: file:///srv/devel/repo-conversion/nusu@55 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-11-02 21:36:15 +00:00
Markus Ewald
64a1dbb629 Switching to new project layout to lessen the size of the workspace and therefore reduce server load and patch size of CI server; Removed all assembly references from all projects as these will now be set up only once in the workspaces instead
git-svn-id: file:///srv/devel/repo-conversion/nusu@54 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-10-16 20:49:04 +00:00
Markus Ewald
7812f88aca Some minor documentation and formatting fixes
git-svn-id: file:///srv/devel/repo-conversion/nusu@53 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-28 21:31:13 +00:00
Markus Ewald
8962835029 Added serialization methods for the Curve class from the XNA framework; upgraded project to NUnit 2.4.3
git-svn-id: file:///srv/devel/repo-conversion/nusu@52 d2e56fa2-650e-0410-a79f-9358c0239efd
2007-09-26 20:12:20 +00:00