-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest_book.txt
85 lines (67 loc) · 3.13 KB
/
test_book.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
The Laravel Swiss Ephemeris
[x] can show Synodic Rhythm.
A MoonPeriods collection
[x] consists of MoonPeriod instances.
[x] has a getter that return a specific MoonPeriod.
A MoonPhases collection
[x] contains MoonPhaseRecord(s).
The SynodicRhythm collection
[x] consists of SynodicRhythmRecord instances.
[x] cannot be constructed with empty records.
[x] can give you the first and last SynodicRhythmRecord.
The MoonPeriods/FromSynodicRhythm builder
[x] can build a MoonPeriods collection starting from a SynodicRhythm.
A MoonPeriods\FromSynodicRhythm builder
[x] can build a MoonPhases collection from the SynodicRhythm.
[x] needs at least one MoonPhaseType.
[x] needs only MoonPhaseType.
The FirstQuarter strategy
[x] can find a SynodicRhythmRecord whose 'angular_distance' is about 90.
A FullMoon strategy
[x] can find a SynodicRhythmRecord whose 'angular_distance' is about -/+180°.
The NewMoon strategy
[x] can find a SyndicRhythmRecord whose 'angular_distance' is about zero.
The ThirdQuarter strategy
[x] can find a SynodicRhythmRecord whose 'angular_distance' is about -90°.
The SynodicRhythm/FromArray builder
[x] can build an array of SynodicRhythmRecords starting from an array of raw ephemeris data.
[x] require the 'timestamp' ephemeris column.
[x] require the 'angular_distance' ephemeris column.
[x] cannot build a SynodicRhythm with an empty array.
The SynodicRhythm/FromRecords builder
[x] can build a SynodicRhythm starting from SynodicRhythmRecord(s).
[x] cannot build a SynodicRhythm without an array.
[x] cannot build a SynodicRhythm without SynodicRhythmRecord(s).
The MoonPhase enumeration
[x] consists of NewMoon, FirstQuarter, FullMoon, ThirdQuarter.
[x] can be casted to string with a trick.
[x] maps the new moon type to the NewMoon BuilderStrategy.
[x] maps the first quarter type to the FirstQuarter BuilderStrategy.
[x] maps the full moon type to the FullMoon BuilderStrategy.
[x] maps the third quarter type to the ThirdQuarter BuilderStrategy.
[x] can't map unregistered MoonPhaseStrategy.
A MoonPeriod
[x] has read-only properties 'start' and 'end'.
[x] can be a waxing one.
[x] can be a waning one.
A MoonPhaseRecord
[x] has read-only properties 'type' and 'timestamp'.
The SwissDateTime
[x] is a Carbon instance.
[x] can format a date to Universal Time format of the Gregorian calendar.
[x] can format a date to Universal Time format of the Gregorian calendar.
[x] can format a date to Terrestrial Time format of the Julian calendar.
[x] can format a date to Terrestrial Time format of the Julian calendar.
[x] can format a date to the Gregorian calendar.
[x] Julian date
[x] can be created from a Gregorian date and Universal Time.
[x] can be created from a Gregorian date and Terrestrial Time.
[x] can be created from a Julian date and Universal Time.
[x] can be created from a Julian date and Terrestrial Time.
A Synodic Rhythm Record
[x] has read-only properties 'timestamp', 'angular_distance' and 'percentage'.
[x] can tell if it is waxing moon period.
[x] can tell if it is a waning moon period.
With custom assertions
[x] you can asser a date is what you expect.
[x] Assert date exception