public void ASingleMessagesIsStored() { var storeMessaggioPosizione = new StoreMessaggioPosizione_DB(dbContext.MessaggiPosizioneCollection); var msg1 = new MessaggioPosizione() { CodiceMezzo = "Test", IstanteAcquisizione = DateTime.UtcNow, Localizzazione = new Localizzazione { Lat = 1, Lon = 1 }, }; storeMessaggioPosizione.Store(msg1); var storedMsgs = dbContext.MessaggiPosizioneCollection .Find(m => m.CodiceMezzo == "Test") .ToList(); Assert.Multiple(() => { Assert.That(storedMsgs.Count, Is.EqualTo(1)); Assert.That(storedMsgs[0].Id, Is.EqualTo(msg1.Id)); Assert.That(storedMsgs[0].Ultimo, Is.True); }); }
public void StoringMessageFixesAnomalousPresenceOfMoreLastMessages() { var storeMessaggioPosizione = new StoreMessaggioPosizione_DB(dbContext.MessaggiPosizioneCollection); var msg1 = new MessaggioPosizione() { CodiceMezzo = "Test", IstanteAcquisizione = DateTime.UtcNow.AddMinutes(-2), Localizzazione = new Localizzazione { Lat = 1, Lon = 1 }, Ultimo = true }; var msg2 = new MessaggioPosizione() { CodiceMezzo = "Test", IstanteAcquisizione = DateTime.UtcNow.AddMinutes(-1), Localizzazione = new Localizzazione { Lat = 1, Lon = 1 }, Ultimo = true }; dbContext.MessaggiPosizioneCollection.InsertMany(new[] { msg1, msg2 }); var msg3 = new MessaggioPosizione() { CodiceMezzo = "Test", IstanteAcquisizione = DateTime.UtcNow, Localizzazione = new Localizzazione { Lat = 1, Lon = 1 }, Ultimo = true }; storeMessaggioPosizione.Store(msg3); var storedMsgs = dbContext.MessaggiPosizioneCollection .Find(m => m.CodiceMezzo == "Test") .ToList(); Assert.Multiple(() => { Assert.That(storedMsgs.Count, Is.EqualTo(3)); Assert.That(storedMsgs.Single(m => m.Id == msg1.Id).Ultimo, Is.False); Assert.That(storedMsgs.Single(m => m.Id == msg2.Id).Ultimo, Is.False); Assert.That(storedMsgs.Single(m => m.Id == msg3.Id).Ultimo, Is.True); }); }
public void TwoConsecutiveMessagesAreStored() { var storeMessaggioPosizione = new StoreMessaggioPosizione_DB(dbContext.MessaggiPosizioneCollection); var msg1 = new MessaggioPosizione() { CodiceMezzo = "Test", IstanteAcquisizione = DateTime.UtcNow.AddMinutes(-1), Localizzazione = new Localizzazione { Lat = 1, Lon = 1 }, }; var msg2 = new MessaggioPosizione() { CodiceMezzo = "Test", IstanteAcquisizione = DateTime.UtcNow, Localizzazione = new Localizzazione { Lat = 1, Lon = 1 }, }; storeMessaggioPosizione.Store(msg1); storeMessaggioPosizione.Store(msg2); var storedMsgs = dbContext.MessaggiPosizioneCollection .Find(m => m.CodiceMezzo == "Test") .ToList(); Assert.Multiple(() => { Assert.That(storedMsgs.Count, Is.EqualTo(2)); Assert.That(storedMsgs.Single(m => m.Id == msg1.Id).Ultimo, Is.False); Assert.That(storedMsgs.Single(m => m.Id == msg2.Id).Ultimo, Is.True); }); }
public void StoringMessageWithNonNullIdRaisesException() { var storeMessaggioPosizione = new StoreMessaggioPosizione_DB(dbContext.MessaggiPosizioneCollection); var msg = new MessaggioPosizione() { Id = "ABCD", CodiceMezzo = "Test" }; Assert.Throws <ArgumentException>(() => { storeMessaggioPosizione.Store(msg); }); }