Commit Graph

  • a59facff90 Added project platform and status badges main cygon 2024-08-05 14:32:17 +0200
  • 54cab3a63f Sublime inserted tabs - fixed cygon 2024-07-27 08:56:29 +0200
  • 8647769256 Wrote a short ReadMe file for Nuclex.Support cygon 2024-07-27 08:53:43 +0200
  • bc3c55528a Updated dependency description cygon 2024-07-25 22:29:13 +0200
  • a8a6dd71ce Removed packages.config since we use project references now cygon 2024-07-25 13:08:16 +0200
  • 67abd0146a Back to NuGet, ther's an obscure workaround for now cygon 2024-07-25 12:42:12 +0200
  • 079fe8b1cd Removed UNITTEST constant from most files; tried switching to Moq, but encountered some InternalsVisibleTo() problems; ripped out NuGet again because it is so very bad cygon 2024-07-24 17:42:17 +0200
  • 56c6b649a7 Began restoring the unit tests (and porting any usages of NMock to NSubstitute) cygon 2024-07-24 14:10:08 +0200
  • 6028e84509 Upgraded project to .NET standard 2.0 cygon 2024-07-24 13:30:59 +0200
  • 40cf645ef1 Moved all unit test files into a separate directory in preparation for splitting the project cygon 2024-07-24 13:27:29 +0200
  • 14572d5947 Added Markdown documentation to Visual Studio project Markus Ewald 2024-06-18 19:05:19 +0200
  • c8fd327f7d Added NUnit and NMock via NuGet instead of relying on the VCS cygon 2024-06-17 23:44:50 +0200
  • 102704649f Added proper license and attribution statements cygon 2024-06-13 18:57:01 +0200
  • 52dc3d3708 Changed license to Apache License 2.0 cygon 2024-06-13 18:36:21 +0200
  • d3bf0be9d7 Added alternative .NET 4.6.2 project Markus Ewald 2023-10-03 12:33:17 +0000
  • 3acba1311c Made the storable binding list public Markus Ewald 2022-11-05 11:49:53 +0000
  • 5cba0ed266 Added a sortable variant of the BindingList class (useful in getting DataGridViews to be not quite so silly) Markus Ewald 2022-11-03 20:04:45 +0000
  • 0e49d46eab Simplified and optimized the QuickSort() method for IList<T>; added unit test that verifies the sorting algorithm with a large number of elements both for insertion sort and quicksort Markus Ewald 2022-11-03 18:55:30 +0000
  • 41691ddf94 Vastly simplified the quicksort implementation (split out the partition sorting code into a separate method like most code examples did) Markus Ewald 2022-11-03 11:33:16 +0000
  • a10d30e6ea Created a separate 'Partition' structure for the QuickSort() method so the Stack (used to avoid recursion) is a bit cleaner Markus Ewald 2022-11-02 22:39:33 +0000
  • e3ca928636 Implemented a messy QuickSort method for IList, appears to be working but needs to be cleaned and optimized still Markus Ewald 2022-11-02 22:27:51 +0000
  • 48dce94f47 Added an IList extensions class that can sort IList<T> using the insertion sort algorithm Markus Ewald 2022-11-02 18:54:21 +0000
  • c7dd57f59f Added ListSegment class which is analogous to StringSegment and ArraySegment, but for IList<T> Markus Ewald 2022-11-02 18:05:04 +0000
  • 207a17712e Fixed a potential NullReferenceException (though I'm thinking about phasing out the method it's happening in entirely) Markus Ewald 2019-02-08 18:27:15 +0000
  • 8cc16143de Cleaned and added a base class for view models with background processing tha uses the new ThreadedAction class to do its background processing; added a view binding interface for WinForms that emulates the WPF design Markus Ewald 2019-02-06 07:00:27 +0000
  • 97183d2335 The Shared helper is now obsolete (singletons are just too bad, not even suitable as workaround for static methods in interfaces for generic types; some cosmetic changes; made the ThreadRunner public Markus Ewald 2019-02-02 12:47:07 +0000
  • 2f82a2fdf9 Updated Mono project (may replace it with pure SCons or Gradle build soon); added a threaded task runner I wrote for some WPF applications going through MCSE; wrote more unit tests for the thread runner Markus Ewald 2019-02-02 09:12:00 +0000
  • e6e0220fb3 Used pragmas to avoid warnings in unit tests designed to test obsolete methods; method thread-related classes into a new namespace, 'Threading' Markus Ewald 2019-02-01 19:54:28 +0000
  • a934fb155e Fixed async task notifications; added more comments; restored CancellationToken methods; removed useless usings Markus Ewald 2017-01-21 22:08:24 +0000
  • fdf4442163 Added a set of interfaces implementing async methods in a plain enough way to support coroutines, RPC and P/Invokes; updated copyright statement for the year 2017 Markus Ewald 2017-01-21 21:33:55 +0000
  • 6053f5a877 Found some more bits and pieces of WinRT + Xbox 360 support code and removed them Markus Ewald 2014-08-19 11:32:56 +0000
  • 3f1809e5cc Fixed a bug in the ValueCollection: SyncRoot was returning the IsSynchronized property of the internal collection Markus Ewald 2014-07-28 22:14:30 +0000
  • 7dd08c93e0 Removed the last traces on WinRT compatibility Markus Ewald 2014-07-28 11:00:08 +0000
  • ab6a3374d8 More documentation Markus Ewald 2014-07-24 16:04:09 +0000
  • 3a945f5d48 Minor cosmetic improvements Markus Ewald 2014-07-23 19:20:42 +0000
  • 52401a43ac The windows registry store can now enumerate non-existing categories, too Markus Ewald 2014-07-22 22:04:16 +0000
  • f74f1d0c6c Fixed a typo Markus Ewald 2014-07-22 21:28:31 +0000
  • dfc9be412a One unit test opened HKEY_LOCAL_MACHINE for testing, but it seems Mono on Linux doesn't grant even read access to this (emulated) key, so the unit test now uses HKEY_CURRENT_USER Markus Ewald 2014-07-22 20:26:43 +0000
  • 40492c8b21 Achieved full test coverage for the configuration file store and the windows registry settings store Markus Ewald 2014-07-22 20:02:33 +0000
  • 58504f4a8a Fully implemented the windows registry-based settings store; added more unit tests for the registry settings store Markus Ewald 2014-07-22 16:24:08 +0000
  • 0d1051dd84 Documented the intended interface for the settings store; parseBooleanLiteral() is now a private method in the ConfigurationFileStore again; added some unit tests for the registry-based settings store Markus Ewald 2014-07-22 15:58:07 +0000
  • 88105794a9 The configuration file store now understands 'yes' and 'no' as booleans; implemented the Get() and TryGet() methods of the windows registry settings store Markus Ewald 2014-07-22 11:10:14 +0000
  • e5f8b99519 Enumerating categories and options with the registry-based settings store is now working; updated mono-3.5 project Markus Ewald 2014-07-22 10:43:23 +0000
  • b6fe183994 Found some more remaining traces of Microsoft's scrapyard and killed them; removed WinRT support Markus Ewald 2014-07-22 08:56:33 +0000
  • b1b1f02e6f Removed the last traces of Windows Phone 7 and Xbox 360 support Markus Ewald 2014-07-22 08:50:05 +0000
  • 9a4a051100 The unit test for the float helper was public -- fixed Markus Ewald 2014-07-21 17:11:48 +0000
  • cb85b3025e Added XML documentation for the mono-3.5 project Markus Ewald 2014-07-21 16:21:02 +0000
  • e8c21b91d4 Allowed compilation and unit tests with the mono-3.5 profile and without NMock Markus Ewald 2014-07-21 16:17:13 +0000
  • de4a7d2213 Added support for compilation under the Mono 3.5 profile; removed support for Windows Phone and Xbox 360 Markus Ewald 2014-07-21 15:46:40 +0000
  • f9ebc95dd9 Updated the project files for the other platforms (but all XNA-related projects will be removed in the near future - betting on Microsoft was a mistake) Markus Ewald 2014-07-21 13:07:22 +0000
  • d55ba52369 Fully implemented the memory store and added unit tests for it Markus Ewald 2014-07-21 12:58:33 +0000
  • 03ada146e5 Simplified the parsing code; all code paths of the configuration file store are now covered by tests Markus Ewald 2014-07-21 12:03:22 +0000
  • 55b3ffd923 Options can now be removed from a configuration file; added more unit tests to cover all the code paths Markus Ewald 2014-07-21 10:33:24 +0000
  • 7bde463b2a Changing and adding options works perfectly now Markus Ewald 2014-07-20 23:18:44 +0000
  • 73a17b7a3e Changed the format of how the parsed configuration file is stored in memory - lines are now part of the categories, avoiding a costly scan over the whole array if lines are added to a category in the middle Markus Ewald 2014-07-20 22:53:03 +0000
  • 0753aeb220 Configuration file parsing should be complete now (but creation and changing not so much) Markus Ewald 2014-07-20 21:30:41 +0000
  • 7e39bd684f ConfigurationFileStore now parses category definitions and some cases of options; wrote a few methods for changing options and creating options and categories Markus Ewald 2014-07-20 18:14:06 +0000
  • ea68676cd2 Added some unit tests; the configuration file parser can now parse categories Markus Ewald 2014-07-20 12:42:09 +0000
  • 91d382a940 There were some tab characters. Now they're dead. Markus Ewald 2014-07-20 07:20:21 +0000
  • 2c3d9db4c9 Renamed the configuration namespace to settings; more progress on the configuration file parser; partially implemented the memory settings store Markus Ewald 2014-07-19 22:16:41 +0000
  • ddc76cf09f Made some progress on my configuration file parser / writer; ParserHelper can now skip over floating point values Markus Ewald 2014-07-19 11:04:19 +0000
  • 0bb50d9254 Updated the copyright statement for the year 2014; remove CommandLine.txt which seemed to contain a copy of CommandLine.cs for a purpose I have long since forgotten Markus Ewald 2014-07-19 09:13:36 +0000
  • c90033caad Added a SkipString() method to the parser helper; began work in implementing a configuration file parser Markus Ewald 2014-07-19 09:08:35 +0000
  • 2210973528 Returned to my own naming convention - at the latest, the 'SingleInt32Union' would raise the question about where there is only a single int32 in that union Markus Ewald 2014-02-24 15:40:12 +0000
  • 5fb5b1f568 Fixed the problems the AreAlmostEqual() methods had with floating point zeros Markus Ewald 2014-02-24 13:31:35 +0000
  • 0a7306bb58 Made the ParallelBackgroundWorker.CancelRunningTasks() and .CancelPendingTasks() methods safe to call after Dispose() (since many usage patterns become much easier with this allowed); Wait() didn't wait for queued tasks (though as long as tasks are queued, there will always be executing tasks, so this is just me being pedantic) - fixed; fixed a race condition in one of the unit tests for the ParallelBackgroundWorker Markus Ewald 2014-02-24 11:02:39 +0000
  • a2b92248b5 Parallel background worker unit tests are now internal again; added missing comments; nested unit test files under the implementation files they are testing Markus Ewald 2014-02-20 14:49:08 +0000
  • feac2b9c89 Added unit tests for parallel background worker; fixed some issues with the parallel background worker; added failing unit test for almost equal checks with doubles; fixed a typo Markus Ewald 2014-02-20 14:33:40 +0000
  • a18cb63fc5 Began work on a parallel background worker class that will be like the BackgroundWorker, but without the tight coupling to WinForms and with support for running multiple tasks in parallel Markus Ewald 2014-02-20 11:49:11 +0000
  • 33e26a93e7 Disabled Variegator completely on Windows Phone and Xbox 360 because those outdated .NET frameworks don't have sets (ISet) Markus Ewald 2013-07-15 13:46:07 +0000
  • 9a73838f6c Not using optional parameter in Variegator anymore because Windows Phone is a wuss Markus Ewald 2013-07-15 13:42:48 +0000
  • 63ddef021d Added more unit tests to the floating point helper classes; Variegator unit test is now internal Markus Ewald 2013-07-15 13:38:21 +0000
  • 2462dd6dc4 Added a C# port of my new Variegator collection, a MultiDictionary that resolves ambiguities by picking a random value or providing the least recently used one, very useful for returning varying responses Markus Ewald 2013-06-27 16:05:54 +0000
  • 4b94bdd1a5 Improved unit test names for the XML helper class Markus Ewald 2013-04-27 21:34:45 +0000
  • 23fe4cfd37 Added some helper methods for building parsers Markus Ewald 2013-04-27 21:14:02 +0000
  • 56cc2cee12 Updated copyright statement for the year 2013 Markus Ewald 2013-04-25 13:12:32 +0000
  • d42aa48236 Updated copyright statement for the year 2013; fixed a warning; minor cosmetic changes Markus Ewald 2013-04-25 13:11:59 +0000
  • 7d4a66e9f2 Some attempts at making this compile on WinRT. Much work remains. Markus Ewald 2012-03-17 13:03:40 +0000
  • cc1b8d095a Fixed an invalid XML comment Markus Ewald 2012-03-14 22:45:17 +0000
  • c5eb234eef Added MonoDevelop/Unity project for Nuclex.Support Markus Ewald 2012-03-14 16:10:44 +0000
  • 72511417ef ReverseComparer still used old generic argument naming convention - fixed Markus Ewald 2012-03-14 15:47:31 +0000
  • 556b9ac0fb Reenabled unit tests for the new Nuclex.Support.Plugins project Markus Ewald 2012-03-11 09:20:39 +0000
  • 92733d147b Moves services directory into Nuclex.Support.Plugins project Markus Ewald 2012-03-11 09:05:15 +0000
  • c9b20cd2cd Moved plugin framework into its own assembly (it's really not such a good idea anymore with the Managed Extensibility Framework and all); added Xbox360 and Windows Phone 7 projects for Nuclex.Support.Transactions Markus Ewald 2012-03-11 08:57:24 +0000
  • 9ddd8770b2 Added non-generic variant of the TyperHelper.HasAttribute() method Markus Ewald 2012-03-09 07:13:07 +0000
  • 07d1b026f1 Fixed compilation error in .NET 4.0 build - member in excluded section of code had not been renamed Markus Ewald 2012-03-09 07:10:25 +0000
  • 9fcee1e872 Windows Phone 7 and Xbox 360 builds now use a Dictionary again Markus Ewald 2012-03-09 07:05:38 +0000
  • 0637b9d71b Moved another helper method that tests whether a type is carrying an attribute into the TypeHelper class Markus Ewald 2012-03-08 17:14:42 +0000
  • 97de199705 It seems that contrary to what MSDN says, the Dictionary<K, T> class does not have a constructor accepting an IEqualityComparer on the Xbox 360 or Windows Phone 7; added missing documentation in Pool class Markus Ewald 2012-03-08 12:05:59 +0000
  • 58a1652749 Added six separate constructors to avoid default parameters (which aren't supported on Windows Phone 7 or the Xbox 360) Markus Ewald 2012-03-08 11:31:24 +0000
  • c91a082e84 Pool can now be used with types not derived from IRecyclable and/or without a public default constructor; consolidated type-related helper methods into a common helper class (TypeHelper.cs); optimized GetFieldInfosIncludingBaseClasses() method Markus Ewald 2012-03-08 11:05:20 +0000
  • 24439da822 Unit tests for the StringBuilderHelper weren't properly localized, containing hard-coded decimal separators - fixed; StringBuilderHelper always used a dot as a decimal separate - behavior changed so it uses the system's current locale (StringBuilderHelper should be identical to the normal StringBuilder except not produce any garbage) Markus Ewald 2012-03-08 09:55:29 +0000
  • f3652ac4db Added some read-only attributes to the cloner implementations Markus Ewald 2012-03-06 13:45:33 +0000
  • 21754b8e87 The expression tree cloner was not able to assign read-only field -- fixed; expanded tests to safeguard against regressions Markus Ewald 2012-03-06 13:39:02 +0000
  • 4c408a56ad Unit tests for the ObservableSet not also tests the change notification events resulting from union/intersect/except methods; added unit tests for read-only set Markus Ewald 2012-03-03 15:06:02 +0000
  • 07a9de6283 Some cosmetic changes; all methods in the StringBuilderHelper are now extension methods; added GarbagePolicy enumeration for StringBuilder helper methods; custom Semaphore is not internal in Windows builds to avoid ambiguous symbols Markus Ewald 2012-03-03 12:45:49 +0000
  • 1a05bf9d63 Added some helper classes for INotifyPropertyChanged; added unit tests for the ObservableSet class; documented the second Count property exposed by the multi dictionary Markus Ewald 2012-03-03 10:57:08 +0000
  • df169e376a Removed overridable change notifications from MultiDictionary - accurately sending these would involve considerable overhead; added unit tests for all main interface methods of the MultiDictionary Markus Ewald 2012-03-02 23:00:02 +0000
  • b37c4a757c MultiDictionary wasn't firing 'removed' events when an entire set of values is replaced - fixed, but not unit-tested yet; added more unit tests to the ObservableSet class; ObservableSet was not firing the 'added' event - fixed Markus Ewald 2012-03-02 21:05:05 +0000
  • 0195b34289 The Count property of the multi dictionary now returns either the value count of the number of unique keys depending on which interface it is called from Markus Ewald 2012-03-01 14:48:53 +0000