ScalABM / auctions

A functional API for auction simulations
Apache License 2.0
13 stars 1 forks source link

Java versions of different auction types #59

Closed bherd-rb closed 7 years ago

bherd-rb commented 7 years ago

@davidrpugh You're absolutely right, the Java versions of the tradables don't make any sense. I'll get rid of them.

bherd-rb commented 7 years ago

@davidrpugh Yes, absolutely. I'll add a testing infrastructure.

bherd-rb commented 7 years ago

@davidrpugh I have a question regarding the test cases. Essentially, all the stuff in functional are tests, right? At the current stage, the auction classes don't really contain any non-testing-related logic. As a consequence, shouldn't they go into src/test?

I have committed a example of what a test class for the FPSBA could look like. Have a look and let me know what you think. Eventually, it could replace JFirstPriceSealedBidAuction in functional. Or am I misunderstanding the purpose of the stuff in functional?

davidrpugh commented 7 years ago

@bherd-rb Yes essentially everything in src/functional is testing logic. I find it useful to distinguish between unit testing and functional (or end-to-end) testing. I have reserved src/test for unit tests which should be simple tests of individual method calls; src/functions tests should test properties of an entire "application." For example, for some auctions one can derive closed form expressions for equilibrium bidding strategies. Such closed form expressions can be used to generate orders which can then be fed in to the auction and we can test whether the auction returns the analytic result.

Admittedly the tests that we have insrc/functional are not the best "end-to-end" tests that one could imagine. Eventually we can port over some better examples from agora.

davidrpugh commented 7 years ago

@bherd-rb I have merged in the updates to the develop branch and fixed some basic import errors. Can you take a look at the remaining issues?

davidrpugh commented 7 years ago

@bherd-rb I see that there are some issues with the Clearing class. This class is made obsolete in PR #61 so let's not worry too much about this error.

davidrpugh commented 7 years ago

@bherd-rb This branch has been effectively incorporated into develop by our recent work.