refactor: Add support for parsing ZH Airlines flight schedule data

This commit is contained in:
windyboy
2024-08-02 12:37:12 +08:00
parent 7b1a072f32
commit a37596b40b
2 changed files with 36 additions and 0 deletions
+16
View File
@@ -205,6 +205,22 @@ var (
3: Register,
},
},
{
/**
* 深圳航空 (ZH)
*204) W/Z 31OCT ZH9783 B5670 CAT1 (10) SZX0045 0355TSN
*/
Airlines: []string{"ZH"},
MinLen: 9,
WaypointStart: 7,
Fields: map[int]string{
0: Index,
1: Task,
2: Date,
3: FlightNumber,
4: Register,
},
},
}
)
+20
View File
@@ -424,4 +424,24 @@ var _ = Describe("Parse Line with PreDef", func() {
})
})
Context("ZH", func() {
It("204) W/Z 31OCT ZH9783 B5670 CAT1 (10) SZX0045 0355TSN", func() {
lineText := "204) W/Z 31OCT ZH9783 B5670 CAT1 (10) SZX0045 0355TSN"
def := FindDef("ZH")
Expect(def).NotTo(BeNil())
schedule := ParseWithDef(lineText, def)
Expect(schedule).NotTo(BeNil())
Expect(schedule.Index).To(Equal("204)"))
Expect(schedule.Task).To(Equal("W/Z"))
Expect(len(schedule.FlightNumber)).To(Equal(1))
Expect(schedule.FlightNumber[0]).To(Equal("ZH9783"))
Expect(schedule.AircraftReg).To(Equal("B5670"))
Expect(len(schedule.Waypoints)).To(Equal(2))
Expect(schedule.Waypoints[0].Airport).To(Equal("SZX"))
Expect(schedule.Waypoints[0].DepartureTime).To(Equal("0045"))
Expect(schedule.Waypoints[1].Airport).To(Equal("TSN"))
Expect(schedule.Waypoints[1].ArrivalTime).To(Equal("0355"))
})
})
})