Markus Ewald
|
9a73838f6c
|
Not using optional parameter in Variegator anymore because Windows Phone is a wuss
git-svn-id: file:///srv/devel/repo-conversion/nusu@288 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2013-07-15 13:42:48 +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
|
d42aa48236
|
Updated copyright statement for the year 2013; fixed a warning; minor cosmetic changes
git-svn-id: file:///srv/devel/repo-conversion/nusu@282 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2013-04-25 13:11:59 +00:00 |
|
Markus Ewald
|
7d4a66e9f2
|
Some attempts at making this compile on WinRT. Much work remains.
git-svn-id: file:///srv/devel/repo-conversion/nusu@281 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-17 13:03:40 +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
|
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
|
58a1652749
|
Added six separate constructors to avoid default parameters (which aren't supported on Windows Phone 7 or the Xbox 360)
git-svn-id: file:///srv/devel/repo-conversion/nusu@269 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-08 11:31:24 +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
|
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)
git-svn-id: file:///srv/devel/repo-conversion/nusu@267 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-08 09:55:29 +00:00 |
|
Markus Ewald
|
21754b8e87
|
The expression tree cloner was not able to assign read-only field -- fixed; expanded tests to safeguard against regressions
git-svn-id: file:///srv/devel/repo-conversion/nusu@265 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-06 13:39:02 +00:00 |
|
Markus Ewald
|
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@264 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-03 15:06:02 +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
|
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@261 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-02 23:00:02 +00:00 |
|
Markus Ewald
|
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@260 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-02 21:05:05 +00:00 |
|
Markus Ewald
|
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
git-svn-id: file:///srv/devel/repo-conversion/nusu@259 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-01 14:48:53 +00:00 |
|
Markus Ewald
|
ca373846aa
|
Excluded ObservableSet and ReadOnlySet implementations from Xbox 360 and Windows Phone 7 builds because these platforms don't support the ISet interface
git-svn-id: file:///srv/devel/repo-conversion/nusu@258 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-01 14:39:50 +00:00 |
|
Markus Ewald
|
13579c5162
|
Fixed unit tests that were failing due to the introdcution of the ItemReplaced event; removed NotifyCollectionResetEventArgs if no specialized collections are available
git-svn-id: file:///srv/devel/repo-conversion/nusu@257 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-01 14:05:11 +00:00 |
|
Markus Ewald
|
2d04ad7b49
|
Added ObservableSet and ReadOnlySet wrappers (no unit tests yet)
git-svn-id: file:///srv/devel/repo-conversion/nusu@256 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-03-01 13:51:04 +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
|
61c858cb1c
|
CanGetProcessThreadForManagedThread() test now only runs on Windows systems; removed unused variable from expression tree cloner; removed unused variable from unit test of weak collection; fixed test issue parsing command lines relying on current platform being windows; removed unused variable from Semaphore class
git-svn-id: file:///srv/devel/repo-conversion/nusu@251 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2012-02-12 13:46:19 +00:00 |
|
Markus Ewald
|
1a215987ac
|
ObservableCollection no longer derives from System.Collections.ObjectModel.Collection, thus it is a real ICollection that does not expose itself as an IList
git-svn-id: file:///srv/devel/repo-conversion/nusu@221 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2011-10-25 14:59:38 +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
|
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
|
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
|
374152cd63
|
Added XNA 4.0 for Windows Phone 7 project; updated Nuclex.Support to compile targeting Windows Phone 7
git-svn-id: file:///srv/devel/repo-conversion/nusu@203 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-09-17 15:29:22 +00:00 |
|
Markus Ewald
|
1aad371ece
|
Added XNA 4.0 XBox 360 project; fixed compilation errors that would result from compiling Nuclex.Support on the XBox 360's special compact framework
git-svn-id: file:///srv/devel/repo-conversion/nusu@202 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-09-17 01:43:00 +00:00 |
|
Markus Ewald
|
5f5b8b519b
|
Updated license statement for the year 2010 ;-)
git-svn-id: file:///srv/devel/repo-conversion/nusu@201 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-07-08 12:37:39 +00:00 |
|
Markus Ewald
|
a0a0b73a13
|
Fixed a nasty bug that would corrupt the WeakCollection upon calling RemoveDeadItems()
git-svn-id: file:///srv/devel/repo-conversion/nusu@194 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-04-16 10:26:06 +00:00 |
|
Markus Ewald
|
f0289632f6
|
WeakCollection now accepts a custom EqualityComparer to be specified
git-svn-id: file:///srv/devel/repo-conversion/nusu@193 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-03-30 11:02:04 +00:00 |
|
Markus Ewald
|
b8dbf8f40d
|
Added an object Pool that can be used to recycle objects in order to avoid garbage buildup; wrote unit tests for the new pool class; added interface through which objects entering the pool can be instructed to revert their state
git-svn-id: file:///srv/devel/repo-conversion/nusu@192 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2010-03-15 19:08:10 +00:00 |
|
Markus Ewald
|
655ae7ab10
|
Extended to IObservableCollection interface with an ItemsCleared event so subscribers observing the collection only to trigger 'Changed' events (versus subscribers observing the collection to wire/unwire themselves from the collection's items) can make use of the collection
git-svn-id: file:///srv/devel/repo-conversion/nusu@182 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-10-12 19:19:58 +00:00 |
|
Markus Ewald
|
88b89dea19
|
Fixed another compilation error that was causing the XBox 360 build to fail because .NET is missing the Math.DivRem() method on the XBox 360
git-svn-id: file:///srv/devel/repo-conversion/nusu@168 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-21 20:47:32 +00:00 |
|
Markus Ewald
|
d91dc70146
|
Fixed deque compilation error in release builds (missing #if..#endif around a place where a debug-only field was used)
git-svn-id: file:///srv/devel/repo-conversion/nusu@167 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-21 20:42:07 +00:00 |
|
Markus Ewald
|
9ec6546f70
|
Added out-of-sync check for the Deque enumerator; added unit test for the out-of-sync check
git-svn-id: file:///srv/devel/repo-conversion/nusu@166 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-14 21:52:40 +00:00 |
|
Markus Ewald
|
a56da772d4
|
Added missing CPL statements
git-svn-id: file:///srv/devel/repo-conversion/nusu@165 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-14 21:32:44 +00:00 |
|
Markus Ewald
|
0b23b1f7c4
|
lastBlockCount is called lastBlockEndIndex again (anyone got a better term - it's an index one past the last entry, not a count); implemented the CopyTo() method; added unit tests for the CopyTo() method
git-svn-id: file:///srv/devel/repo-conversion/nusu@164 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-14 21:08:10 +00:00 |
|
Markus Ewald
|
3ee5fdfc67
|
The deque class now fully supports the IList<> and IList interfaces (with the exception of CopyTo() and CopyToArray() which are not implemented yet); implemented a Clear() method; the deque enumerator is now fully functioning (but still missing an out-of-sync check); moved IndexOf() into its own file; wrote several additional unit tests to verify all the new interface methods are working and to keep test coverage at 100%
git-svn-id: file:///srv/devel/repo-conversion/nusu@163 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-14 20:15:34 +00:00 |
|
Markus Ewald
|
a817f52406
|
Fixed an ugly bug in the IndexOf() method; achieved 100% test coverage for the deque code so far
git-svn-id: file:///srv/devel/repo-conversion/nusu@162 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-13 21:17:09 +00:00 |
|
Markus Ewald
|
7885e86836
|
The deque's RemoveAt() method now shifts the objects in the direction that produces the least amount of work
git-svn-id: file:///srv/devel/repo-conversion/nusu@161 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-13 20:22:59 +00:00 |
|
Markus Ewald
|
58c3254260
|
Implemented more efficient Insert() method for the deque; split RemoveAt() into left-shifting and right-shifting specializations (right-shifting still is a copy of the left-shifting one, will fix it soon); improved unit tests to catch any and all border cases; made the IndexOf() method workable; wrote unit tests for the IndexOf() method; moved removal and insertion functions into the own sub-files to avoid having huge source files
git-svn-id: file:///srv/devel/repo-conversion/nusu@160 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-13 19:34:27 +00:00 |
|
Markus Ewald
|
ed62fa85f2
|
Implemented deque Insert() and RemoveAt() methods with fixed shifting of all items to the right for now - still have to extend the code to shift items to the closest end; added more unit tests to achieve 100% test coverage for the code
git-svn-id: file:///srv/devel/repo-conversion/nusu@159 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-11 19:55:59 +00:00 |
|
Markus Ewald
|
ff44edcdf1
|
Began implementing a block-allocating Deque class similar to C++'s std::deque - insertion and removal at both ends already working
git-svn-id: file:///srv/devel/repo-conversion/nusu@158 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-07-10 18:42:23 +00:00 |
|
Markus Ewald
|
74bf351727
|
Changed all remaining COMPACTFRAMEWORK constants around serialization code to NO_SERIALIZATION
git-svn-id: file:///srv/devel/repo-conversion/nusu@157 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-06-26 20:17:59 +00:00 |
|
Markus Ewald
|
d0fe47239e
|
Replaced all ExpectedExceptionAttributes with the new Assert.Throws<>() method to work around a compatibility issue between TeamCity 4.5 and NUnit 2.5 Final
git-svn-id: file:///srv/devel/repo-conversion/nusu@137 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-05-07 19:36:27 +00:00 |
|
Markus Ewald
|
d845b08a91
|
IObservableCollection was internal - fixed
git-svn-id: file:///srv/devel/repo-conversion/nusu@135 d2e56fa2-650e-0410-a79f-9358c0239efd
|
2009-05-06 18:42:08 +00:00 |
|