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.
Quick and dirty proof of running tests written in C#. The approach to solving the problem of "inheriting" from the base GutTest class is to create a C# version which is in theory indestinguishable from the GdScript version as an interface but in reality proxies any relevant lifecycle method calls, except those that are meant to be overridden, to an inner private instance of the GdScript
GutTestnode. There is also some additional utlitity around collecting and running the C# tests.Currently this has been tested by running from the cli. This is still quite early, certainly a lot of edges to cover, but at least it "works" insofar as the C# tests are executed and passing (with warnings about orphans and such). The
GutTest.csexposes the bare minimum required to achieve that.Given a "keep going" signal, this is what I see still needs to be done:
inst_to_dictworkaroundOne other potential way to look at this could reflect the engine's evolving philosophy regarding language support. The C# thing could somehow be a separate extension that gets identified and integrated as a middleware of sorts, "adding" all of these C# layers. This would set a precedent for how Gut could be adapted to support some of the other more mainstream language extensions like python. Of course this PR doesn't attempt aything like that, rather exemplifying the path of least resistance toward C# tests. Just food for thought.