public void SetTestContainers(List <string> testContainerFiles) { // @todo maybe check if something changed at all before firing events and so?! this._cachedContainers.Clear(); foreach (var containerFile in testContainerFiles) { var index = this._cachedContainers .FindIndex(x => x.Source.Equals(containerFile, StringComparison.OrdinalIgnoreCase)); if (index != -1) { return; } if (!TestContainerHelper.IsTestContainerFile(containerFile)) { return; } var container = new CTestContainer(this, containerFile); this._cachedContainers.Add(container); } if (null == this.TestContainersUpdated) { return; } this.TestContainersUpdated(this, EventArgs.Empty); }
private void OnTestContainerRemoved(object sender, Events.TestContainerEventArgs e) { if (e == null) { return; } if (!this._testContainers.Contains(e.File)) { return; } if (!TestContainerHelper.IsTestContainerFile(e.File)) { return; } this._testContainerWatcher.RemoveWatch(e.File); this._testContainers.Remove(e.File); if (null != this.TestContainersChanged) { this.TestContainersChanged(this, new TestContainerListArgs(this._testContainers)); } }