diff --git a/tests/library/iter-tree-explorer-test.cpp b/tests/library/iter-tree-explorer-test.cpp index eb76ccd59..d12cf70d5 100644 --- a/tests/library/iter-tree-explorer-test.cpp +++ b/tests/library/iter-tree-explorer-test.cpp @@ -272,6 +272,7 @@ namespace test{ verify_combinedExpandTransform(); verify_FilterIterator(); verify_asIterSource(); + verify_IterSource(); verify_depthFirstExploration(); demonstrate_LayeredEvaluation(); @@ -848,6 +849,39 @@ namespace test{ + /** @test ability to wrap and handle IterSource based iteration + * + */ + void + verify_IterSource() + { + class PrivateSource +// : public IterSource /////////////////////////////////////TODO linearised Mix-in problem + { + public: + virtual PrivateSource* expandChildren() const =0; + }; + + class VerySpecivicIter + : public WrappedLumieraIter + , public PrivateSource + { + public: + VerySpecivicIter(uint start) + : WrappedLumieraIter(NumberSequence{start}) + { } + + virtual PrivateSource* + expandChildren() const override + { + return new VerySpecivicIter{*wrappedIter() - 1}; + } + }; + UNIMPLEMENTED ("directly wrap and handle IterSource sub-interfaces"); + } + + + /** @test use a preconfigured exploration scheme to expand depth-first until exhaustion. * This is a simple extension where all elements are expanded automatically. In fact, the * `expandChildren()` operation implies already an iteration step, namely to dispose of the diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index b92f0c85e..bf5984bdb 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -8081,6 +8081,28 @@ + + + + + + + + + + + + + + + + + + + + + +