Skip to content
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

Simplify inheritance of SubsequentOrderingAssertions #2439

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

vbreuss
Copy link
Contributor

@vbreuss vbreuss commented Nov 5, 2023

The SubsequentOrderingGenericCollectionAssertions<TCollection, T> is only used as a base class for SubsequentOrderingAssertions. By moving the functionality into the (previously empty) SubsequentOrderingAssertions the inheritance tree can be simplified.

This should also increase the code coverage according to #1823.

IMPORTANT

  • If the PR touches the public API, the changes have been approved in a separate issue with the "api-approved" label.
  • The code complies with the Coding Guidelines for C#.
  • The changes are covered by unit tests which follow the Arrange-Act-Assert syntax and the naming conventions such as is used in these tests.
  • If the PR adds a feature or fixes a bug, please update the release notes with a functional description that explains what the change means to consumers of this library, which are published on the website.
  • If the PR changes the public API the changes needs to be included by running AcceptApiChanges.ps1 or AcceptApiChanges.sh.
  • If the PR affects the documentation, please include your changes in this pull request so the documentation will appear on the website.
    • Please also run ./build.sh --target spellcheck or .\build.ps1 --target spellcheck before pushing and check the good outcome

@coveralls
Copy link

coveralls commented Nov 5, 2023

Pull Request Test Coverage Report for Build 7398640344

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.01%) to 97.477%

Totals Coverage Status
Change from base Build 7378622478: 0.01%
Covered Lines: 11744
Relevant Lines: 11926

💛 - Coveralls

Copy link

github-actions bot commented Nov 5, 2023

Qodana for .NET

It seems all right 👌

No new problems were found according to the checks applied

💡 Qodana analysis was run in the pull request mode: only the changed files were checked

View the detailed Qodana report

To be able to view the detailed Qodana report, you can either:

  1. Register at Qodana Cloud and configure the action
  2. Use GitHub Code Scanning with Qodana
  3. Host Qodana report at GitHub Pages
  4. Inspect and use qodana.sarif.json (see the Qodana SARIF format for details)

To get *.log files or any other Qodana artifacts, run the action with upload-result option set to true,
so that the action will upload the files as the job artifacts:

      - name: 'Qodana Scan'
        uses: JetBrains/qodana-action@v2023.2.8
        with:
          upload-result: true
Contact Qodana team

Contact us at qodana-support@jetbrains.com

@vbreuss vbreuss changed the title Fix inheritance of SubsequentOrderingAssertions Simplify inheritance of SubsequentOrderingAssertions Nov 9, 2023
@jnyrup
Copy link
Member

jnyrup commented Nov 11, 2023

I don't know or recall why #1416 used SubsequentOrderingAssertions in GenericCollectionAssertions instead of SubsequentOrderingGenericCollectionAssertions.
The latter retains TCollection whereas the former uses IEnumerable<T> which TCollection is constrained to.

Could we use SubsequentOrderingGenericCollectionAssertions instead of SubsequentOrderingAssertions?

@vbreuss
Copy link
Contributor Author

vbreuss commented Nov 11, 2023

Could we use SubsequentOrderingGenericCollectionAssertions instead of SubsequentOrderingAssertions?

I don't have any preference regarding the naming. I was simply wondering why it needed so many levels of inheritance and could find no reason for it. Should I rename SubsequentOrderingAssertions to SubsequentOrderingGenericCollectionAssertions?

@jnyrup
Copy link
Member

jnyrup commented Nov 11, 2023

Could we use SubsequentOrderingGenericCollectionAssertions instead of SubsequentOrderingAssertions?

I don't have any preference regarding the naming. I was simply wondering why it needed so many levels of inheritance and could find no reason for it. Should I rename SubsequentOrderingAssertions to SubsequentOrderingGenericCollectionAssertions?

Not sure I get you.
I didn't mean rename SubsequentOrderingAssertions to SubsequentOrderingGenericCollectionAssertions, but let the relevant assertions in GenericCollectionAssertions return SubsequentOrderingGenericCollectionAssertions instead of SubsequentOrderingAssertions.

@vbreuss
Copy link
Contributor Author

vbreuss commented Nov 11, 2023

Not sure I get you.
I didn't mean rename SubsequentOrderingAssertions to SubsequentOrderingGenericCollectionAssertions, but let the relevant assertions in GenericCollectionAssertions return SubsequentOrderingGenericCollectionAssertions instead of SubsequentOrderingAssertions.

That would practically be the same. All methods were in one class and all other classes were empty. I chose SubsequentOrderingAssertions to keep (move all logic inside and remove the inheritance). Alternatively I could keep the logic in SubsequentOrderingGenericCollectionAssertions and replace all references of SubsequentOrderingAssertions with it.

I expected the first change to have less chance of breaking things, as I don't change the return type of existing methods. That was my reason for choosing this way...

auto-merge was automatically disabled January 3, 2024 14:39

Head branch was pushed to by a user without write access

Copy link

github-actions bot commented Jan 3, 2024

Qodana for .NET

It seems all right 👌

No new problems were found according to the checks applied

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

@dennisdoomen
Copy link
Member

@jnyrup I think this is waiting for you, isn't it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants