> {
- /// path to configuration file
- pub config_path: Option,
+pub struct Configuration {
+ /// The Contributor providing the Dataset
+ pub contributor: Contributor,
+ /// Describe the Dataset being parsed
+ pub dataset: Dataset,
+ /// Additional key-values for the 'feed_infos.txt'
+ pub feed_infos: BTreeMap,
/// used to prefix objects
- pub prefix: Option,
+ pub prefix_conf: Option,
/// stop time precision management
pub on_demand_transport: bool,
/// on demand transport comment template
pub on_demand_transport_comment: Option,
}
-fn read>(file_handler: &mut H, configuration: Configuration) -> Result
+fn read(file_handler: &mut H, configuration: Configuration) -> Result
where
for<'a> &'a mut H: read_utils::FileHandler,
{
let mut collections = Collections::default();
let mut equipments = EquipmentList::default();
- manage_calendars(file_handler, &mut collections)?;
+ let Configuration {
+ contributor,
+ mut dataset,
+ feed_infos,
+ prefix_conf,
+ on_demand_transport,
+ on_demand_transport_comment,
+ } = configuration;
- let (contributor, mut dataset, feed_infos) =
- read_utils::read_config(configuration.config_path)?;
+ manage_calendars(file_handler, &mut collections)?;
validity_period::compute_dataset_validity_period(&mut dataset, &collections.calendars)?;
- collections.contributors = CollectionWithId::new(vec![contributor])?;
- collections.datasets = CollectionWithId::new(vec![dataset])?;
+ collections.contributors = CollectionWithId::from(contributor);
+ collections.datasets = CollectionWithId::from(dataset);
collections.feed_infos = feed_infos;
let (networks, companies) = read::read_agency(file_handler)?;
@@ -303,17 +310,15 @@ where
read::manage_stop_times(
&mut collections,
file_handler,
- configuration.on_demand_transport,
- configuration.on_demand_transport_comment,
+ on_demand_transport,
+ on_demand_transport_comment,
)?;
read::manage_frequencies(&mut collections, file_handler)?;
read::manage_pathways(&mut collections, file_handler)?;
collections.levels = read_utils::read_opt_collection(file_handler, "levels.txt")?;
//add prefixes
- if let Some(prefix) = configuration.prefix {
- let mut prefix_conf = PrefixConfiguration::default();
- prefix_conf.set_data_prefix(prefix);
+ if let Some(prefix_conf) = prefix_conf {
collections.prefix(&prefix_conf);
}
@@ -331,10 +336,7 @@ where
/// The `prefix` argument is a string that will be prepended to every
/// identifiers, allowing to namespace the dataset. By default, no
/// prefix will be added to the identifiers.
-pub fn read_from_path>(
- p: P,
- configuration: Configuration>,
-) -> Result {
+pub fn read_from_path>(p: P, configuration: Configuration) -> Result {
let mut file_handle = read_utils::PathFileHandler::new(p.as_ref().to_path_buf());
read(&mut file_handle, configuration)
}
@@ -349,10 +351,7 @@ pub fn read_from_path>(
/// The `prefix` argument is a string that will be prepended to every
/// identifiers, allowing to namespace the dataset. By default, no
/// prefix will be added to the identifiers.
-pub fn read_from_zip>(
- path: P,
- configuration: Configuration>,
-) -> Result {
+pub fn read_from_zip>(path: P, configuration: Configuration) -> Result {
let mut file_handler = read_utils::ZipHandler::new(path)?;
read(&mut file_handler, configuration)
}
diff --git a/tests/fixtures/gtfs2ntfs/full_output/calendar.txt b/tests/fixtures/gtfs2ntfs/full_output/calendar.txt
index 80f8ebfde..03dd5aa87 100644
--- a/tests/fixtures/gtfs2ntfs/full_output/calendar.txt
+++ b/tests/fixtures/gtfs2ntfs/full_output/calendar.txt
@@ -1,4 +1,4 @@
service_id,monday,tuesday,wednesday,thursday,friday,saturday,sunday,start_date,end_date
-ME:service:1,1,1,1,0,0,0,0,20180101,20180103
-ME:service:2,0,0,0,0,1,1,0,20180105,20180106
-ME:service:2:+1days,0,0,0,0,0,1,1,20180106,20180107
+ME:Defaul:service:1,1,1,1,0,0,0,0,20180101,20180103
+ME:Defaul:service:2,0,0,0,0,1,1,0,20180105,20180106
+ME:Defaul:service:2:+1days,0,0,0,0,0,1,1,20180106,20180107
diff --git a/tests/fixtures/gtfs2ntfs/full_output/comment_links.txt b/tests/fixtures/gtfs2ntfs/full_output/comment_links.txt
index e85977310..43c5ef1a3 100644
--- a/tests/fixtures/gtfs2ntfs/full_output/comment_links.txt
+++ b/tests/fixtures/gtfs2ntfs/full_output/comment_links.txt
@@ -1,3 +1,3 @@
object_id,object_type,comment_id
-ME:stoparea:1,stop_area,ME:stop:stoparea:1
-ME:stop:11,stop_point,ME:stop:stop:11
+ME:stoparea:1,stop_area,ME:Defaul:stop:stoparea:1
+ME:stop:11,stop_point,ME:Defaul:stop:stop:11
diff --git a/tests/fixtures/gtfs2ntfs/full_output/comments.txt b/tests/fixtures/gtfs2ntfs/full_output/comments.txt
index a1d48bab6..812c5b461 100644
--- a/tests/fixtures/gtfs2ntfs/full_output/comments.txt
+++ b/tests/fixtures/gtfs2ntfs/full_output/comments.txt
@@ -1,3 +1,3 @@
comment_id,comment_type,comment_label,comment_name,comment_url
-ME:stop:stoparea:1,information,,stoparea:1_comment,
-ME:stop:stop:11,information,,stop:11_comment,
+ME:Defaul:stop:stoparea:1,information,,stoparea:1_comment,
+ME:Defaul:stop:stop:11,information,,stop:11_comment,
diff --git a/tests/fixtures/gtfs2ntfs/full_output/object_codes.txt b/tests/fixtures/gtfs2ntfs/full_output/object_codes.txt
index 05cc22fd5..47184ee91 100644
--- a/tests/fixtures/gtfs2ntfs/full_output/object_codes.txt
+++ b/tests/fixtures/gtfs2ntfs/full_output/object_codes.txt
@@ -11,12 +11,12 @@ stop_point,ME:stop:53,source,stop:53
stop_point,ME:stop:61,source,stop:61
network,ME:1,source,1
network,ME:2,source,2
-trip,ME:trip:3-0,source,trip:3
-trip,ME:trip:4-0,source,trip:4
-trip,ME:trip:4-1,source,trip:4
-trip,ME:trip:4-2,source,trip:4
-trip,ME:trip:4-3,source,trip:4
-trip,ME:trip:5-0,source,trip:5
-trip,ME:trip:5-1,source,trip:5
-trip,ME:trip:5-2,source,trip:5
-trip,ME:trip:6,source,trip:6
+trip,ME:Defaul:trip:3-0,source,trip:3
+trip,ME:Defaul:trip:4-0,source,trip:4
+trip,ME:Defaul:trip:4-1,source,trip:4
+trip,ME:Defaul:trip:4-2,source,trip:4
+trip,ME:Defaul:trip:4-3,source,trip:4
+trip,ME:Defaul:trip:5-0,source,trip:5
+trip,ME:Defaul:trip:5-1,source,trip:5
+trip,ME:Defaul:trip:5-2,source,trip:5
+trip,ME:Defaul:trip:6,source,trip:6
diff --git a/tests/fixtures/gtfs2ntfs/full_output/stop_times.txt b/tests/fixtures/gtfs2ntfs/full_output/stop_times.txt
index c38f39cf2..953f77c18 100644
--- a/tests/fixtures/gtfs2ntfs/full_output/stop_times.txt
+++ b/tests/fixtures/gtfs2ntfs/full_output/stop_times.txt
@@ -1,27 +1,27 @@
stop_id,trip_id,stop_sequence,arrival_time,departure_time,boarding_duration,alighting_duration,pickup_type,drop_off_type,datetime_estimated,local_zone_id,stop_headsign,stop_time_id,stop_time_precision
-ME:stop:11,ME:trip:4-0,0,20:00:00,20:00:00,0,0,2,0,1,,,,0
-ME:stop:11,ME:trip:4-1,0,20:30:00,20:30:00,0,0,2,0,1,,,,0
-ME:stop:11,ME:trip:4-2,0,21:00:00,21:00:00,0,0,2,0,1,,,,0
-ME:stop:11,ME:trip:4-3,0,21:30:00,21:30:00,0,0,2,0,1,,,,0
-ME:stop:22,ME:trip:4-0,1,20:09:00,20:09:00,0,0,2,0,1,,,,0
-ME:stop:22,ME:trip:4-1,1,20:39:00,20:39:00,0,0,2,0,1,,,,0
-ME:stop:22,ME:trip:4-2,1,21:09:00,21:09:00,0,0,2,0,1,,,,0
-ME:stop:22,ME:trip:4-3,1,21:39:00,21:39:00,0,0,2,0,1,,,,0
-ME:stop:31,ME:trip:3-0,0,10:00:00,10:00:00,0,0,0,0,0,,,,0
-ME:stop:32,ME:trip:3-0,1,10:13:00,10:15:00,0,0,0,0,0,,,,0
-ME:stop:33,ME:trip:3-0,2,10:20:00,10:25:00,0,0,0,0,0,,,,0
-ME:stop:33,ME:trip:4-0,2,20:17:00,20:19:00,0,0,2,0,1,,,,0
-ME:stop:33,ME:trip:4-1,2,20:47:00,20:49:00,0,0,2,0,1,,,,0
-ME:stop:33,ME:trip:4-2,2,21:17:00,21:19:00,0,0,2,0,1,,,,0
-ME:stop:33,ME:trip:4-3,2,21:47:00,21:49:00,0,0,2,0,1,,,,0
-ME:stop:51,ME:trip:5-0,0,23:00:00,23:00:00,0,0,2,0,0,,,,0
-ME:stop:51,ME:trip:5-1,0,23:50:00,23:50:00,0,0,2,0,0,,,,0
-ME:stop:51,ME:trip:5-2,0,00:40:00,00:40:00,0,0,2,0,0,,,,0
-ME:stop:52,ME:trip:5-0,1,23:47:00,23:47:00,0,0,2,0,0,,,,0
-ME:stop:52,ME:trip:5-1,1,24:37:00,24:37:00,0,0,2,0,0,,,,0
-ME:stop:52,ME:trip:5-2,1,01:27:00,01:27:00,0,0,2,0,0,,,,0
-ME:stop:53,ME:trip:5-0,2,24:17:00,24:17:00,0,0,0,2,0,,,,0
-ME:stop:53,ME:trip:5-1,2,25:07:00,25:07:00,0,0,0,2,0,,,,0
-ME:stop:53,ME:trip:5-2,2,01:57:00,01:57:00,0,0,0,2,0,,,,0
-ME:stop:61,ME:trip:6,0,14:40:00,14:40:00,0,0,2,0,0,,,,0
-ME:stop:61,ME:trip:6,1,15:20:00,15:20:00,0,0,2,0,0,,,,0
+ME:stop:11,ME:Defaul:trip:4-0,0,20:00:00,20:00:00,0,0,2,0,1,,,,0
+ME:stop:11,ME:Defaul:trip:4-1,0,20:30:00,20:30:00,0,0,2,0,1,,,,0
+ME:stop:11,ME:Defaul:trip:4-2,0,21:00:00,21:00:00,0,0,2,0,1,,,,0
+ME:stop:11,ME:Defaul:trip:4-3,0,21:30:00,21:30:00,0,0,2,0,1,,,,0
+ME:stop:22,ME:Defaul:trip:4-0,1,20:09:00,20:09:00,0,0,2,0,1,,,,0
+ME:stop:22,ME:Defaul:trip:4-1,1,20:39:00,20:39:00,0,0,2,0,1,,,,0
+ME:stop:22,ME:Defaul:trip:4-2,1,21:09:00,21:09:00,0,0,2,0,1,,,,0
+ME:stop:22,ME:Defaul:trip:4-3,1,21:39:00,21:39:00,0,0,2,0,1,,,,0
+ME:stop:31,ME:Defaul:trip:3-0,0,10:00:00,10:00:00,0,0,0,0,0,,,,0
+ME:stop:32,ME:Defaul:trip:3-0,1,10:13:00,10:15:00,0,0,0,0,0,,,,0
+ME:stop:33,ME:Defaul:trip:3-0,2,10:20:00,10:25:00,0,0,0,0,0,,,,0
+ME:stop:33,ME:Defaul:trip:4-0,2,20:17:00,20:19:00,0,0,2,0,1,,,,0
+ME:stop:33,ME:Defaul:trip:4-1,2,20:47:00,20:49:00,0,0,2,0,1,,,,0
+ME:stop:33,ME:Defaul:trip:4-2,2,21:17:00,21:19:00,0,0,2,0,1,,,,0
+ME:stop:33,ME:Defaul:trip:4-3,2,21:47:00,21:49:00,0,0,2,0,1,,,,0
+ME:stop:51,ME:Defaul:trip:5-0,0,23:00:00,23:00:00,0,0,2,0,0,,,,0
+ME:stop:51,ME:Defaul:trip:5-1,0,23:50:00,23:50:00,0,0,2,0,0,,,,0
+ME:stop:51,ME:Defaul:trip:5-2,0,00:40:00,00:40:00,0,0,2,0,0,,,,0
+ME:stop:52,ME:Defaul:trip:5-0,1,23:47:00,23:47:00,0,0,2,0,0,,,,0
+ME:stop:52,ME:Defaul:trip:5-1,1,24:37:00,24:37:00,0,0,2,0,0,,,,0
+ME:stop:52,ME:Defaul:trip:5-2,1,01:27:00,01:27:00,0,0,2,0,0,,,,0
+ME:stop:53,ME:Defaul:trip:5-0,2,24:17:00,24:17:00,0,0,0,2,0,,,,0
+ME:stop:53,ME:Defaul:trip:5-1,2,25:07:00,25:07:00,0,0,0,2,0,,,,0
+ME:stop:53,ME:Defaul:trip:5-2,2,01:57:00,01:57:00,0,0,0,2,0,,,,0
+ME:stop:61,ME:Defaul:trip:6,0,14:40:00,14:40:00,0,0,2,0,0,,,,0
+ME:stop:61,ME:Defaul:trip:6,1,15:20:00,15:20:00,0,0,2,0,0,,,,0
diff --git a/tests/fixtures/gtfs2ntfs/full_output/trip_properties.txt b/tests/fixtures/gtfs2ntfs/full_output/trip_properties.txt
index bc909ffaa..18b2fef61 100644
--- a/tests/fixtures/gtfs2ntfs/full_output/trip_properties.txt
+++ b/tests/fixtures/gtfs2ntfs/full_output/trip_properties.txt
@@ -1,3 +1,3 @@
trip_property_id,wheelchair_accessible,bike_accepted,air_conditioned,visual_announcement,audible_announcement,appropriate_escort,appropriate_signage,school_vehicle_type
-ME:1,1,0,0,0,0,0,0,0
-ME:2,2,0,0,0,0,0,0,0
+ME:Defaul:1,1,0,0,0,0,0,0,0
+ME:Defaul:2,2,0,0,0,0,0,0,0
diff --git a/tests/fixtures/gtfs2ntfs/full_output/trips.txt b/tests/fixtures/gtfs2ntfs/full_output/trips.txt
index 31ffb5a17..4049f57e4 100644
--- a/tests/fixtures/gtfs2ntfs/full_output/trips.txt
+++ b/tests/fixtures/gtfs2ntfs/full_output/trips.txt
@@ -1,10 +1,10 @@
trip_id,route_id,physical_mode_id,dataset_id,service_id,trip_headsign,trip_short_name,block_id,company_id,trip_property_id,geometry_id,journey_pattern_id
-ME:trip:3-0,ME:route:2,Metro,ME:DefaultDatasetId,ME:service:1,pouet,,,ME:1,ME:1,,
-ME:trip:4-0,ME:route:2,Metro,ME:DefaultDatasetId,ME:service:1,pouet,,,ME:1,ME:1,,
-ME:trip:4-1,ME:route:2,Metro,ME:DefaultDatasetId,ME:service:1,pouet,,,ME:1,ME:1,,
-ME:trip:4-2,ME:route:2,Metro,ME:DefaultDatasetId,ME:service:1,pouet,,,ME:1,ME:1,,
-ME:trip:4-3,ME:route:2,Metro,ME:DefaultDatasetId,ME:service:1,pouet,,,ME:1,ME:1,,
-ME:trip:5-0,ME:route:3,Metro,ME:DefaultDatasetId,ME:service:2,pouet,,,ME:2,ME:2,,
-ME:trip:5-1,ME:route:3,Metro,ME:DefaultDatasetId,ME:service:2,pouet,,,ME:2,ME:2,,
-ME:trip:5-2,ME:route:3,Metro,ME:DefaultDatasetId,ME:service:2:+1days,pouet,,,ME:2,ME:2,,
-ME:trip:6,ME:route:3,Metro,ME:DefaultDatasetId,ME:service:2,pouet,,,ME:2,,,
+ME:Defaul:trip:3-0,ME:route:2,Metro,ME:DefaultDatasetId,ME:Defaul:service:1,pouet,,,ME:1,ME:Defaul:1,,
+ME:Defaul:trip:4-0,ME:route:2,Metro,ME:DefaultDatasetId,ME:Defaul:service:1,pouet,,,ME:1,ME:Defaul:1,,
+ME:Defaul:trip:4-1,ME:route:2,Metro,ME:DefaultDatasetId,ME:Defaul:service:1,pouet,,,ME:1,ME:Defaul:1,,
+ME:Defaul:trip:4-2,ME:route:2,Metro,ME:DefaultDatasetId,ME:Defaul:service:1,pouet,,,ME:1,ME:Defaul:1,,
+ME:Defaul:trip:4-3,ME:route:2,Metro,ME:DefaultDatasetId,ME:Defaul:service:1,pouet,,,ME:1,ME:Defaul:1,,
+ME:Defaul:trip:5-0,ME:route:3,Metro,ME:DefaultDatasetId,ME:Defaul:service:2,pouet,,,ME:2,ME:Defaul:2,,
+ME:Defaul:trip:5-1,ME:route:3,Metro,ME:DefaultDatasetId,ME:Defaul:service:2,pouet,,,ME:2,ME:Defaul:2,,
+ME:Defaul:trip:5-2,ME:route:3,Metro,ME:DefaultDatasetId,ME:Defaul:service:2:+1days,pouet,,,ME:2,ME:Defaul:2,,
+ME:Defaul:trip:6,ME:route:3,Metro,ME:DefaultDatasetId,ME:Defaul:service:2,pouet,,,ME:2,,,
diff --git a/tests/gtfs2ntfs.rs b/tests/gtfs2ntfs.rs
index f2a3a0221..0bdfc330b 100644
--- a/tests/gtfs2ntfs.rs
+++ b/tests/gtfs2ntfs.rs
@@ -12,24 +12,40 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see
-use std::path::Path;
-use transit_model::gtfs::Configuration;
-use transit_model::test_utils::*;
-
-static DEFAULT_CONFIGURATION: Configuration<&Path> = Configuration {
- config_path: None,
- prefix: None,
- on_demand_transport: false,
- on_demand_transport_comment: None,
+use std::collections::BTreeMap;
+use transit_model::{
+ gtfs, ntfs,
+ objects::{Contributor, Dataset},
+ read_utils::read_config,
+ test_utils::*,
+ PrefixConfiguration,
};
+fn default_configuration() -> gtfs::Configuration {
+ gtfs::Configuration {
+ contributor: Contributor::default(),
+ dataset: Dataset::default(),
+ feed_infos: BTreeMap::new(),
+ prefix_conf: None,
+ on_demand_transport: false,
+ on_demand_transport_comment: None,
+ }
+}
+
#[test]
fn test_gtfs() {
test_in_tmp_dir(|path| {
let input_dir = "./tests/fixtures/gtfs";
+ let (contributor, dataset, feed_infos) =
+ read_config(Some("./tests/fixtures/gtfs2ntfs/config.json")).unwrap();
+ let mut prefix_conf = PrefixConfiguration::default();
+ prefix_conf.set_data_prefix("ME");
+ prefix_conf.set_dataset_id(&dataset.id);
let configuration = transit_model::gtfs::Configuration {
- config_path: Some("./tests/fixtures/gtfs2ntfs/config.json"),
- prefix: Some("ME".to_string()),
+ dataset,
+ contributor,
+ feed_infos,
+ prefix_conf: Some(prefix_conf),
on_demand_transport: false,
on_demand_transport_comment: None,
};
@@ -43,9 +59,8 @@ fn test_gtfs() {
fn test_minimal_gtfs() {
test_in_tmp_dir(|path| {
let input_dir = "./tests/fixtures/gtfs2ntfs/minimal/input";
- let model =
- transit_model::gtfs::read_from_path(input_dir, DEFAULT_CONFIGURATION.clone()).unwrap();
- transit_model::ntfs::write(&model, path, get_test_datetime()).unwrap();
+ let model = gtfs::read_from_path(input_dir, default_configuration()).unwrap();
+ ntfs::write(&model, path, get_test_datetime()).unwrap();
compare_output_dir_with_expected(&path, None, "./tests/fixtures/gtfs2ntfs/minimal/output");
});
}
@@ -54,9 +69,8 @@ fn test_minimal_gtfs() {
fn test_gtfs_physical_modes() {
test_in_tmp_dir(|path| {
let input_dir = "./tests/fixtures/gtfs2ntfs/physical_modes/input";
- let model =
- transit_model::gtfs::read_from_path(input_dir, DEFAULT_CONFIGURATION.clone()).unwrap();
- transit_model::ntfs::write(&model, path, get_test_datetime()).unwrap();
+ let model = gtfs::read_from_path(input_dir, default_configuration()).unwrap();
+ ntfs::write(&model, path, get_test_datetime()).unwrap();
compare_output_dir_with_expected(
&path,
Some(vec![
@@ -74,9 +88,8 @@ fn test_gtfs_physical_modes() {
fn test_gtfs_remove_vjs_with_no_traffic() {
test_in_tmp_dir(|path| {
let input_dir = "./tests/fixtures/gtfs2ntfs/no_traffic/input";
- let model =
- transit_model::gtfs::read_from_path(input_dir, DEFAULT_CONFIGURATION.clone()).unwrap();
- transit_model::ntfs::write(&model, path, get_test_datetime()).unwrap();
+ let model = gtfs::read_from_path(input_dir, default_configuration()).unwrap();
+ ntfs::write(&model, path, get_test_datetime()).unwrap();
compare_output_dir_with_expected(
&path,
Some(vec![
@@ -96,9 +109,8 @@ fn test_gtfs_remove_vjs_with_no_traffic() {
fn test_minimal_ziped_gtfs() {
test_in_tmp_dir(|path| {
let input = "./tests/fixtures/ziped_gtfs/gtfs.zip";
- let model =
- transit_model::gtfs::read_from_zip(input, DEFAULT_CONFIGURATION.clone()).unwrap();
- transit_model::ntfs::write(&model, path, get_test_datetime()).unwrap();
+ let model = gtfs::read_from_zip(input, default_configuration()).unwrap();
+ ntfs::write(&model, path, get_test_datetime()).unwrap();
compare_output_dir_with_expected(&path, None, "./tests/fixtures/gtfs2ntfs/minimal/output");
});
}
@@ -107,9 +119,8 @@ fn test_minimal_ziped_gtfs() {
fn test_minimal_ziped_sub_dir_gtfs() {
test_in_tmp_dir(|path| {
let input = "./tests/fixtures/ziped_gtfs/sub_dir_gtfs.zip";
- let model =
- transit_model::gtfs::read_from_zip(input, DEFAULT_CONFIGURATION.clone()).unwrap();
- transit_model::ntfs::write(&model, path, get_test_datetime()).unwrap();
+ let model = gtfs::read_from_zip(input, default_configuration()).unwrap();
+ ntfs::write(&model, path, get_test_datetime()).unwrap();
compare_output_dir_with_expected(&path, None, "./tests/fixtures/gtfs2ntfs/minimal/output");
});
}
@@ -118,9 +129,8 @@ fn test_minimal_ziped_sub_dir_gtfs() {
fn test_minimal_ziped_sub_dir_gtfs_with_hidden_files() {
test_in_tmp_dir(|path| {
let input = "./tests/fixtures/ziped_gtfs/sub_dir_gtfs_with_hidden_files.zip";
- let model =
- transit_model::gtfs::read_from_zip(input, DEFAULT_CONFIGURATION.clone()).unwrap();
- transit_model::ntfs::write(&model, path, get_test_datetime()).unwrap();
+ let model = gtfs::read_from_zip(input, default_configuration()).unwrap();
+ ntfs::write(&model, path, get_test_datetime()).unwrap();
compare_output_dir_with_expected(&path, None, "./tests/fixtures/gtfs2ntfs/minimal/output");
});
}
@@ -129,17 +139,20 @@ fn test_minimal_ziped_sub_dir_gtfs_with_hidden_files() {
fn test_minimal_gtfs_with_odt_comment() {
test_in_tmp_dir(|path| {
let input_dir = "./tests/fixtures/gtfs2ntfs/minimal/input";
- let configuration: transit_model::gtfs::Configuration<&Path> =
- transit_model::gtfs::Configuration {
- config_path: None,
- prefix: Some("test".to_string()),
- on_demand_transport: false,
- on_demand_transport_comment: Some(
- "Service à réservation {agency_name} {agency_phone}".to_string(),
- ),
- };
- let model = transit_model::gtfs::read_from_path(input_dir, configuration).unwrap();
- transit_model::ntfs::write(&model, path, get_test_datetime()).unwrap();
+ let mut prefix_conf = PrefixConfiguration::default();
+ prefix_conf.set_data_prefix("test");
+ let configuration = gtfs::Configuration {
+ contributor: Contributor::default(),
+ dataset: Dataset::default(),
+ feed_infos: BTreeMap::new(),
+ prefix_conf: Some(prefix_conf),
+ on_demand_transport: false,
+ on_demand_transport_comment: Some(
+ "Service à réservation {agency_name} {agency_phone}".to_string(),
+ ),
+ };
+ let model = gtfs::read_from_path(input_dir, configuration).unwrap();
+ ntfs::write(&model, path, get_test_datetime()).unwrap();
compare_output_dir_with_expected(
&path,
Some(vec!["comment_links.txt", "comments.txt", "stop_times.txt"]),
@@ -152,18 +165,21 @@ fn test_minimal_gtfs_with_odt_comment() {
fn test_minimal_gtfs_frequencies_with_odt_comment() {
test_in_tmp_dir(|path| {
let input_dir = "./tests/fixtures/gtfs2ntfs/frequencies/input";
- let configuration: transit_model::gtfs::Configuration<&Path> =
- transit_model::gtfs::Configuration {
- config_path: None,
- prefix: Some("test".to_string()),
- on_demand_transport: false,
- on_demand_transport_comment: Some(
- "Service à réservation {agency_name} {agency_phone}".to_string(),
- ),
- };
+ let mut prefix_conf = PrefixConfiguration::default();
+ prefix_conf.set_data_prefix("test");
+ let configuration = gtfs::Configuration {
+ contributor: Contributor::default(),
+ dataset: Dataset::default(),
+ feed_infos: BTreeMap::new(),
+ prefix_conf: Some(prefix_conf),
+ on_demand_transport: false,
+ on_demand_transport_comment: Some(
+ "Service à réservation {agency_name} {agency_phone}".to_string(),
+ ),
+ };
- let model = transit_model::gtfs::read_from_path(input_dir, configuration).unwrap();
- transit_model::ntfs::write(&model, path, get_test_datetime()).unwrap();
+ let model = gtfs::read_from_path(input_dir, configuration).unwrap();
+ ntfs::write(&model, path, get_test_datetime()).unwrap();
compare_output_dir_with_expected(
&path,
Some(vec!["comment_links.txt", "comments.txt", "stop_times.txt"]),
diff --git a/tests/write_netex_france.rs b/tests/write_netex_france.rs
index 231e43117..35d341ec7 100644
--- a/tests/write_netex_france.rs
+++ b/tests/write_netex_france.rs
@@ -12,11 +12,16 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see
-use std::fs;
-use std::path::Path;
+use std::{collections::BTreeMap, fs};
#[cfg(feature = "xmllint")]
use std::{ffi::OsStr, process::Command};
-use transit_model::{self, model::Model, netex_france, test_utils::*};
+use transit_model::{
+ gtfs,
+ model::Model,
+ netex_france, ntfs,
+ objects::{Contributor, Dataset},
+ test_utils::*,
+};
fn test_write_netex_france(model: Model) {
test_in_tmp_dir(|output_dir| {
@@ -52,31 +57,30 @@ fn test_write_netex_france(model: Model) {
#[test]
fn test_write_netex_france_from_ntfs() {
- let model = transit_model::ntfs::read("tests/fixtures/netex_france/input_ntfs").unwrap();
+ let model = ntfs::read("tests/fixtures/netex_france/input_ntfs").unwrap();
test_write_netex_france(model);
}
#[test]
fn test_write_netex_france_from_gtfs() {
- let configuration: transit_model::gtfs::Configuration<&Path> =
- transit_model::gtfs::Configuration {
- config_path: None,
- prefix: None,
- on_demand_transport: false,
- on_demand_transport_comment: None,
- };
+ let configuration = gtfs::Configuration {
+ contributor: Contributor::default(),
+ dataset: Dataset::default(),
+ feed_infos: BTreeMap::new(),
+ prefix_conf: None,
+ on_demand_transport: false,
+ on_demand_transport_comment: None,
+ };
- let model = transit_model::gtfs::read_from_path(
- "tests/fixtures/netex_france/input_gtfs",
- configuration,
- )
- .unwrap();
+ let model =
+ gtfs::read_from_path("tests/fixtures/netex_france/input_gtfs", configuration).unwrap();
test_write_netex_france(model);
}
#[test]
#[cfg(feature = "xmllint")]
fn validate_xml_schemas() {
+ use std::path::Path;
fn check_xml_in_folder(path: P)
where
P: AsRef,