-
Notifications
You must be signed in to change notification settings - Fork 132
Closed
Labels
Description
Problem
Since we introduced PyTeal blackbox testing while working on defining ARC-4 applications, there's a gap in our blackbox testing. The story requests we improve our confidence in ABI encoding, decoding, and subroutine handling via blackbox testing.
Let's get a base level of confidence by testing round-trip encoding + decoding of these ABI types:
- Address
- Boolean
- Arrays - static and dynamic varieties
- String
- Tuples
- Uints - Uint8, Uint16, Uint32, Uint64
Since the story requests blackbox testing, the tests will also provide @AbiReturnSubroutine coverage. The story envisions decorating methods with @AbiReturnSubroutine to confirm PyTeal generated TEAL can be successfully used to define and invoke apps + parse results (via log inspection).
Additional notes:
- For container types (e.g. tuple), devise examples considering allowed max length + complex examples (e.g. tuple of tuples, array of tuples, etc).
- The story assumes user guide doc examples are tested.
- Further thought into possible tests + test strategies is in https://docs.google.com/spreadsheets/d/1QpfPIihqInvn6r1YE6tqgXnb3LAequN_4_8SYUZ-sHw/edit#gid=0.