예제 #1
0
        private List <Datum> GenerateData()
        {
            List <Datum> data = new List <Datum>();
            Random       r    = new Random();

            for (int i = 0; i < 1000; ++i)
            {
                Datum d;
                int   type = r.Next(0, 3);
                if (type == 0)
                {
                    d = new AccelerometerDatum(DateTimeOffset.UtcNow, r.NextDouble(), r.NextDouble(), r.NextDouble());
                }
                else if (type == 1)
                {
                    d = new LocationDatum(DateTimeOffset.UtcNow, r.NextDouble(), r.NextDouble(), r.NextDouble());
                }
                else
                {
                    d = new BatteryDatum(DateTimeOffset.UtcNow, r.NextDouble());
                }

                data.Add(d);
            }

            return(data);
        }
예제 #2
0
        public void SerializeDeserializeTest()
        {
            TestSensusServiceHelper service1 = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => service1);

            LocationDatum datum = new LocationDatum(DateTimeOffset.UtcNow, 0.5, 75.5, -35.5);

            Protocol protocol = new Protocol("test");
            AnonymizedJsonContractResolver anonymizer = new AnonymizedJsonContractResolver(protocol);
            string serializedJSON = datum.GetJSON(anonymizer, false);

            LocationDatum deserializedDatum = Datum.FromJSON(serializedJSON) as LocationDatum;

            Assert.AreEqual(datum.Accuracy, deserializedDatum.Accuracy);
            Assert.AreEqual(datum.BuildId, deserializedDatum.BuildId);
            Assert.AreEqual(datum.DeviceId, deserializedDatum.DeviceId);
            Assert.AreEqual(datum.Id, deserializedDatum.Id);
            Assert.AreEqual(datum.Latitude, deserializedDatum.Latitude);
            Assert.AreEqual(datum.Longitude, deserializedDatum.Longitude);
            Assert.AreEqual(datum.ProtocolId, deserializedDatum.ProtocolId);
            Assert.AreEqual(datum.Timestamp, deserializedDatum.Timestamp);
        }