Commit Graph
60 Commits
Author SHA1 Message Date
mlemanczyk 90ae27ce5d Additional RecyclableList.IndexOf() & RecyclableLongList.IndexOf() variants moved from Recyclable.Collections.Compatibility.List package. Tests extended. 2023-12-25 16:34:20 +01:00
mlemanczyk 203b13268f List<T> compatibility code moved to Recyclable.Collections.Compatibility.List package. Cleanup. 2023-10-21 17:29:53 +02:00
mlemanczyk ec69b1c406 Cleanup. 2023-10-21 17:26:35 +02:00
mlemanczyk 39d63d1d65 << protected with "checked", where needed. 2023-10-07 14:04:33 +02:00
mlemanczyk 262590ed6e List<T> compatibility methods implemented. Unit tests extended. README.md updated. 2023-10-07 13:35:48 +02:00
mlemanczyk 2ff1aab655 Revert "Support for custom boundaries implemented. v1 - will be reverted due to 5x slower performance."
This reverts commit 22d8593e1f.
2023-09-17 13:15:17 +02:00
mlemanczyk 22d8593e1f Support for custom boundaries implemented. v1 - will be reverted due to 5x slower performance. 2023-09-17 13:12:16 +02:00
mlemanczyk a315ff80d5 Unit tests extended. Missing .ToRecyclableList() & .ToRecyclableLongList() variants added. Support for all major interfaces finished. README.md updated. 2023-09-10 17:42:08 +02:00
mlemanczyk e941fdf8db Unit tests extended. Various fixes. README.md updated. 2023-09-09 18:19:28 +02:00
mlemanczyk 98347f0727 Tests reworked for better coverage & more targeted scenarios. 2023-09-03 18:14:59 +02:00
mlemanczyk aeb0ee23f1 .ToRecyclableList & .ToRecyclableLongList calls replaced with standard .Net collections for better stability. 2023-09-03 17:16:46 +02:00
mlemanczyk cb66a90a9c Small cleanup. Duplicated tests removed. 2023-09-03 16:54:18 +02:00
mlemanczyk 1e795f10eb Calls to ContainInConsecutiveOrder replaced with Equal. The lists must have the same elements, in the same order and no additional elements. 2023-09-03 16:40:28 +02:00
mlemanczyk d99ec044a3 Missing capacity parameter added for better performance. 2023-09-03 16:03:22 +02:00
mlemanczyk 96968d5452 Small cleanup 2023-09-03 14:47:56 +02:00
mlemanczyk f928e1e35e QuickSort methods extracted to their own extension class. 2023-09-03 13:35:49 +02:00
mlemanczyk 4d680ee453 RecyclableList.Insert fixed to allow inserting at the end. 2023-08-05 22:29:57 +02:00
mlemanczyk 56ca83d128 .ToArray() calls removed or converted to recyclable types. 2023-07-16 12:15:35 +02:00
mlemanczyk c20b252a6c Cleanup. Hints and warnings either disabled or fixed. Typos fixed. 2023-07-01 17:07:16 +02:00
mlemanczyk b9181eee23 RecyclableList.Resize performance improvements. We'll always initiate the list to 4 elements to eliminate branching along the way. Before cleanup. 2023-07-01 13:02:43 +02:00
mlemanczyk 11fd6e3dd0 RecyclableList<T>.Helpers renamed to RecyclableListHelpers and made top-level class for better performance. 2023-07-01 12:53:37 +02:00
mlemanczyk d465029358 RecyclableList<T>.RecyclableListHelpers renamed to RecyclableList<T>.Helpers 2023-06-25 20:16:30 +02:00
mlemanczyk e65a7c2230 IVersionedList<T> & IVersionedLongList<T> renamed to IRecyclableVersionedList<T> & IRecyclableVersionedLongList<T>. README.md updated. 2023-06-25 01:08:06 +02:00
mlemanczyk d830a53006 Versioned enumerator for RecyclableList implemented. Benchmarks & tests added. 2023-06-25 00:05:17 +02:00
mlemanczyk 20fe0cc491 RecyclableList.Enumerator optimized. Tests fixed. 2023-06-21 02:15:09 +02:00
mlemanczyk c5406b04b7 RecyclableLongListExtensions & ListExtensions cleaned up 2023-06-17 13:09:19 +02:00
mlemanczyk 1a723c6f4f RecyclableArrayList renamed to RecyclableList 2023-05-21 20:43:33 +02:00
mlemanczyk 9429218c62 RecyclableList renamed to RecyclableLongList. 2023-05-21 20:09:38 +02:00
mlemanczyk fdea416dc1 RecyclableList[index] tests added for get. 2023-04-10 22:37:15 +02:00
mlemanczyk 1ce91c0062 RecyclableArrayList.Remove, RecyclableArrayList.RemoveAt, RecyclableList.Remove & RecyclableList.RemoveAt performance improvements.
Support for removal of any item implemented in RecyclableList.Remove & .RemoveAt.
2023-04-07 01:09:25 +02:00
mlemanczyk b815767d8f RecyclableArrayList & RecyclableList tests synced. 2023-03-24 20:53:54 +01:00
mlemanczyk e4e63715c2 Added missing "using" 2023-03-24 19:06:01 +01:00
mlemanczyk 5a39dc87f0 Tests ordered alphabetically. 2023-03-22 00:25:16 +01:00
mlemanczyk b91c4476eb RecyclableList.BlockCount renamed => RecyclableList.ReservedBlockCount. Fixed to always include the last block.
RecyclableList.LastTakenBlockIndex property added for some scenarios.

RecyclableList.IndexOf & .LongIndexOf fixed to use the correct index.

RecyclableArrayList.AddRange(RecyclableList<T> items) fixed to use the correct index.

Some test cases excluded, where needed.
2023-03-20 23:46:50 +01:00
mlemanczyk b1e6c587c3 RecyclableList modified to respect the removal of blocks.
RecyclableList.IndexOf fixed to work in various combinations.

RecyclableList tests extended.
2023-03-20 21:48:09 +01:00
Marek Lemańczyk 3e8f03e59f RecyclableList tests extended & parameterized for various combinations of block sizes in source & target lists, including different no. of items. 2023-03-17 01:42:30 +01:00
Marek Lemańczyk bdf69f300d Added test cases for various block sizes & items counts. 2023-03-12 18:01:30 +01:00
Marek Lemańczyk c211fb6ee4 RecyclableList.AddRange(IEnumerable<T> source) performance improvements. Small source code cleanup. 2023-03-12 03:44:07 +01:00
Marek Lemańczyk efb393e13f Recyclable.AddRange fixed to ignore empty sources 2023-03-12 03:23:13 +01:00
Marek Lemańczyk 025cdb3073 Tiny cleanup 2023-03-11 23:19:59 +01:00
Marek Lemańczyk 25a85ec763 New tests added. AddRangeShouldAddItemsInCorrectOrder & AddRangeShouldNotOverrideItems converted to theories with [MemberData] 2023-03-11 23:16:15 +01:00
Marek Lemańczyk f08633da61 New unit tests added. 2023-03-11 20:02:58 +01:00
Marek Lemańczyk 3ce3becfbd RecyclableList performance improvements & fixes. New tests added. 2023-03-10 16:52:36 +01:00
Marek Lemańczyk 02138dfac6 New tests added for IndexOf & LongIndexOf 2023-03-05 19:19:54 +01:00
Marek Lemańczyk 2558f57934 RecyclableList.Remove modified to allow removing the last item. 2023-03-05 18:51:06 +01:00
Marek Lemańczyk ec355160f9 IndexOf & LongIndexOf made alike. Small refactoring. 2023-03-05 18:50:09 +01:00
Marek Lemańczyk 3552dd00d1 Test object count increased to 100_000 to better cover cases. 2023-03-01 23:09:48 +01:00
Memek d4a63d5d33 Test RecyclableList.ConstructorSourceShouldInitializeList added. 2023-02-08 15:43:42 +01:00
Memek 230401a56b Test RecyclableList.LongIndexOfShouldReturnCorrectIndexes added. 2023-02-08 14:46:47 +01:00
Memek a37f572518 RecyclableList.InsertAt test added. 2023-02-07 20:18:58 +01:00