Commit Graph

45 Commits

Author SHA1 Message Date
cygon
52dc3d3708 Changed license to Apache License 2.0 2024-06-13 18:36:21 +02:00
Markus Ewald
5cba0ed266 Added a sortable variant of the BindingList class (useful in getting DataGridViews to be not quite so silly)
git-svn-id: file:///srv/devel/repo-conversion/nusu@342 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-03 20:04:45 +00:00
Markus Ewald
41691ddf94 Vastly simplified the quicksort implementation (split out the partition sorting code into a separate method like most code examples did)
git-svn-id: file:///srv/devel/repo-conversion/nusu@340 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-03 11:33:16 +00:00
Markus Ewald
48dce94f47 Added an IList extensions class that can sort IList<T> using the insertion sort algorithm
git-svn-id: file:///srv/devel/repo-conversion/nusu@337 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-02 18:54:21 +00:00
Markus Ewald
c7dd57f59f Added ListSegment class which is analogous to StringSegment and ArraySegment, but for IList<T>
git-svn-id: file:///srv/devel/repo-conversion/nusu@336 d2e56fa2-650e-0410-a79f-9358c0239efd
2022-11-02 18:05:04 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@332 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-02 09:12:00 +00:00
Markus Ewald
e6e0220fb3 Used pragmas to avoid warnings in unit tests designed to test obsolete methods; method thread-related classes into a new namespace, 'Threading'
git-svn-id: file:///srv/devel/repo-conversion/nusu@331 d2e56fa2-650e-0410-a79f-9358c0239efd
2019-02-01 19:54:28 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@329 d2e56fa2-650e-0410-a79f-9358c0239efd
2017-01-21 21:33:55 +00:00
Markus Ewald
b6fe183994 Found some more remaining traces of Microsoft's scrapyard and killed them; removed WinRT support
git-svn-id: file:///srv/devel/repo-conversion/nusu@315 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-22 08:56:33 +00:00
Markus Ewald
ea68676cd2 Added some unit tests; the configuration file parser can now parse categories
git-svn-id: file:///srv/devel/repo-conversion/nusu@301 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-20 12:42:09 +00:00
Markus Ewald
2c3d9db4c9 Renamed the configuration namespace to settings; more progress on the configuration file parser; partially implemented the memory settings store
git-svn-id: file:///srv/devel/repo-conversion/nusu@299 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-19 22:16:41 +00:00
Markus Ewald
ddc76cf09f Made some progress on my configuration file parser / writer; ParserHelper can now skip over floating point values
git-svn-id: file:///srv/devel/repo-conversion/nusu@298 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-07-19 11:04:19 +00:00
Markus Ewald
a2b92248b5 Parallel background worker unit tests are now internal again; added missing comments; nested unit test files under the implementation files they are testing
git-svn-id: file:///srv/devel/repo-conversion/nusu@292 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-02-20 14:49:08 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@291 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-02-20 14:33:40 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@290 d2e56fa2-650e-0410-a79f-9358c0239efd
2014-02-20 11:49:11 +00:00
Markus Ewald
63ddef021d Added more unit tests to the floating point helper classes; Variegator unit test is now internal
git-svn-id: file:///srv/devel/repo-conversion/nusu@287 d2e56fa2-650e-0410-a79f-9358c0239efd
2013-07-15 13:38:21 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@286 d2e56fa2-650e-0410-a79f-9358c0239efd
2013-06-27 16:05:54 +00:00
Markus Ewald
23fe4cfd37 Added some helper methods for building parsers
git-svn-id: file:///srv/devel/repo-conversion/nusu@284 d2e56fa2-650e-0410-a79f-9358c0239efd
2013-04-27 21:14:02 +00:00
Markus Ewald
72511417ef ReverseComparer still used old generic argument naming convention - fixed
git-svn-id: file:///srv/devel/repo-conversion/nusu@278 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-03-14 15:47:31 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@275 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-03-11 08:57:24 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@270 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-03-08 12:05:59 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@268 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-03-08 11:05:20 +00:00
Markus Ewald
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@263 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-03-03 12:45:49 +00:00
Markus Ewald
1a05bf9d63 Added some helper classes for INotifyPropertyChanged; added unit tests for the ObservableSet class; documented the second Count property exposed by the multi dictionary
git-svn-id: file:///srv/devel/repo-conversion/nusu@262 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-03-03 10:57:08 +00:00
Markus Ewald
5e4de7f027 Added ItemReplaced() to IObservableCollection
git-svn-id: file:///srv/devel/repo-conversion/nusu@255 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-03-01 12:52:12 +00:00
Markus Ewald
75552b5150 All unit test classes are now internal; updated copyright statement for the year 2012; added hulls for the upcoming ObservableSet<> and ReadOnlySet<> classes; switched generic parameter naming convention TSomething instead of SomethingType
git-svn-id: file:///srv/devel/repo-conversion/nusu@252 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-02-29 16:27:43 +00:00
Markus Ewald
0fdad7c33d There was still an issue with the cloners: private fields in base classes were not cloned properly - problem fixed and unit tests added to prevent regressions
git-svn-id: file:///srv/devel/repo-conversion/nusu@249 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-02-08 22:18:36 +00:00
Markus Ewald
91da3679a8 Removed a dead variable when cloning arrays
git-svn-id: file:///srv/devel/repo-conversion/nusu@242 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-02-08 12:47:35 +00:00
Markus Ewald
cd6cec42d3 Expression tree cloner can now also create shallow field based clones
git-svn-id: file:///srv/devel/repo-conversion/nusu@241 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-02-08 12:17:35 +00:00
Markus Ewald
976b1ddba5 Cloners now offer their methods as static members for easy access in non-service oriented applications; began implementing the expression tree cloner
git-svn-id: file:///srv/devel/repo-conversion/nusu@228 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-02-03 14:49:31 +00:00
Markus Ewald
961f56157e Added a cloner that uses a binary serializer to clone objects; converted unit tests for reflection cloner into a shared base class so they can be applied to the serialization-based cloner as well
git-svn-id: file:///srv/devel/repo-conversion/nusu@227 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-02-03 12:18:37 +00:00
Markus Ewald
eb3083cf9e Fixed a compilation error when targeting Windows Phone; ChainStream now uses a params list for its constructor; added object cloning framework with support for deep and shallow cloning as well as cloning based on fields or properties
git-svn-id: file:///srv/devel/repo-conversion/nusu@223 d2e56fa2-650e-0410-a79f-9358c0239efd
2012-02-01 22:45:15 +00:00
Markus Ewald
a4000c106a Added an ObservableList class which is like the ObservableCollection, but allows indexed access
git-svn-id: file:///srv/devel/repo-conversion/nusu@220 d2e56fa2-650e-0410-a79f-9358c0239efd
2011-08-24 11:33:22 +00:00
Markus Ewald
d3e055a37c Removed scheduling and tracking directories from the projects (these have been moved into a separate assembly)
git-svn-id: file:///srv/devel/repo-conversion/nusu@219 d2e56fa2-650e-0410-a79f-9358c0239efd
2011-08-14 11:09:40 +00:00
Markus Ewald
b7c883ea8d Assigning null to a key in the MultiDictionary will not delete that key (this behavior is symmetric with the behavior of querying the values under a key where null indicates that the key doesn't exist - it also doesn't add any "secret tricks" because the normal Dictionary doesn't intersect this functionality of having an extra container between the key and the values)
git-svn-id: file:///srv/devel/repo-conversion/nusu@217 d2e56fa2-650e-0410-a79f-9358c0239efd
2011-08-14 09:33:10 +00:00
Markus Ewald
a08939e914 Added INotifyCollectionChanged interface to ObservableCollection and ObservableDictionary; added a new dictionary type, the MultiDictionary which is equivalent to the C++ multimap<> class
git-svn-id: file:///srv/devel/repo-conversion/nusu@215 d2e56fa2-650e-0410-a79f-9358c0239efd
2011-07-04 22:21:57 +00:00
Markus Ewald
aa5e4d12cc Upgraded unit tests to NMock 3.0
git-svn-id: file:///srv/devel/repo-conversion/nusu@214 d2e56fa2-650e-0410-a79f-9358c0239efd
2011-03-08 20:36:43 +00:00
Markus Ewald
da61476a80 Assembly is now signed with a strong name key; minor cosmetic improvements
git-svn-id: file:///srv/devel/repo-conversion/nusu@213 d2e56fa2-650e-0410-a79f-9358c0239efd
2011-02-14 18:15:23 +00:00
Markus Ewald
46cbc920b1 Removed some XNA 3.1 code paths; cleaned up constant usage in platform-specific code sections
git-svn-id: file:///srv/devel/repo-conversion/nusu@211 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-12-24 01:02:56 +00:00
Markus Ewald
d99137f0dd StringBuilderHelper is now a static class; WeakReference<T> no longer derives from WeakReference if compiled for Windows Phone 7 because this makes the Windows Phone emulator crash as soon as the WeakReference<T> is referenced - nearly identical functionality is provided with an implicit conversion operator
git-svn-id: file:///srv/devel/repo-conversion/nusu@207 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-11-18 10:47:09 +00:00
Markus Ewald
6e9c296e6d Nuclex.Support now targets the Client Profile in .NET 4.0
git-svn-id: file:///srv/devel/repo-conversion/nusu@204 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-09-18 18:14:10 +00:00
Markus Ewald
1ac86eebb0 Removed AssertHelper because this functionality is now integrated in NUnit
git-svn-id: file:///srv/devel/repo-conversion/nusu@199 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-05-16 10:03:19 +00:00
Markus Ewald
bbd0849d43 Upgraded from NUnit 2.5.0 to NUnit 2.5.5; upgraded from NMock 2.0.0.44 to NMock 2.1
git-svn-id: file:///srv/devel/repo-conversion/nusu@197 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-04-28 13:19:43 +00:00
Markus Ewald
cf30cf4002 Fixed output file name; added missing NUnit reference
git-svn-id: file:///srv/devel/repo-conversion/nusu@196 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-04-16 12:53:44 +00:00
Markus Ewald
6650be96c8 Updated project files to a more consistent naming scheme; added .NET 4.0 project
git-svn-id: file:///srv/devel/repo-conversion/nusu@195 d2e56fa2-650e-0410-a79f-9358c0239efd
2010-04-16 11:09:25 +00:00