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