use crate::domain::{
location::Location,
niseci::{
AnagraficaNISECI, AreaNISECI, CampionamentoNISECI, ComunitaNISECI, IdroEcoRegioneNISECI,
RecordNISECI, RiferimentoNISECI, SpecieNISECI, TipoComunitaNISECI,
},
};
pub const RIFERIMENTO_NISECI_TEMPLATE_DATA: &[u8] =
include_bytes!("../../../templates/riferimento_niseci.csv");
pub const CAMPIONAMENTO_NISECI_TEMPLATE_DATA: &[u8] =
include_bytes!("../../../templates/campionamento_niseci.csv");
pub const ANAGRAFICA_NISECI_TEMPLATE_DATA: &[u8] =
include_bytes!("../../../templates/anagrafica_niseci.csv");
pub const CAMPIONAMENTO_HFBI_TEMPLATE_DATA: &[u8] =
include_bytes!("../../../templates/campionamento_hfbi.csv");
pub const ANAGRAFICA_HFBI_TEMPLATE_DATA: &[u8] =
include_bytes!("../../../templates/anagrafica_hfbi.csv");
pub fn create_dummy_anagrafica() -> AnagraficaNISECI {
return AnagraficaNISECI::new_raw_unchecked(
ComunitaNISECI {
tipo: TipoComunitaNISECI::Redatta,
fonte: None,
numero_protocollo: None,
},
"foo".to_string(),
"foo".to_string(),
AreaNISECI::Alpina,
"foo".to_string(),
"foo".to_string(),
IdroEcoRegioneNISECI::Toscana,
Location {
regione: "foo".to_string(),
provincia: "foo".to_string(),
},
1.0,
1.0,
);
}
pub fn create_dummy_riferimento() -> RiferimentoNISECI {
let importante_1 = SpecieNISECI {
id: 1.to_string(),
specie_attesa: true,
nome: "Ciaccio ciaccensis".to_string(),
tipo_autoctono: 2,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let importante_2 = SpecieNISECI {
id: 2.to_string(),
specie_attesa: true,
nome: "Ciaccio sbribbrensis".to_string(),
tipo_autoctono: 2,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let importante_3 = SpecieNISECI {
id: 3.to_string(),
specie_attesa: true,
nome: "Ciaccio cozzensis".to_string(),
tipo_autoctono: 2,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let normale_1 = SpecieNISECI {
id: 4.to_string(),
specie_attesa: true,
nome: "Normus sempliciottum".to_string(),
tipo_autoctono: 1,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let normale_2 = SpecieNISECI {
id: 5.to_string(),
specie_attesa: true,
nome: "Normus qualunquis".to_string(),
tipo_autoctono: 1,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let alloctono_1 = SpecieNISECI {
id: 6.to_string(),
specie_attesa: true,
nome: "Disturbus infognatus".to_string(),
tipo_autoctono: 0,
tipo_alloctono: 1,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let alloctono_2 = SpecieNISECI {
id: 7.to_string(),
specie_attesa: true,
nome: "Disturbus sotterfugius".to_string(),
tipo_autoctono: 0,
tipo_alloctono: 1,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let inatteso_1 = SpecieNISECI {
id: 7.to_string(),
specie_attesa: false,
nome: "Sorprendo sorprendentes".to_string(),
tipo_autoctono: 0,
tipo_alloctono: 1,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let inatteso_2 = SpecieNISECI {
id: 8.to_string(),
specie_attesa: false,
nome: "Sorprendo improvvisus".to_string(),
tipo_autoctono: 2,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let mut elenco_specie = Vec::with_capacity(9);
elenco_specie.push(importante_1);
elenco_specie.push(importante_2);
elenco_specie.push(importante_3);
elenco_specie.push(normale_1);
elenco_specie.push(normale_2);
elenco_specie.push(alloctono_1);
elenco_specie.push(alloctono_2);
elenco_specie.push(inatteso_1);
elenco_specie.push(inatteso_2);
RiferimentoNISECI::new(elenco_specie)
}
pub fn create_dummy_campionamento_full() -> CampionamentoNISECI {
let importante_1 = SpecieNISECI {
id: 1.to_string(),
specie_attesa: true,
nome: "Ciaccio ciaccensis".to_string(),
tipo_autoctono: 2,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let importante_2 = SpecieNISECI {
id: 2.to_string(),
specie_attesa: true,
nome: "Ciaccio sbribbrensis".to_string(),
tipo_autoctono: 2,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let importante_3 = SpecieNISECI {
id: 3.to_string(),
specie_attesa: true,
nome: "Ciaccio cozzensis".to_string(),
tipo_autoctono: 2,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let normale_1 = SpecieNISECI {
id: 4.to_string(),
specie_attesa: true,
nome: "Normus sempliciottum".to_string(),
tipo_autoctono: 1,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let normale_2 = SpecieNISECI {
id: 5.to_string(),
specie_attesa: true,
nome: "Normus qualunquis".to_string(),
tipo_autoctono: 1,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let alloctono_1 = SpecieNISECI {
id: 6.to_string(),
specie_attesa: true,
nome: "Disturbus infognatus".to_string(),
tipo_autoctono: 0,
tipo_alloctono: 1,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let alloctono_2 = SpecieNISECI {
id: 7.to_string(),
specie_attesa: true,
nome: "Disturbus sotterfugius".to_string(),
tipo_autoctono: 0,
tipo_alloctono: 1,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let inatteso_1 = SpecieNISECI {
id: 7.to_string(),
specie_attesa: false,
nome: "Sorprendo sorprendentes".to_string(),
tipo_autoctono: 0,
tipo_alloctono: 1,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let inatteso_2 = SpecieNISECI {
id: 8.to_string(),
specie_attesa: false,
nome: "Sorprendo improvvisus".to_string(),
tipo_autoctono: 2,
tipo_alloctono: 0,
cl_soglia1: 1,
cl_soglia2: 2,
cl_soglia3: 3,
cl_soglia4: 4,
ad_juv_soglia1: 1.0,
ad_juv_soglia2: 2.0,
ad_juv_soglia3: 3.0,
ad_juv_soglia4: 4.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
};
let record_1 = RecordNISECI {
specie: importante_1,
lunghezza: 5,
peso: 5.0,
passaggio_cattura: 1,
};
let record_2 = RecordNISECI {
specie: importante_2,
lunghezza: 5,
peso: 5.0,
passaggio_cattura: 1,
};
let record_3 = RecordNISECI {
specie: importante_3,
lunghezza: 5,
peso: 5.0,
passaggio_cattura: 1,
};
let record_4 = RecordNISECI {
specie: normale_2,
lunghezza: 5,
peso: 5.0,
passaggio_cattura: 1,
};
let record_5 = RecordNISECI {
specie: normale_1,
lunghezza: 5,
peso: 5.0,
passaggio_cattura: 1,
};
let record_6 = RecordNISECI {
specie: inatteso_1,
lunghezza: 5,
peso: 5.0,
passaggio_cattura: 1,
};
let record_7 = RecordNISECI {
specie: inatteso_2,
lunghezza: 5,
peso: 5.0,
passaggio_cattura: 1,
};
let record_8 = RecordNISECI {
specie: alloctono_1,
lunghezza: 5,
peso: 5.0,
passaggio_cattura: 1,
};
let record_9 = RecordNISECI {
specie: alloctono_2,
lunghezza: 5,
peso: 5.0,
passaggio_cattura: 1,
};
let mut campionamento = Vec::with_capacity(9);
campionamento.push(record_1);
campionamento.push(record_2);
campionamento.push(record_3);
campionamento.push(record_4);
campionamento.push(record_5);
campionamento.push(record_6);
campionamento.push(record_7);
campionamento.push(record_8);
campionamento.push(record_9);
CampionamentoNISECI::new(campionamento)
}
pub fn create_dummy_campionamento_chopped() -> CampionamentoNISECI {
let campionamento = create_dummy_campionamento_full();
let mut chopped: Vec<RecordNISECI> = campionamento.into();
chopped.remove(1);
CampionamentoNISECI::new(chopped)
}
#[cfg(test)]
impl CampionamentoNISECI {
pub(crate) fn push(&mut self, value: RecordNISECI) {
#[allow(deprecated)]
self.campionamento.push(value);
}
pub(crate) fn as_mut_vec(&mut self) -> &mut Vec<RecordNISECI> {
#[allow(deprecated)]
&mut self.campionamento
}
}
pub fn create_massive_campionamento_ciacci() -> CampionamentoNISECI {
let mut c = create_massive_campionamento_ciacci_solo_autoctoni_1();
let trocchio = RecordNISECI {
specie: get_trocchio(),
passaggio_cattura: 2,
lunghezza: 2,
peso: 2.0,
};
c.push(trocchio);
c
}
pub fn create_massive_campionamento_ciacci_2() -> CampionamentoNISECI {
let mut c = create_massive_campionamento_ciacci_solo_autoctoni_2();
let trocchio = RecordNISECI {
specie: get_trocchio(),
passaggio_cattura: 2,
lunghezza: 2,
peso: 2.0,
};
c.push(trocchio);
c
}
pub fn create_massive_campionamento_ciacci_solo_autoctoni_2() -> CampionamentoNISECI {
let mut ciaccio = get_ciaccio();
ciaccio.dens_soglia1 = 3.0;
ciaccio.dens_soglia2 = 5.0;
let mut campionamento: Vec<RecordNISECI> = Vec::with_capacity(45);
let ciaccio_cl5_c1 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 13,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(ciaccio_cl5_c1.clone());
}
let ciaccio_cl4_c1 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 10,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(ciaccio_cl4_c1.clone());
}
let ciaccio_cl3_c1 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 7,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(ciaccio_cl3_c1.clone());
}
let ciaccio_cl4_c2 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 10,
passaggio_cattura: 2,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(ciaccio_cl4_c2.clone());
}
let ciaccio_cl1_c2 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 2,
passaggio_cattura: 2,
peso: 10.0,
};
for _ in 0..5 {
campionamento.push(ciaccio_cl1_c2.clone());
}
CampionamentoNISECI::new(campionamento)
}
pub fn create_massive_campionamento_ciacci_solo_autoctoni_1() -> CampionamentoNISECI {
let mut ciaccio = get_ciaccio();
ciaccio.dens_soglia1 = 3.0;
ciaccio.dens_soglia2 = 5.0;
let mut campionamento: Vec<RecordNISECI> = Vec::with_capacity(45);
let ciaccio_cl5_c1 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 13,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(ciaccio_cl5_c1.clone());
}
let ciaccio_cl4_c1 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 10,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(ciaccio_cl4_c1.clone());
}
let ciaccio_cl3_c1 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 7,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(ciaccio_cl3_c1.clone());
}
let ciaccio_cl2_c2 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 4,
passaggio_cattura: 2,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(ciaccio_cl2_c2.clone());
}
let ciaccio_cl1_c2 = RecordNISECI {
specie: ciaccio.clone(),
lunghezza: 4,
passaggio_cattura: 2,
peso: 10.0,
};
for _ in 0..5 {
campionamento.push(ciaccio_cl1_c2.clone());
}
CampionamentoNISECI::new(campionamento)
}
pub fn create_massive_campionamento_solo_tipo_alloctono_1_strutt() -> CampionamentoNISECI {
let mut trocchio = get_trocchio();
trocchio.dens_soglia1 = 3.0;
trocchio.dens_soglia2 = 5.0;
create_campionamento_strutturato_data_una_specie(trocchio)
}
pub fn create_massive_campionamento_solo_tipo_alloctono_2_strutt() -> CampionamentoNISECI {
let mut bronzo = get_bronzo();
bronzo.dens_soglia1 = 3.0;
bronzo.dens_soglia2 = 5.0;
create_campionamento_strutturato_data_una_specie(bronzo)
}
pub fn create_massive_campionamento_solo_tipo_alloctono_3_strutt() -> CampionamentoNISECI {
let mut tappo = get_tappo();
tappo.dens_soglia1 = 3.0;
tappo.dens_soglia2 = 5.0;
create_campionamento_strutturato_data_una_specie(tappo)
}
pub fn create_massive_campionamento_solo_tipo_alloctono_3_destrutt() -> CampionamentoNISECI {
let mut tappo = get_tappo();
tappo.dens_soglia1 = 3.0;
tappo.dens_soglia2 = 5.0;
create_campionamento_destrutturato_data_una_specie(tappo)
}
pub fn create_massive_campionamento_solo_tipo_alloctono_3_mediam_strutt() -> CampionamentoNISECI {
let mut tappo = get_tappo();
tappo.dens_soglia1 = 3.0;
tappo.dens_soglia2 = 5.0;
create_campionamento_mediam_strutturato_data_una_specie(tappo)
}
pub fn create_massive_campionamento_ciacci_con_trocchi_strutt() -> CampionamentoNISECI {
let mut c_ciacci = create_massive_campionamento_ciacci_solo_autoctoni_1();
let mut c_trocchi = create_massive_campionamento_solo_tipo_alloctono_1_strutt();
c_trocchi.as_mut_vec().append(&mut c_ciacci.as_mut_vec());
c_trocchi
}
pub fn create_massive_campionamento_ciacci_con_bronzi_strutt() -> CampionamentoNISECI {
let mut c_ciacci = create_massive_campionamento_ciacci_solo_autoctoni_1();
let mut c_bronzi = create_massive_campionamento_solo_tipo_alloctono_2_strutt();
c_bronzi.as_mut_vec().append(&mut c_ciacci.as_mut_vec());
c_bronzi
}
pub fn create_massive_campionamento_ciacci_con_tappi_strutt() -> CampionamentoNISECI {
let mut c_ciacci = create_massive_campionamento_ciacci_solo_autoctoni_1();
let mut c_tappi = create_massive_campionamento_solo_tipo_alloctono_3_strutt();
c_tappi.as_mut_vec().append(&mut c_ciacci.as_mut_vec());
c_tappi
}
pub fn create_massive_campionamento_ciacci_con_tappi_destrutt() -> CampionamentoNISECI {
let mut c_ciacci = create_massive_campionamento_ciacci_solo_autoctoni_1();
let mut c_tappi = create_massive_campionamento_solo_tipo_alloctono_3_destrutt();
c_tappi.as_mut_vec().append(&mut c_ciacci.as_mut_vec());
c_tappi
}
pub fn create_massive_campionamento_ciacci_con_tappi_mediam_strutt() -> CampionamentoNISECI {
let mut c_ciacci = create_massive_campionamento_ciacci_solo_autoctoni_1();
let mut c_tappi = create_massive_campionamento_solo_tipo_alloctono_3_mediam_strutt();
c_tappi.as_mut_vec().append(&mut c_ciacci.as_mut_vec());
c_tappi
}
fn create_campionamento_strutturato_data_una_specie(specie: SpecieNISECI) -> CampionamentoNISECI {
let mut campionamento: Vec<RecordNISECI> = Vec::with_capacity(45);
let cl5_c1 = RecordNISECI {
specie: specie.clone(),
lunghezza: 13,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(cl5_c1.clone());
}
let cl4_c1 = RecordNISECI {
specie: specie.clone(),
lunghezza: 10,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(cl4_c1.clone());
}
let cl3_c1 = RecordNISECI {
specie: specie.clone(),
lunghezza: 7,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(cl3_c1.clone());
}
let cl2_c2 = RecordNISECI {
specie: specie.clone(),
lunghezza: 4,
passaggio_cattura: 2,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(cl2_c2.clone());
}
let cl1_c2 = RecordNISECI {
specie: specie.clone(),
lunghezza: 4,
passaggio_cattura: 2,
peso: 10.0,
};
for _ in 0..5 {
campionamento.push(cl1_c2.clone());
}
CampionamentoNISECI::new(campionamento)
}
fn create_campionamento_destrutturato_data_una_specie(specie: SpecieNISECI) -> CampionamentoNISECI {
let mut campionamento: Vec<RecordNISECI> = Vec::with_capacity(45);
let cl5_c1 = RecordNISECI {
specie: specie.clone(),
lunghezza: 13,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(cl5_c1.clone());
}
let cl4_c1 = RecordNISECI {
specie: specie.clone(),
lunghezza: 10,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..20 {
campionamento.push(cl4_c1.clone());
}
let cl2_c2 = RecordNISECI {
specie: specie.clone(),
lunghezza: 4,
passaggio_cattura: 2,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(cl2_c2.clone());
}
CampionamentoNISECI::new(campionamento)
}
fn create_campionamento_mediam_strutturato_data_una_specie(
specie: SpecieNISECI,
) -> CampionamentoNISECI {
let mut campionamento: Vec<RecordNISECI> = Vec::with_capacity(45);
let cl5_c1 = RecordNISECI {
specie: specie.clone(),
lunghezza: 13,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(cl5_c1.clone());
}
let cl4_c1 = RecordNISECI {
specie: specie.clone(),
lunghezza: 10,
passaggio_cattura: 1,
peso: 10.0,
};
for _ in 0..20 {
campionamento.push(cl4_c1.clone());
}
let cl2_c2 = RecordNISECI {
specie: specie.clone(),
lunghezza: 4,
passaggio_cattura: 2,
peso: 10.0,
};
for _ in 0..10 {
campionamento.push(cl2_c2.clone());
}
let cl1_c2 = RecordNISECI {
specie: specie.clone(),
lunghezza: 4,
passaggio_cattura: 2,
peso: 10.0,
};
for _ in 0..5 {
campionamento.push(cl1_c2.clone());
}
CampionamentoNISECI::new(campionamento)
}
pub fn get_ciaccio() -> SpecieNISECI {
SpecieNISECI {
id: 1.to_string(),
specie_attesa: true,
nome: "Ciaccio ciaccensis".to_string(),
tipo_autoctono: 2,
tipo_alloctono: 0,
cl_soglia1: 3,
cl_soglia2: 6,
cl_soglia3: 9,
cl_soglia4: 12,
ad_juv_soglia1: 0.5,
ad_juv_soglia2: 0.67,
ad_juv_soglia3: 1.5,
ad_juv_soglia4: 2.0,
dens_soglia1: 5.0,
dens_soglia2: 10.0,
}
}
pub fn get_trocchio() -> SpecieNISECI {
SpecieNISECI {
id: 2.to_string(),
specie_attesa: true,
nome: "Trocchio trocchiensis".to_string(),
tipo_autoctono: 0,
tipo_alloctono: 1,
cl_soglia1: 3,
cl_soglia2: 6,
cl_soglia3: 9,
cl_soglia4: 12,
ad_juv_soglia1: 0.5,
ad_juv_soglia2: 0.67,
ad_juv_soglia3: 1.5,
ad_juv_soglia4: 2.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
}
}
pub fn get_bronzo() -> SpecieNISECI {
SpecieNISECI {
id: 3.to_string(),
specie_attesa: true,
nome: "Bronzo bronzensis".to_string(),
tipo_autoctono: 0,
tipo_alloctono: 2,
cl_soglia1: 3,
cl_soglia2: 6,
cl_soglia3: 9,
cl_soglia4: 12,
ad_juv_soglia1: 0.5,
ad_juv_soglia2: 0.67,
ad_juv_soglia3: 1.5,
ad_juv_soglia4: 2.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
}
}
pub fn get_tappo() -> SpecieNISECI {
SpecieNISECI {
id: 4.to_string(),
specie_attesa: true,
nome: "Tappo sugheribus".to_string(),
tipo_autoctono: 0,
tipo_alloctono: 3,
cl_soglia1: 3,
cl_soglia2: 6,
cl_soglia3: 9,
cl_soglia4: 12,
ad_juv_soglia1: 0.5,
ad_juv_soglia2: 0.67,
ad_juv_soglia3: 1.5,
ad_juv_soglia4: 2.0,
dens_soglia1: 1.0,
dens_soglia2: 2.0,
}
}