This is a QIIME 2 plugin. For details on QIIME 2, see https://qiime2.org.
This plugin exists to define integration tests between interfaces and the framework.
This plugin exists to define integration tests between interfaces and the framework.
License: BSD 3-Clause "New" or "Revised" License
This is a QIIME 2 plugin. For details on QIIME 2, see https://qiime2.org.
This plugin exists to define integration tests between interfaces and the framework.
This plugin should probably be registered by an interface's test-suite manually (and entry-point removed). There is an API for this, so we just need to create a public-facing factory which will generate a plugin object which can be registered. See this comment for additional motivation.
Currently the code smashes all of the possible types together in one large cartesian product.
We can probably get 90% of the testing power by splitting method registrations by type. So for each type-class, we would have a single-param test for the "happy path", and then some sample of combinations from #4 for different combinations.
A non-exhaustive list of edge cases I am used to dealing with interfaces are listed below:
I think we can hit this if we have the following registrations:
... I am ignoring TypeMap for the moment.
I think a nice way to approach this would be to turn each of these into generators which can be consumed by other generators, allowing us to do wrapping and products as needed using the same overall interface. This also prevents any of the combinatorics from occurring before requested as generators are lazily evaluated.
Also, I kind of expect a reasonable split would be testing 1-6,8 as a particular registration mode, 7 as a more advanced one, and 9-11 as a even more advanced one. So a good start would be getting 1-6,8 in shape and then moving on to 7, etc.
See #5 for particular details about this.
It would be good to allow registrars of this plugin to choose how many test-cases are desired. This would allow quick sanity checking and iteration without spending time exhaustively running each permutation.
This could be accomplished using reservoir sampling to decide when to use a given iteration of the product.
See #5 for additional details, but essentially we want to cover the branches in this qiime2 utility.
... no suggestions at this time.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.