private RichiestaAssistenza CreaRichiestaContenenteUnicoEventoDiComposizione(out SituazioneMezzo expected) { var richiestaConUnicoEventoDiAssegnazione = new RichiestaAssistenza() { Codice = "R1", }; var componentePartenza = new ComponentePartenza("CF1", "M1"); var istanteEvento = DateTime.Now.AddMinutes(-10); var eventoComposizione = new ComposizionePartenze(richiestaConUnicoEventoDiAssegnazione, istanteEvento, "Fonte", false) { Componenti = new HashSet <ComponentePartenza>() { componentePartenza } }; expected = new SituazioneMezzo() { Codice = "M1", CodiceStato = new Assegnato(istanteEvento, "R1").Codice, CodiceRichiestaAssistenza = "R1", IstanteAggiornamentoStato = istanteEvento }; return(richiestaConUnicoEventoDiAssegnazione); }
private void Crea_Richiesta_R1_Con_M1_e_M2_revocato_e_riassegnato_e_M1_revocato_e_M2_in_viaggio(out IEnumerable <SituazioneMezzo> expected, out IEnumerable <RichiestaAssistenza> richieste) { var richiesta = new RichiestaAssistenza() { Codice = "R1", }; var richiestaSubentrata = new RichiestaAssistenza() { Codice = "R2", }; richieste = new RichiestaAssistenza[] { richiesta, richiestaSubentrata }; var now = DateTime.Now; var componentePartenza1 = new ComponentePartenza("CF1", "M1"); var componentePartenza2 = new ComponentePartenza("CF2", "M2"); var istanteEventoAssegnazione = now.AddMinutes(-10); var eventoComposizione = new ComposizionePartenze(richiesta, istanteEventoAssegnazione, "Fonte", false) { Componenti = new HashSet <ComponentePartenza>() { componentePartenza1, componentePartenza2 } }; var istanteEventoUscitaM1 = now.AddMinutes(-7); var eventoUscitaM1 = new UscitaPartenza(richiesta, "M1", istanteEventoUscitaM1, "Fonte"); var istanteEventoUscitaM2 = now.AddMinutes(-6); var eventoUscitaM2 = new UscitaPartenza(richiesta, "M2", istanteEventoUscitaM2, "Fonte"); var istanteSulPostoM1 = now.AddMinutes(-4); var eventoSulPostoM1 = new ArrivoSulPosto(richiesta, "M1", istanteSulPostoM1, "Fonte"); var istanteSganciatoM1 = now.AddMinutes(-2); var eventoSganciatoM1 = new RevocaPerRiassegnazione(richiesta, richiestaSubentrata, "M1", istanteSganciatoM1, "Fonte"); var istanteRiassegnatoM1 = now.AddMinutes(-1); var eventoComposizione2 = new ComposizionePartenze(richiestaSubentrata, istanteRiassegnatoM1, "Fonte", true) { Componenti = new HashSet <ComponentePartenza>() { componentePartenza1 } }; expected = new SituazioneMezzo[] { new SituazioneMezzo() { Codice = "M1", CodiceStato = new InViaggio(istanteRiassegnatoM1, "R2").Codice, CodiceRichiestaAssistenza = "R2", IstanteAggiornamentoStato = istanteRiassegnatoM1 }, new SituazioneMezzo() { Codice = "M2", CodiceStato = new InViaggio(istanteEventoUscitaM2, "R1").Codice, CodiceRichiestaAssistenza = "R1", IstanteAggiornamentoStato = istanteEventoUscitaM2 }, }; }
private RichiestaAssistenza Crea_Richiesta_Con_M3_e_M4_assegnati_e_M4_in_sede_e_M3_in_rientro(out IEnumerable <SituazioneMezzo> expected) { var richiesta = new RichiestaAssistenza() { Codice = "R2", }; var componentePartenza1 = new ComponentePartenza("CF3", "M3"); var componentePartenza2 = new ComponentePartenza("CF4", "M4"); var istanteEventoAssegnazione = DateTime.Now.AddMinutes(-10); var eventoComposizione = new ComposizionePartenze(richiesta, istanteEventoAssegnazione, "Fonte", false) { Componenti = new HashSet <ComponentePartenza>() { componentePartenza1, componentePartenza2 } }; var istanteEventoUscitaM3 = DateTime.Now.AddMinutes(-7); var eventoUscitaM3 = new UscitaPartenza(richiesta, "M3", istanteEventoUscitaM3, "Fonte"); var istanteSulPostoM3 = DateTime.Now.AddMinutes(-4); var eventoSulPostoM3 = new ArrivoSulPosto(richiesta, "M3", istanteSulPostoM3, "Fonte"); var istanteInRientroM3 = DateTime.Now.AddMinutes(-2); var eventoInRientroM3 = new PartenzaInRientro(richiesta, "M3", istanteInRientroM3, "Fonte"); var istanteEventoUscitaM4 = DateTime.Now.AddMinutes(-7); var eventoUscitaM4 = new UscitaPartenza(richiesta, "M4", istanteEventoUscitaM4, "Fonte"); var istanteSulPostoM4 = DateTime.Now.AddMinutes(-4); var eventoSulPostoM4 = new ArrivoSulPosto(richiesta, "M4", istanteSulPostoM4, "Fonte"); var istanteInRientroM4 = DateTime.Now.AddMinutes(-3); var eventoInRientroM4 = new PartenzaInRientro(richiesta, "M4", istanteInRientroM4, "Fonte"); var istanteRientratoM4 = DateTime.Now.AddMinutes(-2); var eventoRientratoM4 = new PartenzaRientrata(richiesta, "M4", istanteRientratoM4, "Fonte"); expected = new SituazioneMezzo[] { new SituazioneMezzo() { Codice = "M3", CodiceStato = new InRientro(istanteInRientroM3, "R2").Codice, CodiceRichiestaAssistenza = "R2", IstanteAggiornamentoStato = istanteSulPostoM3 }, new SituazioneMezzo() { Codice = "M4", CodiceStato = new InSede(istanteRientratoM4).Codice, CodiceRichiestaAssistenza = "R2", IstanteAggiornamentoStato = istanteRientratoM4 }, }; return(richiesta); }
private RichiestaAssistenza Crea_Richiesta_Con_M3_e_M4_assegnati_e_M3_sul_posto_e_in_viaggio(out IEnumerable <SituazioneMezzo> expected) { var richiesta = new RichiestaAssistenza() { Codice = "R2", }; var componentePartenza1 = new ComponentePartenza("CF3", "M3"); var componentePartenza2 = new ComponentePartenza("CF4", "M4"); var istanteEvento1 = DateTime.Now.AddMinutes(-11); var eventoComposizione = new ComposizionePartenze(richiesta, istanteEvento1, "Fonte", false) { Componenti = new HashSet <ComponentePartenza>() { componentePartenza1, componentePartenza2 } }; var istanteEvento2 = DateTime.Now.AddMinutes(-6); var eventoUscita = new UscitaPartenza(richiesta, "M4", istanteEvento2, "Fonte"); var istanteEvento3 = DateTime.Now.AddMinutes(-3); var eventoSulPosto = new ArrivoSulPosto(richiesta, "M4", istanteEvento3, "Fonte"); expected = new SituazioneMezzo[] { new SituazioneMezzo() { Codice = "M4", CodiceStato = new SulPosto(istanteEvento3, "R2").Codice, CodiceRichiestaAssistenza = "R2", IstanteAggiornamentoStato = istanteEvento3 }, new SituazioneMezzo() { Codice = "M3", CodiceStato = new Assegnato(istanteEvento1, "R2").Codice, CodiceRichiestaAssistenza = "R2", IstanteAggiornamentoStato = istanteEvento1 }, }; return(richiesta); }