Commit Graph
54 Commits
Author SHA1 Message Date
mlemanczyk c7052e778f RecyclableList.SetNewLength fixed to properly initialize the list if the no. of memory blocks from array pool exceeds requested no. 2023-03-26 23:22:32 +02:00
mlemanczyk b815767d8f RecyclableArrayList & RecyclableList tests synced. 2023-03-24 20:53:54 +01:00
mlemanczyk 76598dcc7d Cleanup 2023-03-24 20:14:29 +01:00
mlemanczyk 00b059006d Compilation error fix. 2023-03-24 20:13:40 +01:00
mlemanczyk 98026f0103 No. of test cases reduced due to high execution times. 2023-03-24 20:10:49 +01:00
mlemanczyk a5a4129f1c Resolved problem with running tests all together. 2023-03-24 20:04:16 +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 c84cf263ca Missing using added to limit pressure on garbage collector.
RecyclableArrayList.Remove tests extended to cover more cases.

Tiny cleanup.
2023-03-22 00:07:24 +01:00
mlemanczyk cda1c2b77d Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-03-20 23:51:30 +01:00
mlemanczyk 277e52f701 RecyclableArrayList.Contains fixed to not throw exception when the list is empty.
RecyclableArrayList tests sorted alphabetically, simplified & extended to use the test data & validate various combinations of item counts & block sizes.
2023-03-20 23:51:23 +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
mlemanczyk 070549de9e Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-03-20 19:40:11 +01:00
mlemanczyk 1157e3e23d Test cases adjusted to limit execution time. 2023-03-20 19:32:08 +01:00
Marek Lemańczyk e6224ebe44 Fixed handling of empty lists in RecyclableArrayList.
Some RecyclableList properties made public to allow use in RecyclableArrayList.

Added support for RecyclableList in RecyclableArrayList.AddRange.

Additional tests added for RecyclableArrayList.
2023-03-19 20:37:18 +01:00
Marek Lemańczyk e312accfe5 Unused & confusing test data removed. 2023-03-17 02:09:16 +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 681cd179d2 Test RecyclableArrayList.ContainsShouldNotFindNonExistingItems and ContainsShouldNotFindAnythingWhenListEmpty added. 2023-02-08 22:50:08 +01:00
Memek 50353aecc2 Test RecyclableArrayList.ConstructorShouldAcceptDuplicates added. 2023-02-08 16:31:13 +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 1eefa2d84f AddCountShouldSuceed test fixed. 2023-02-07 17:01:50 +01:00
Memek 37b0114779 Test RecyclabeArrayList.AddShouldAcceptDuplicates added. 2023-02-06 21:11:21 +01:00
Memek 23e92b0521 Tests for RecyclableArrayList.Contains and RecyclableList.Clear added. 2023-02-06 18:02:50 +01:00
Memek 360f1c9880 Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-02-06 15:32:31 +01:00
Memek 97c0b87c31 Added new tests to RecyclableArrayListTest for Clear and IndexOf. 2023-02-06 15:28:25 +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 4bfb40007a Missing IList<T> interface added. Tiny cleanup. 2023-01-15 20:19:01 +01:00
mlemanczyk f500f846ac RecyclableArrayList.AddRange(IEnumerable<T>) performance improvements. ...WhenSourceIsIEnumerable benchmarks reworked to use real IEnumerable, which can't be typecasted to anything. 2023-01-15 20:12:52 +01:00
mlemanczyk c48b4e2f56 Additional, optimized constructors & AddRange variants added to RecyclableArrayList. Benchmarks extended. 2023-01-15 12:24:00 +01:00
mlemanczyk 012fc3b21f RecyclableArrayList.AddRange added. Smaller perf improvements. 2023-01-13 19:45:22 +01:00
mlemanczyk 880abd605e RecyclableBlockList renamed to RecyclableArrayList for clarity. First set of optimizations and implementation. 2023-01-11 21:21:42 +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