[][src]Function esbat::lunar_phase_iter

pub fn lunar_phase_iter<B>(range: B) -> Iter where
    B: RangeBounds<DateTime<Utc>>, 

Returns an iterator of principal phases and their moments.

use chrono::{TimeZone, Utc};
use esbat::PrincipalPhase;

let start = Utc.ymd(2020, 10, 1).and_hms(0, 0, 0);
let end = Utc.ymd(2020, 11, 1).and_hms(0, 0, 0);
let mut iter = esbat::lunar_phase_iter(start..end);

assert_eq!(iter.next().unwrap().0, PrincipalPhase::FullMoon);
assert_eq!(iter.next().unwrap().0, PrincipalPhase::LastQuarter);
assert_eq!(iter.next().unwrap().0, PrincipalPhase::NewMoon);
assert_eq!(iter.next().unwrap().0, PrincipalPhase::FirstQuarter);
assert_eq!(iter.next().unwrap().0, PrincipalPhase::FullMoon);
assert!(iter.next().is_none());