DataGenerator
DataGenerator copied to clipboard
Requirements for Trade Calendar
Need to look into how to generate positive and negative test cases for dates and timestamps since it depends on which days are valid trade days.
We need a tag for data, which takes in account a calendar while generating possible values. The calendar can potentially just reference days of work, holidays and may also reference time for partial days. Indeed is good for us for partial trade days, but there can be other scenarios out there for partial days of work.
Potential options to think of:
- Positive and negative generators as with the other tags
- min / max here can have a different interpretation, since we can end up with different disjoint ranges of time. A calendar that covers Mon 11/16/15 to Fri 11/27/15 is really two valid ranges from 11/16 to 11/20 and 11/23 to 11/27. It also consists of three disjoint negative ranges.
@jeanmusinski looking into this
At its simplest, the trade calendar can be implemented using the java Calendar class which returns day of week. Using Calendar, we can implement 3 equivalence classes:
- all days
- weekdays
- weekends
Additionally, using Calendar would enable specifying date ranges, which could be combined with weekdays and weekends.
A simple extension would be to introduce a date list which lists dates as YYY-mm-dd. This list can be used to specify omissions or inclusions.
A full blown implemetation should allow the specification of a trade calendar that is formated to DG specifications. The format may be something like: (date (YYY-mm-dd), weekday(boolean), holiday(boolean),openTime(hh:mm:ss), closeTime(hh:mm:ss))