Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Add real-world code #16

Closed
ric15ni opened this issue Nov 11, 2022 · 0 comments
Closed

Add real-world code #16

ric15ni opened this issue Nov 11, 2022 · 0 comments
Labels
enhancement [issue/PR] requests / implements new or improved functionality.

Comments

@ric15ni
Copy link
Collaborator

ric15ni commented Nov 11, 2022

Reference version

2.0.1-preview

Background and motivation

If we want procedures like testing and coverage, once implemented and tested here, to be suitable for at least the majority of real-world projects, we need some "real" code to test.

For starters, there is no meaningful way to "arrange, act, assert" when testing parameterless methods that always returns the same constant. But it's more complex than this. We should be able to meaningfully test Coverlet exclusions, determine whether we need some sort of per-project testing customization vs. a one-size-fits-all default.runsettings file, and the list grows longer with each hour I spend on this.

Proposed enhancement

AaaLib should contain some real-world, or at least real-world-like, code.

It should also contain different kinds of projects:

  • a multi-target, multi-platform library - currently the only kind of project AaaLib contains;
  • a console executable that uses all possible Microsoft extensions (hosting, logging, command line, file systems, etc.);
  • an analyzer and a source generator (maybe in the same project);
  • given the latest direction we are taking with regard to user interfaces, an Avalonia application (complete with setup for all necessary platforms) seems to be good to have too;
  • ...did I forget anything? I'm almost sure the picture is not complete yet.

Once we have projects of different kinds to work on, we will also be able to add e.g. integration tests as briefly suggested in #10.

Implementation proposals

Code can be brought in from tutorials found on the web, at least initially.

Also, with all due respect to the late Douglas Adams, the Aaa class has to go. It was good as a first, minimal example to start building Cake scripts and GitHub workflows, but once we have "real" code, it has no place here any longer.

Usage examples

n/a

Risks

Of course the removal of the Aaa class is a breaking change. I don't expect much customer impact, though, as AaaLib was never meant to be actually used as a dependency.

Additional information

No response

@ric15ni ric15ni added the enhancement [issue/PR] requests / implements new or improved functionality. label Nov 11, 2022
@Tenacom Tenacom locked and limited conversation to collaborators Nov 11, 2022
@rdeago rdeago converted this issue into discussion #17 Nov 11, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
enhancement [issue/PR] requests / implements new or improved functionality.
Projects
None yet
Development

No branches or pull requests

1 participant