public void TestRegistraEvento() { Stazione stazione = new Stazione { Nome = "BolognaA1", Locazione = "Bologna", IndirizzoDiRete = IPAddress.Parse("10.56.77.233"), Porta = 5555, ImprontaChiavePubblica = "aksjdada8s7d8a6da78sdEEeewrR" }; Assert.IsTrue(gestioneStazioniController.Registra(stazione)); EventoSismico evento = new EventoSismico { Messaggio = "Magnitudo superata", Priorita = Priorita.Fatal, Stazione = stazione, Tag = "Magnitudo", Timestamp = 1234 }; Assert.IsTrue(storicoController.RegistraEvento(evento)); // Verifico che sia stato salvato correttamente IEventoSismico evnt = storicoController.ListaEventi()[0]; Assert.AreEqual(evento, evnt); Assert.AreEqual(evnt.Stazione, stazione); }
public IList <IEventoSismico> ListaEventi() { List <IEventoSismico> eventi = new List <IEventoSismico>(); // Nella query effettuo una JOIN con la tabella stazioni per ottenere tutti i dati combinati using (SQLiteCommand cmd = new SQLiteCommand("SELECT eventi.id AS eventi_id, eventi.tag AS eventi_tag, " + "eventi.priorita AS eventi_priorita, eventi.timestamp AS eventi_timestamp," + "eventi.messaggio AS eventi_messaggio, stazioni.id AS stazioni_id, " + "stazioni.nome AS stazioni_nome, " + "stazioni.locazione AS stazioni_locazione, " + "stazioni.indirizzoDiRete AS stazioni_indirizzoDiRete, " + "stazioni.porta AS stazioni_porta, stazioni.impronta AS stazioni_impronta " + "FROM eventi LEFT OUTER JOIN stazioni ON eventi.stazione = stazioni.id", _connection)) { using (SQLiteDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { IEventoSismico evento = EventoSismico.ConvertiRigaInEventoSismico(reader); if (evento != null) { eventi.Add(evento); } } } } return(eventi); }
private void RiceviEvento(IEventoSismico evento) { this.Invoke((MethodInvoker) delegate { // Avvio l'allarme sonoro SoundPlayer simpleSound = new SoundPlayer(Resources.alarm); simpleSound.Play(); // Running on the UI thread allertaEventoAsync(evento); }); }
public void TestFiltroTag() { IEventoSismico e = EventoSismicoTest.createMockEvent(); IFiltroEvento filter = new FiltroTag("Magnitude"); Assert.IsTrue(filter.Filtra(e)); IFiltroEvento filter2 = new FiltroTag("Frequency"); Assert.IsFalse(filter2.Filtra(e)); }
public void TestFiltroPriorita() { IFiltroEvento filter = new FiltroPriorita(Priorita.Info); IEventoSismico e = EventoSismicoTest.createMockEvent(); // Should be false Assert.IsFalse(filter.Filtra(e)); // Should be true IFiltroEvento filter2 = new FiltroPriorita(Priorita.Fatal); Assert.IsTrue(filter2.Filtra(e)); }
public void TestFiltroIntervalloDiTempo() { IEventoSismico e = EventoSismicoTest.createMockEvent(); IFiltroEvento filter = new FiltroIntervalloDiTempo(123000, 123999); Assert.IsTrue(filter.Filtra(e)); IFiltroEvento filter2 = new FiltroIntervalloDiTempo(123999, 999999); Assert.IsFalse(filter2.Filtra(e)); IFiltroEvento filter3 = new FiltroIntervalloDiTempo(123000, 123123); Assert.IsFalse(filter3.Filtra(e)); }
public void TestFiltroCerca() { IEventoSismico e = EventoSismicoTest.createMockEvent(); // Should be false IFiltroEvento filter = new FiltroCerca("yeah"); Assert.IsFalse(filter.Filtra(e)); // Should be true IFiltroEvento filter2 = new FiltroCerca("BRO"); // Test case insensitive Assert.IsTrue(filter2.Filtra(e)); // Should be true IFiltroEvento filter3 = new FiltroCerca("gniTude"); // Test case insensitive Assert.IsTrue(filter3.Filtra(e)); }
public async System.Threading.Tasks.Task allertaEventoAsync(IEventoSismico evento) { this.panelAllertaEvento.Visible = true; this.panelAllertaEvento.BackColor = SismioColor.Priorita(evento.Priorita); this.labelPrioritaEvento.Text = evento.Priorita.ToString().ToUpper(); this.labelMessaggioEvento.Text = evento.Messaggio.ToString(); if (evento.Priorita == Priorita.Fatal) { this.labelPrioritaEvento.ForeColor = Color.White; this.labelMessaggioEvento.ForeColor = Color.White; } else { this.labelPrioritaEvento.ForeColor = Color.Black; this.labelMessaggioEvento.ForeColor = Color.Black; } int criticita = ((int)evento.Priorita) + 1; await Task.Delay(TimeSpan.FromSeconds(criticita *ALLERTA_TIME_MULTIPLIER)); this.panelAllertaEvento.Visible = false; }
public bool Filtra(IEventoSismico eventoSismico) { return(eventoSismico.Tag.Equals(Tag)); }
public bool Filtra(IEventoSismico eventoSismico) { return(eventoSismico.Tag.IndexOf(_query, StringComparison.OrdinalIgnoreCase) >= 0 || eventoSismico.Messaggio.IndexOf(_query, StringComparison.OrdinalIgnoreCase) >= 0); }
public bool Filtra(IEventoSismico eventoSismico) { return(eventoSismico.Priorita == _priorita); }
public bool Filtra(IEventoSismico eventoSismico) { return(eventoSismico.Timestamp >= Inizio && eventoSismico.Timestamp <= Fine); }