Open
Description
This should help create comparable outputs between languages so the results can be cross-checked between teams. It won't be diff-able for projections where you return a data structure, but it still provides the boilerplate that teams can just add their projection to as they go through the exercise.
- c++
- clojure
- csharp
- elixir
- elm
- fsharp
- java
- js
- kotlin
- php
- python
- ruby
Example in JS
// Specify both data and projections
const DATA_SOURCES = ["../data/0.json", "../data/2.json"];
const PROJECTIONS = {
eventCounter: require("./eventCounter"),
registeredPlayers: require("./registeredPlayers")
}
const dataSets = DATA_SOURCES.reduce(
(dataSets, source) => Object.assign({}, dataSets, { [source]: require(source) }),
{});
for(let projection in PROJECTIONS) {
for(let dataSet in dataSets) {
const result = PROJECTIONS[projection](dataSets[dataSet]);
console.log(`${projection}\t${dataSet}\t${JSON.stringify(result)};
}
}
Example output
eventCounter 0.json 4
eventCounter 1.json 30
eventCounter 2.json 43727
eventCounter 5_2015_01_2017_01.json 104712
eventCounter 10_2015_01_2016_01.json 48960
numberOfRegisteredPlayers 0.json 1
numberOfRegisteredPlayers 1.json 2
numberOfRegisteredPlayers 2.json 218
numberOfRegisteredPlayers 5_2015_01_2017_01.json 158
numberOfRegisteredPlayers 10_2015_01_2016_01.json 254
numberOfRegisteredPlayersByMonth 0.json {"2016-09":1}
numberOfRegisteredPlayersByMonth 1.json {"2016-05":2}
numberOfRegisteredPlayersByMonth 2.json {"2016-04":2,"2016-05":1,"2016-06":8,"2016-07":16,"2016-08":27,"2016-09":64,"2016-10":52,"2016-11":28,"2016-12":16,"2017-01":3,"2017-03":1}
numberOfRegisteredPlayersByMonth 5_2015_01_2017_01.json {"2015-01":5,"2015-02":5,"2015-03":5,"2015-04":6,"2015-05":6,"2015-06":4,"2015-07":5,"2015-08":6,"2015-09":3,"2015-10":5,"2015-11":8,"2015-12":12,"2016-01":8,"2016-02":8,"2016-03":10,"2016-04":11,"2016-05":12,"2016-06":9,"2016-07":6,"2016-08":5,"2016-09":6,"2016-10":5,"2016-11":8}
numberOfRegisteredPlayersByMonth 10_2015_01_2016_01.json {"2015-03":26,"2015-04":24,"2015-05":12,"2015-06":25,"2015-07":18,"2015-08":20,"2015-09":30,"2015-10":22,"2015-11":25,"2015-12":52}
Metadata
Metadata
Assignees
Labels
No labels