public static void Run()
        {
            // HEAD FIRST
            //var weatherData = new WeatherData();
            //var currentConditionsDisplay = new CurrentConditionsDisplay(weatherData);

            //weatherData.setMeasurements(80, 65, 30.4);
            //weatherData.setMeasurements(82, 70, 29.2);
            //weatherData.setMeasurements(78, 90, 29.2);

            // MICROSOFT
            var provider = new MeasurementTracker();
            var reporter = new MeasurementReporter("Medidas");

            reporter.Subscribe(provider);

            provider.TrackMeasurement(new Measurement
            {
                Humidity    = 80,
                Pressure    = 65,
                Temperature = 30.4
            });

            provider.EndTransmission();

            provider.TrackMeasurement(new Measurement
            {
                Humidity    = 82,
                Pressure    = 70,
                Temperature = 29.2
            });

            reporter.Unsubscribe();
        }
Exemplo n.º 2
0
        public void MeasurementTracker_Track_Sends_Request()
        {
            var actual  = new List <Uri>();
            var tracker = new MeasurementTracker(MeasurementTestHelpers.Configuration, MeasurementTestHelpers.CreateSessionManager(), MeasurementTestHelpers.CreateEnvironment(), actual.Add);

            tracker.Track(new MeasurementActivityEntry(new AppViewActivity("Testing")));

            Assert.AreEqual(1, actual.Count);
        }
Exemplo n.º 3
0
        public void MeasurementTracker_Track_Does_Not_Send_Request_When_Opted_Out()
        {
            var actual         = new List <Uri>();
            var sessionManager = MeasurementTestHelpers.CreateSessionManager();
            var tracker        = new MeasurementTracker(MeasurementTestHelpers.Configuration, sessionManager, MeasurementTestHelpers.CreateEnvironment(), actual.Add);

            sessionManager.VisitorStatus = VisitorStatus.OptedOut;
            tracker.Track(new MeasurementActivityEntry(new AppViewActivity("Testing")));

            Assert.AreEqual(0, actual.Count);
        }
Exemplo n.º 4
0
        public void MeasurementTracker_Track_Does_Not_Buffer_While_Opted_Out()
        {
            var actual         = new List <Uri>();
            var sessionManager = MeasurementTestHelpers.CreateSessionManager();
            var tracker        = new MeasurementTracker(MeasurementTestHelpers.Configuration, sessionManager, MeasurementTestHelpers.CreateEnvironment(), actual.Add);

            sessionManager.VisitorStatus = VisitorStatus.OptedOut;
            tracker.Track(new MeasurementActivityEntry(new AppViewActivity("OptedOut")));
            sessionManager.VisitorStatus = VisitorStatus.Active;
            tracker.Track(new MeasurementActivityEntry(new AppViewActivity("OptedIn")));

            Assert.AreEqual(1, actual.Count);
            StringAssert.Contains(actual[0].OriginalString, "cd=OptedIn");
        }
Exemplo n.º 5
0
        public void MeasurementTracker_Track_Ends_Session()
        {
            var actual         = new List <Uri>();
            var sessionManager = MeasurementTestHelpers.CreateSessionManager();
            var tracker        = new MeasurementTracker(MeasurementTestHelpers.Configuration, sessionManager, MeasurementTestHelpers.CreateEnvironment(), actual.Add);

            tracker.Track(new MeasurementActivityEntry(new AppViewActivity("Testing"))
            {
                EndSession = true
            });

            Assert.AreEqual(SessionStatus.Ending, sessionManager.SessionStatus);
            StringAssert.Contains(actual.Last().OriginalString, "sc=end");
        }
Exemplo n.º 6
0
        public void MeasurementTracker_Track_Carries_Forward_Last_Transaction()
        {
            var actual  = new List <Uri>();
            var tracker = new MeasurementTracker(MeasurementTestHelpers.Configuration, MeasurementTestHelpers.CreateSessionManager(), MeasurementTestHelpers.CreateEnvironment(), actual.Add);

            var transaction = new TransactionActivity {
                OrderId = "123", Currency = "GBP"
            };

            tracker.Track(new MeasurementActivityEntry(transaction));

            var transactionItem = new TransactionItemActivity("ABC", "Unit Test", 1.23m, 4);

            tracker.Track(new MeasurementActivityEntry(transactionItem));

            Assert.AreEqual(transaction, transactionItem.Transaction);
            StringAssert.Contains(actual.Last().OriginalString, "ti=123");
        }