Derive User classes directly from IUser interface instead of the NullUser class. #2648
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem:
Our UI specific
(I)User
classes for interacting with the... user are pretty messy.Besides to the consoleUI all of them are inheriting from
NullUser
instead of directly extending theIUser
interface, which kinda misses the point of having an interface.Also the
NullUser
implements aDisplay...()
method for eachIUser
method on top of the existingRaise...()
methods, just to let theRaise..()
ones call theDisplay...()
ones without any reason to do so.Solution:
Now all
User
classes inherit directly fromIUser
.NullUser
is now only used in tests.All
Display...()
methods are removed.Added LOTS of code documentation, because I could have needed them...
And i implemented the selection dialog for the GUI.