private IEnumerable <SpecStatusViewModel> GetRunnerStatuses(BindableCollection <RunnerViewModel> runners, BindableDictionary <string, SpecStatusViewModel> statuses)
 {
     foreach (RunnerViewModel runner in runners)
     {
         if (statuses.ContainsKey(runner.ConnectionId))
         {
             SpecStatusViewModel status = statuses[runner.ConnectionId];
             status.Runner = runner;
             yield return(status);
         }
         else
         {
             yield return(null);
         }
     }
 }
        public void TestRemoveNotifiesBoundDictionaries()
        {
            const string item = "item";

            bindableStringByteDictionary.Add(item, 0);
            var dictA = new BindableDictionary <string, byte>();

            dictA.BindTo(bindableStringByteDictionary);
            var dictB = new BindableDictionary <string, byte>();

            dictB.BindTo(bindableStringByteDictionary);
            var dictC = new BindableDictionary <string, byte>();

            dictC.BindTo(bindableStringByteDictionary);

            bindableStringByteDictionary.Remove(item);

            Assert.Multiple(() =>
            {
                Assert.False(dictA.ContainsKey(item));
                Assert.False(dictB.ContainsKey(item));
                Assert.False(dictC.ContainsKey(item));
            });
        }