Generate a random, arbitrarily large bebop.File structure
Write this structure out to a bop file (with formatting tooling)
2a. Randomly adjust this file in ways that maintain it as a valid bebop file (newlines and other whitespace, comments, etc)
Read this structure back in
Confirm that read structure matches the original structure
Generate a go file from this new structure
Confirm this go file compiles
Confirm this go file contains a type definition for every type in the bebop definition
A harness like this would have detected #18 sooner.
Write a test harness which will repeatedly:
type
definition for every type in the bebop definitionA harness like this would have detected #18 sooner.