public void CanAddLiveDataRoutes() { var cache = SensorCacheGenerationHelper.BuildSensors(); var route = new LiveDataRoute { SensorID = cache.Item1[0], Target = "s1" }; cache.Item2.AddLiveDataRoute(route); var sensor = cache.Item2[cache.Item1[0]]; Assert.AreEqual(1, sensor.LiveDataRouting.Count); Assert.AreEqual("s1", sensor.LiveDataRouting.First().Target); }
public void HandleUpdate(Command cmd) { LiveDataRoute route; InternalLiveDataRoute @internal; switch (cmd.Cmd) { case CommandType.AddLiveDataSensor: @internal = JsonConvert.DeserializeObject <InternalLiveDataRoute>(cmd.Arguments); route = new LiveDataRoute { Target = @internal.Target, SensorID = ObjectId.Parse(@internal.SensorID) }; this.m_cache.AddLiveDataRoute(route); break; case CommandType.RemoveLiveDataSensor: @internal = JsonConvert.DeserializeObject <InternalLiveDataRoute>(cmd.Arguments); route = new LiveDataRoute { Target = @internal.Target, SensorID = ObjectId.Parse(@internal.SensorID) }; this.m_cache.RemoveLiveDataRoute(route); break; case CommandType.SyncLiveDataSensors: var raw = JsonConvert.DeserializeObject <InternalLiveDataSyncList>(cmd.Arguments); var list = raw.Sensors.Select(objId => new LiveDataRoute { SensorID = ObjectId.Parse(objId), Target = raw.Target }); this.m_cache.SyncLiveDataRoutes(list.ToList()); break; default: throw new ArgumentOutOfRangeException(); } }