Skip to content

Consistent main throughout languages #55

Open
@rradczewski

Description

@rradczewski

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions