Commit Graph
48 Commits
Author SHA1 Message Date
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
Memek 32d915087f Test RecyclableList.AddRangeShouldAddItemsInCorrectOrderWhenSourceIsArray and AddRangeShouldAddItemsInCorrectOrderWhenSourceIsList added. 2023-02-07 17:08:01 +01:00
Memek 23e92b0521 Tests for RecyclableArrayList.Contains and RecyclableList.Clear added. 2023-02-06 18:02:50 +01:00
Marek Lemańczyk 743e88f0e6 RecyclableList.Contains & .IndexOf fixed. Tests modified to validate operations on multiple blocks. 2023-02-05 19:49:28 +01:00
Marek Lemańczyk 10ae744875 RecyclableList.Contains reworked for performance improvements. 69% vs List.Contains 2023-02-05 17:58:29 +01:00
mlemanczyk 6ef79d2203 Solutions from RecyclableArreyList were copied to RecylableList. Initial version. 2023-01-21 18:50:21 +01:00
mlemanczyk 93b8dc5317 Initial version of RecyclableBlockList implemented.
Tests switched to xUnit in hope to avoid stability issues.
2023-01-07 20:52:01 +01:00
mlemanczyk aba28028b1 Performance & standardization improvements.
Business logic fixes.
RecyclableQueue & RecyclableStack added - pending improvements.
2023-01-06 13:54:32 +01:00
mlemanczyk bf07e05488 Tests updated to match RecyclableSortedListTests. 2023-01-03 00:43:28 +01:00
mlemanczyk 89b193e664 NuGet generation on builds turned all. Tiny cleanup. 2023-01-02 21:09:32 +01:00
mlemanczyk 6a58917120 First implementation 2023-01-02 01:32:29 +01:00