Currently, Message is a final class with public fields that extends from Function1. This causes problems with logging and testing as easy visualisation and comparison is not possible. For example, Message.toString returns <function1> and message1 shouldBe message2 returns assertion failed: expected <function1>, found <function1>. By changing Message and all contained classes (e.g. PublisherImpl and DefiningPublisher) to case classes, toString and equals will automatically be provided, which will make the API easier to debug and test
Currently,
Message
is a final class with public fields that extends fromFunction1
. This causes problems with logging and testing as easy visualisation and comparison is not possible. For example,Message.toString
returns<function1>
andmessage1 shouldBe message2
returnsassertion failed: expected <function1>, found <function1>
. By changingMessage
and all contained classes (e.g.PublisherImpl
andDefiningPublisher
) to case classes,toString
andequals
will automatically be provided, which will make the API easier to debug and test