Add tests for scala3 enum derivation and fix writer derivation for scala3 enums #224
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.
Add tests and fix bugs for #177
Should be merged after #177 .
Tests for simple and parametrized enums:
Bug:
Behaviour of derived writer before this pr (the same for parametrised enum):
SimpleEnum.ONE
->{ "ONE" }
SimpleEnum.ONE
(with discriminator) ->{ "ONE", "__type": "ONE" }
Behaviour of derived writer after this pr (the same for parametrised enum):
SimpleEnum.ONE
->"ONE"
SimpleEnum.ONE
(with discriminator) ->{ "__type": "ONE" }
Behaviour of reader derivation was not changed.
Derived reader works like
"ONE"
->SimpleEnum.ONE
(the same for parametrised enum)However if you will try to use JsonWriter.obj for enum values, but not for the enum itself, like:
in version after this pr it will produce
"type": "ONE"
or"type": "TWO"
without object start and object end(in version before this pr it would produce
{"type": "ONE"}
or{"type": "TWO"}
)But you can use JsonWriter.obj for just SimpleEnum, not for its values:
and get the correct behaviour of such writer:
SimpleEnum.ONE -> {"type": "ONE"}