New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added support for some immutable collections #1345
base: release/5.0.0
Are you sure you want to change the base?
Conversation
Hi, @aivascu could you please review it and publish pre-release nuget package for v5 on nuget.com? Thank you |
cc @Kralizek |
@Romfos2 thank you for the PR. I'm honestly not sure if I should add the support for immutable collections, into the base package of AutoFixture. As I can see there is a community package AutoFixture.Community.ImmutableCollections, which adds support for the same collections, but is a bit outdated. Have you tried to reach the author of that package in order to update it? If he doesn't answer I'll consider creating a new AutoFixture package that adds support for immutable collections. @Kralizek I'm interested to know what you think. |
@aivascu i agree with you that the AF base package should have no extra dependency and offer support to only those contained in the basic packages. It is worth discussing whether or not other Microsoft types should be left to the community to support or should be supported by this organization. Ploeh some time ago defined AF feature complete and, besides a general facelift of the API/developer experience and support for new constructs introduced in the C# language and .NET runtime, I tend to agree. Accepting AF being basically feature complete means we now have bandwidth to improve support for glue libraries (e.g. the NUnit one) and for specimen builders of new types being introduced and becoming more and more common. On the other hand, I would avoid bloating even more the already gargantuan AF repo/solution. Maybe we could think of a Extras repository where packages |
@Kralizek I agree, there should be a separate kind of packages that add support for common features, that cannot be supported by the official AutoFixture libraries. The "Extras" prefix, is a good candidate to group those packages. It sounds intuitive and is not that long to spell. 🙂 Community support is tricky since people will often create the packages at a point in time when they need those packages and then abandon them, once they move on to different projects/technology stacks. Same happens with PRs and Issues. So while it is nice to have more community packages, they are not as reliable, and the ImmutableCollections package might be a good example. This actually makes me think that perhaps there should be a separate organization for community packages. This would allow to recycle community packages, that are not supported anymore by their original authors, but due to their name or popularity might be too big to die. Something like the .NET Foundation but for AutoFixture. 😄 |
Why not an extras repo in the AF org? |
@Kralizek yes for Extras there would be a separate repo in the AF organization. I was talking about a separate org in the context of the abandoned AutoFixture.Community.* packages. |
@aivascu @Kralizek System.Collections.Immutable is part of BCL in .NET Core, but not in .NET Framework or .NET Standard I think it should be out of the box because .Net Core is future (and most used runtime already) Product Versions for .NET Framework or .NET Standard support provided by nuget package |
Thank you for your clarification. I think the difference between these classes and The same doesn't apply for the immutable collections. Options would be:
When it comes to my personal preference:
That being said, I'm not a maintainer, just a very vocal user with tiny contributions. I guess @aivascu should pitch in here :) |
Description
Added support for ImmutableArray, ImmutableList, ImmutableDicrionary
Closed issues
n\a
Checklist