public void WhenReadingsExist_Refresh_ReadingsUpdated() { var ea = new EventAggregator(); var initialResponse = new ReadingDto[] { new ReadingDto { DeviceName = "unit-test", PM25 = "1", PM10 = "2" } }; var updateResponse = new ReadingDto[] { new ReadingDto { DeviceName = "unit-test", PM25 = "10", PM10 = "20" } }; var handler = new HttpMessageHandlerBuilder() .SetupGet("http://1.2.3.4:8080/v1/readings", initialResponse, updateResponse) .Build(); var target = new MetersViewModel(ea, new HttpClient(handler)); ea.Publish(new DeviceDetectedEvent("id", IPAddress.Parse("1.2.3.4"))); target.Refresh.Execute(null); var result = target.Readings.Single(); Assert.AreEqual("id", result.ClientId); Assert.AreEqual("unit-test", result.DeviceName); Assert.AreEqual("10", result.PM25); Assert.AreEqual("20", result.PM10); }
public void WhenReadingsExist_DeviceDetectedEventSend_ReadingsUpdated() { var ea = new EventAggregator(); var response = new ReadingDto[] { new ReadingDto { DeviceName = "unit-test", PM25 = "1", PM10 = "2" } }; var handler = new HttpMessageHandlerBuilder() .SetupGet <ReadingDto[]>("http://1.2.3.4:8080/v1/readings", response) .Build(); var target = new MetersViewModel(ea, new HttpClient(handler)); target.Readings.Add(new Reading() { ClientId = "existingId", DeviceName = "existing", PM25 = "10", PM10 = "20" }); ea.Publish(new DeviceDetectedEvent("id", IPAddress.Parse("1.2.3.4"))); var result = target.Readings.Last(); Assert.AreEqual("id", result.ClientId); Assert.AreEqual("unit-test", result.DeviceName); Assert.AreEqual("1", result.PM25); Assert.AreEqual("2", result.PM10); }
public void WhenDetectionStartedEventSend_IsLoadingSet() { var ea = new EventAggregator(); var httpClient = new HttpClient(new HttpMessageHandlerBuilder().Build()); var target = new MetersViewModel(ea, httpClient); ea.Publish(new DetectionStartedEvent()); Assert.IsTrue(target.IsLoading); }
public async Task <IActionResult> Index(string address) { List <Address> addresses = await _data.GetAddresses(); List <Apartment> apartments = await _data.GetUnverifiedMetersByAddress(address); var model = new MetersViewModel { Addresses = addresses.Adapt <List <AddressViewModel> >(), Meters = apartments.Adapt <List <MeterViewModel> >() }; return(View(model)); }
public ActionResult Index() { // instantiate the meter manager var meterManagerEx = initializeMeterManager(); // build the view model var viewModel = new MetersViewModel(); // get all the MeterDefinitions for the client side meters viewModel.ClientSideMeters = meterManagerEx.GetClientSideDefinitions(); // get all Server Based MeterDefinitions viewModel.StatusPageMeters = meterManagerEx.GetServerBasedDefinitions(); // render the view return(View(viewModel)); }
public void WhenNoReadingsExist_MultipleDeviceDetectedEventSend_ReadingsUpdated() { var ea = new EventAggregator(); var firstDevice = new ReadingDto[] { new ReadingDto { DeviceName = "unit-test-1", PM25 = "1", PM10 = "2" } }; var secondDevice = new ReadingDto[] { new ReadingDto { DeviceName = "unit-test-2", PM25 = "10", PM10 = "20" } }; var handler = new HttpMessageHandlerBuilder() .SetupGet <ReadingDto[]>("http://1.2.3.4:8080/v1/readings", firstDevice) .SetupGet <ReadingDto[]>("http://1.2.3.5:8080/v1/readings", secondDevice) .Build(); var target = new MetersViewModel(ea, new HttpClient(handler)); ea.Publish(new DeviceDetectedEvent("id1", IPAddress.Parse("1.2.3.4"))); ea.Publish(new DeviceDetectedEvent("id2", IPAddress.Parse("1.2.3.5"))); var firstResult = target.Readings.First(); var lastResult = target.Readings.Last(); Assert.AreEqual(2, target.Readings.Count); //TODO add object comparison Assert.AreEqual("id1", firstResult.ClientId); Assert.AreEqual("unit-test-1", firstResult.DeviceName); Assert.AreEqual("1", firstResult.PM25); Assert.AreEqual("2", firstResult.PM10); Assert.AreEqual("id2", lastResult.ClientId); Assert.AreEqual("unit-test-2", lastResult.DeviceName); Assert.AreEqual("10", lastResult.PM25); Assert.AreEqual("20", lastResult.PM10); }
void Awake() { _viewModel = new MetersViewModel(); _viewModel.DataUpdated += _view.SetData; _viewModel.TitlesUpdated += _view.SetTitles; _isVisible = true; Deactivate(); var settingUpdates = new CompositeDisposable(); var gameSettingUpdates = _activeGameSettings.SettingChanges.Subscribe(gameSettings => { UpdateSettings(gameSettings.Gameplay); }); settingUpdates.Add(gameSettingUpdates); var languageUpdates = _activeLanguage.TableUpdates.Subscribe(languageTable => { SetLanguage(languageTable); }); settingUpdates.Add(languageUpdates); _settingUpdates = settingUpdates; }
public MetersPage(MetersViewModel viewModel) { InitializeComponent(); BindingContext = viewModel; }