Beispiel #1
0
        public void PostProbeData_MissingInboundVehicle_Fails()
        {
            ProbeVehicleData probeData = new ProbeVehicleData();

            PositionSnapshot ps = new PositionSnapshot()
            {
                Accuracy   = 5,
                Altitude   = 123,
                Heading    = 180,
                Latitude   = 44.646581369493,
                Longitude  = -96.6830267664,
                Satellites = 0,
                Speed      = 14.77999305725097,
                TimeStamp  = 137349837631
            };

            probeData.Positions.Add(ps);

            using (IDbContext idtoFakeContext = new IDTOFakeContext())
                using (IUnitOfWork imuow = new UnitOfWork(idtoFakeContext))
                {
                    var mockTable = new Mock <IAzureTable <ProbeSnapshotEntry> >();
                    var cut       = new ProbeController(idtoFakeContext, mockTable.Object);

                    SetupControllerForTests(cut);

                    HttpResponseMessage returnMessage = cut.PostProbeData(probeData);

                    Assert.AreEqual(HttpStatusCode.BadRequest, returnMessage.StatusCode);
                }
        }
Beispiel #2
0
        public void PostProbeData_UpdateVehiclePosition_Success()
        {
            using (IDbContext idtoFakeContext = new IDTOFakeContext())
                using (IUnitOfWork imuow = new UnitOfWork(idtoFakeContext))
                {
                    AddTripToRepo(imuow);

                    LastVehiclePosition lvp = new LastVehiclePosition
                    {
                        VehicleName       = "MDT2",
                        PositionTimestamp = DateTime.UtcNow,
                        Latitude          = 44.646581369493,
                        Longitude         = -96.6830267664,
                        Speed             = 10,
                        Heading           = 180,
                        Accuracy          = 5
                    };

                    imuow.Repository <LastVehiclePosition>().Insert(lvp);
                    imuow.Save();

                    DateTime newestPositionTimestamp = DateTime.UtcNow.AddMinutes(1);
                    var      epoch           = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                    long     newestTimeStamp = Convert.ToInt64((newestPositionTimestamp - epoch).TotalMilliseconds);

                    ProbeVehicleData probeData = new ProbeVehicleData {
                        InboundVehicle = "MDT2"
                    };
                    PositionSnapshot ps = new PositionSnapshot()
                    {
                        Accuracy   = 5,
                        Altitude   = 123,
                        Heading    = 180,
                        Latitude   = 44.646581369493,
                        Longitude  = -96.6830267664,
                        Satellites = 0,
                        Speed      = 14.77999305725097,
                        TimeStamp  = newestTimeStamp
                    };
                    probeData.Positions.Add(ps);

                    var mockTable = new Mock <IAzureTable <ProbeSnapshotEntry> >();
                    var cut       = new ProbeController(idtoFakeContext, mockTable.Object);

                    SetupControllerForTests(cut);

                    HttpResponseMessage returnMessage = cut.PostProbeData(probeData);

                    List <LastVehiclePosition> lvpList = imuow.Repository <LastVehiclePosition>().Query().Get().Where(v => v.VehicleName == "MDT2").ToList();

                    Assert.AreEqual(1, lvpList.Count);
                    Assert.AreEqual(newestPositionTimestamp.ToLongTimeString(), lvpList.First().PositionTimestamp.ToLongTimeString());
                }
        }