Exemplo n.º 1
0
        private void InitServiceHelper()
        {
            SensusServiceHelper.ClearSingleton();
            TestSensusServiceHelper serviceHelper = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => serviceHelper);
        }
Exemplo n.º 2
0
        public void FlashNotificationsEnabledTest()
        {
            var service1 = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => service1);

            service1.FlashNotificationsEnabled = true;

            var serial = JsonConvert.SerializeObject(service1, _jsonSerializerSettings);

            SensusServiceHelper.ClearSingleton();

            var service2 = JsonConvert.DeserializeObject <TestSensusServiceHelper>(serial);

            Assert.AreEqual(service1.FlashNotificationsEnabled, service2.FlashNotificationsEnabled);

            service1.FlashNotificationsEnabled = false;

            serial = JsonConvert.SerializeObject(service1);

            SensusServiceHelper.ClearSingleton();

            service2 = JsonConvert.DeserializeObject <TestSensusServiceHelper>(serial);

            Assert.AreEqual(service1.FlashNotificationsEnabled, service2.FlashNotificationsEnabled);
        }
Exemplo n.º 3
0
        public void SerializeDeserializeWithEnumTest()
        {
            TestSensusServiceHelper service1 = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => service1);


            ActivityDatum datum = new ActivityDatum(DateTimeOffset.UtcNow,
                                                    Activities.OnBicycle,
                                                    ActivityPhase.Starting,
                                                    ActivityState.Inactive,
                                                    1);

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

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

            Assert.AreEqual(datum.BuildId, deserializedDatum.BuildId);
            Assert.AreEqual(datum.DeviceId, deserializedDatum.DeviceId);
            Assert.AreEqual(datum.Id, deserializedDatum.Id);
            Assert.AreEqual(datum.ProtocolId, deserializedDatum.ProtocolId);
            Assert.AreEqual(datum.Timestamp, deserializedDatum.Timestamp);
            Assert.AreEqual(datum.Activity, deserializedDatum.Activity);
            Assert.AreEqual(datum.Confidence, deserializedDatum.Confidence);
            Assert.AreEqual(datum.ActivityStarting, deserializedDatum.ActivityStarting);
            Assert.AreEqual(datum.Phase, deserializedDatum.Phase);
            Assert.AreEqual(datum.State, deserializedDatum.State);
        }
Exemplo n.º 4
0
        public void ScriptsDisplayDateTimeOrderTest()
        {
            var service1 = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => service1);

            ScriptRunner runner = new ScriptRunner("Test", new ScriptProbe());
            Random       random = new Random();

            for (int i = 0; i < 50; ++i)
            {
                Script script = new Script(runner);
                script.ScheduledRunTime = new DateTimeOffset(2000, 1, 1, 0, 0, 0, TimeSpan.Zero).AddMinutes(random.Next(-100000, 100000));
                service1.AddScript(script, RunMode.Multiple);
            }

            Script scriptMin = new Script(runner);

            scriptMin.ScheduledRunTime = DateTimeOffset.MinValue;
            service1.AddScript(scriptMin, RunMode.Multiple);

            Script scriptMax = new Script(runner);

            scriptMax.ScheduledRunTime = DateTimeOffset.MaxValue;
            service1.AddScript(scriptMax, RunMode.Multiple);

            for (int i = 1; i < service1.ScriptsToRun.Count; ++i)
            {
                Assert.True(service1.ScriptsToRun.ElementAt(i).DisplayDateTime >= service1.ScriptsToRun.ElementAt(i - 1).DisplayDateTime);
            }
        }
Exemplo n.º 5
0
        public async Task RegisteredTwoProtocolsTest()
        {
            SensusServiceHelper.Initialize(() => new TestSensusServiceHelper());

            SensusServiceHelper service1 = SensusServiceHelper.Get();

            service1.RegisteredProtocols.Clear();

            await Protocol.CreateAsync("Test1");

            await Protocol.CreateAsync("Test2");

            var serial = JsonConvert.SerializeObject(service1, _jsonSerializerSettings);

            SensusServiceHelper.ClearSingleton();

            TestSensusServiceHelper service2 = null;

            SensusContext.Current.MainThreadSynchronizer.ExecuteThreadSafe(() =>
            {
                service2 = JsonConvert.DeserializeObject <TestSensusServiceHelper>(serial, _jsonSerializerSettings);
            });

            Assert.Equal(2, service1.RegisteredProtocols.Count);
            Assert.Equal(2, service2.RegisteredProtocols.Count);

            Assert.Equal(service1.RegisteredProtocols.Skip(0).Take(1).Single().Name, service2.RegisteredProtocols.Skip(0).Take(1).Single().Name);
            Assert.Equal(service1.RegisteredProtocols.Skip(1).Take(1).Single().Name, service2.RegisteredProtocols.Skip(1).Take(1).Single().Name);
        }
Exemplo n.º 6
0
        public void SerializeAndDeserializeNoExceptionTest()
        {
            var service1 = new TestSensusServiceHelper();

            var serial1 = JsonConvert.SerializeObject(service1, _jsonSerializerSettings);

            service1.RegisteredProtocols.Clear();
            var service2 = JsonConvert.DeserializeObject <TestSensusServiceHelper>(serial1, _jsonSerializerSettings);

            Assert.AreEqual(0, service1.RegisteredProtocols.Count);
            Assert.AreEqual(0, service2.RegisteredProtocols.Count);
        }
Exemplo n.º 7
0
        public void PointsOfInterestTest()
        {
            var service1 = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => service1);

            service1.PointsOfInterest.Clear();
            service1.PointsOfInterest.Add(new PointOfInterest("Test", "Test", null));

            var serial = JsonConvert.SerializeObject(service1, _jsonSerializerSettings);

            SensusServiceHelper.ClearSingleton();

            var service2 = JsonConvert.DeserializeObject <TestSensusServiceHelper>(serial, _jsonSerializerSettings);

            Assert.AreEqual(service1.PointsOfInterest.Count, service2.PointsOfInterest.Count);
            Assert.AreEqual(service1.PointsOfInterest.Single().Name, service2.PointsOfInterest.Single().Name);
        }
Exemplo n.º 8
0
        public void RegisteredOneProtocolTest()
        {
            TestSensusServiceHelper service1 = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => service1);

            service1.RegisteredProtocols.Clear();

            Protocol.Create("Test");

            var serial = JsonConvert.SerializeObject(service1, _jsonSerializerSettings);

            SensusServiceHelper.ClearSingleton();

            var service2 = JsonConvert.DeserializeObject <TestSensusServiceHelper>(serial, _jsonSerializerSettings);

            Assert.AreEqual(service1.RegisteredProtocols.Count, service2.RegisteredProtocols.Count);
            Assert.AreEqual(service1.RegisteredProtocols.First().Name, service2.RegisteredProtocols.First().Name);
        }
Exemplo n.º 9
0
        public void ScriptsToRunTest()
        {
            var service1 = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => service1);

            service1.RunningProtocolIds.Clear();

            service1.ScriptsToRun.Add(new Script(new ScriptRunner("Test", new ScriptProbe())));

            var serial = JsonConvert.SerializeObject(service1, _jsonSerializerSettings);

            SensusServiceHelper.ClearSingleton();

            var service2 = JsonConvert.DeserializeObject <TestSensusServiceHelper>(serial);

            Assert.AreEqual(service1.ScriptsToRun.Count, service2.ScriptsToRun.Count);
            Assert.AreEqual(service1.ScriptsToRun.Single().Id, service2.ScriptsToRun.Single().Id);
        }
Exemplo n.º 10
0
        public void RunningProtocolIdsTest()
        {
            var service1 = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => service1);

            Protocol.Create("Test");

            service1.RunningProtocolIds.Clear();
            service1.RunningProtocolIds.Add(service1.RegisteredProtocols.Single().Id);

            var serial = JsonConvert.SerializeObject(service1, _jsonSerializerSettings);

            SensusServiceHelper.ClearSingleton();

            var service2 = JsonConvert.DeserializeObject <TestSensusServiceHelper>(serial, _jsonSerializerSettings);

            Assert.AreEqual(service1.RunningProtocolIds.Count, service2.RunningProtocolIds.Count);
            Assert.AreEqual(service1.RunningProtocolIds.Single(), service2.RunningProtocolIds.Single());
        }
Exemplo n.º 11
0
        public void RegisteredTwoProtocolsTest()
        {
            TestSensusServiceHelper service1 = new TestSensusServiceHelper();

            SensusServiceHelper.Initialize(() => service1, false);

            service1.RegisteredProtocols.Clear();

            Protocol.Create("Test1");
            Protocol.Create("Test2");

            var serial = JsonConvert.SerializeObject(service1, _jsonSerializerSettings);

            SensusServiceHelper.ClearSingleton();
            var service2 = JsonConvert.DeserializeObject <TestSensusServiceHelper>(serial, _jsonSerializerSettings);

            Assert.AreEqual(2, service1.RegisteredProtocols.Count);
            Assert.AreEqual(2, service2.RegisteredProtocols.Count);

            Assert.AreEqual(service1.RegisteredProtocols.Skip(0).Take(1).Single().Name, service2.RegisteredProtocols.Skip(0).Take(1).Single().Name);
            Assert.AreEqual(service1.RegisteredProtocols.Skip(1).Take(1).Single().Name, service2.RegisteredProtocols.Skip(1).Take(1).Single().Name);
        }
Exemplo n.º 12
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);
        }