For converting outlines, maybe some fuzzing tests as well? Most should fail...
On Wednesday, September 8, 2021 at 10:21:37 AM UTC-4 Edward K. Ream wrote: > The ekr-unit-test branch contains the work for #1766 > <https://github.com/leo-editor/leo-editor/issues/1766>: cover Leo with > unit tests. Work is well along, as shown by PR #2159 > <https://github.com/leo-editor/leo-editor/pull/2159>. > > In this Engineering Notebook post, I'll say a few words about converting > the unit tests for @shadow. These unit tests are arguably the most > important because they test the @shadow update algorithm. > > The unit tests are also (by far) the most difficult to translate into > "flat" (traditional/new) unit tests. Indeed, the @shadow update algorithm > uses an *actual* Leo outline as part of its data. So the new unit tests > must do likewise. > > The *ConvertShadowTests.convert_node* script is in convertCommands.py. > convert_node is part of a larger script that converts @test nodes from > unitTest.leo to traditional unit tests. Doing the conversion by hand is out > of the question. I must be free to experiment with the contents of each > unit test. Altering tests by hand would be tedious and way error-prone. > > convert_node creates nodes that pass unit tests. That's not bad, but I > suspect that the tests aren't testing what I think they should. The only > way to know for sure is to study what the existing unit tests do. I'll > tweak convert_node as needed to ensure that the unit tests actually do what > the old tests did! > > *Summary* > > The old unit tests use actual outline data. The new unit tests will > recreate this data. > > The old tests were *functional* tests, not coverage tests. For Leo's > @shadow code, functional tests are much more important than coverage tests. > However, coverage tests will act as an additional check on the unit tests. > > For example, suppose I had naively assumed that all was well just because > all the new tests passed. Coverage testing might reveal that all the new > tests are actually the same test! > > Edward > -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/5dc16e51-9f88-4af1-ac95-602c0483c095n%40googlegroups.com.
