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); }
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); }