Meta: Add Support unit tests #920
Labels
is:task
A chore to be done
pri:normal
testability
up-for-grabs
This issue is open to be worked on by anyone
Milestone
Is there an existing issue for this?
Task description
This is a meta-issue that should be broken out into separate issues.
From #914 via @NightOwl888:
I also noticed we don't have tests for the following types in the Support folder:
IndexableFieldExtensions
ByteArrayOutputStream
- Patch to provideToString()
output forMemoryStream
.StreamExtensions
- These methods were copied from Apache Harmony, and there are tests for them that didn't get ported over. Need to drill down in the code to find the location where these originated from.ReferenceContext<T>
- We added this to make it possible to use a using block instead ofAcquire()
with a try finally aroundRelease()
. We should convert this to a ref struct, so it doesn't cause a heap allocation to use. Ref structs cannot implementIDisposable
, but the compiler allows a using block ifDispose()
exists. Note thatReferenceManagerExtensions
can be tested along with it.LimitedConcurrencyLevelTaskScheduler
- We originally grabbed this from MSDN. We might be able to use tests from Apache Harmony to test this.ReentrantLock
- There are tests in Apache Harmony for this.CastTo<T>
ExceptionExtensions
- Apache Harmony should have tests for these.ListExtensions
SystemConsole
- .NET should have some tests we can use for this.Arrays
- Apache Harmony should have tests we can use for this.AssemblyUtils
CollectionExtensions
- We can base the tests off of Apache Harmony tests,, but we will need to checkISet<T>
,JCG.List<T>
,SCG.List<T>
and a collection that does not implementISet<T>
orIList<T>
(the slow path). All should produce the same result.Collections
- There should be tests in Apache Harmony for this.ConcurrentDictionaryWrapper<TKey, TValue>
- This is no longer in use, we can probably eliminate it along with the DictionaryExtensions.AsConcurrent() extension method. It may come in handy for a future version of Lucene, though.ConcurrentHashSet<T>
- Apache Harmony should have tests for this. Note that not allISet<T>
members are implemented. If they were, we could potentially move this to J2N. Note that 1 test was added in #938, but we should be more thorough than this.ConcurrentSet<T>
- This is a concurrent wrapper for anyISet<T>
. It should pass the same tests asConcurrentHashSet<T>
. It is mainly used for wrappingLinkedHashSet<T>
. If we had aConcurrentLinkedHashSet<T>
in J2N, we could eliminate this class.DictionaryExtensions
The text was updated successfully, but these errors were encountered: