WIP commit: have defined API for tagged filter inputs, and made preliminary modifications to the factory tests to allow tags to be defined - but have not yet written any test expectations nor implementation yet.
WIP commit: second thoughts on what the ITaggedFilterInputs interface should look like.
Add additional test expectations to check ITaggedFilterInputs - these fail of course right now, there is no implementation yet.
Replace 'Node.FoldRightPostOrder' with 'Node.FoldLeftPostOrder'.
Merge in replacement of 'FoldRightPostOrder' by 'FoldLeftPostOrder'.
Add 'Tag' property to 'Node'.
WIP commit: changed the tag API after thinking about how messy it would be to implement a dual dictionary / tagged inputs interface on a filter inout. Now using two overloads of 'WithTag' on factories and nodes.
Refactoring to break out the tree-walking logic that calculates adjusted test variable indices when producing a node's combined filter.
Refactoring to extract the slicing of a partial test vector to make a filter input.
Trivial reformatting change.
Remove use of option workflow in the calculation of a node's combined filter - use precondition checking in 'Node.WithFilter' to screen out insane filters instead. This sets up reuse of 'walkTree' in a fortcoming commit (and makes it easier for clients to spot insane filters)...
WIP commit: now building up lists of nodes with ordinary filters and nodes with filters for tagged inputs, rather than lists of the filters themselves. This will allow downstream code to use the nodes when building tagged filter inputs.
Correct check for insanity of filters using tagged inputs, plus refactoring to support this. Also revealed a mistake in the additional testing support - have to sort the tags in the filters used by the test, as the tagged factories are shuffled around.
WIP commit: initial implementation of generating tagged filter inputs, plus corrections to the tests where I had mistaken the expected type of a test variable level generated by the testing code. This currently fails at least one test.
Fix spelling typo.
Fix for choosing the correct node to walk the tree from when slicing for a filter using tagged inputs, plus refactoring of insanity check.
Remove some temporary debugging helper code.
Use correct expectations in the tests for filters using tagged inputs. These need to be expanded, but the previous ones were just plain wrong.
Now testing the levels in the filter inputs supplied to a filter using tagged inputs.
Toughen up expectations on the filter inputs passed to a filter using tagged inputs.