public void FixDesignTimeUri(string inUrl, string outUrl) { var inUri = ResourceDictionaryUtilities.ToPackUri(inUrl); var outUri = SharedDictionaryManager.FixDesignTimeUri(inUri); Assert.That(outUri.ToString(), Is.EqualTo(outUrl)); }
public void IsEqualToSet(string url) { using (SharedDictionaryManager.CachingFactory.GetInstanceForDomain()) { var uri = ResourceDictionaryUtilities.ToPackUri(url); var target = new SharedDictionaryManager(); target.Source = uri; Assert.That(target.Source, Is.EqualTo(uri)); } }
public void CalledTwice_DisposeNotCalled() { using (var factory = SharedDictionaryManager.GetCurrentDomainCachingFactory()) { var disposable = Substitute.For <IDisposable>(); factory.TryAddDisposable(disposable); SharedDictionaryManager.GetCurrentDomainCachingFactory(); disposable.Received(0).Dispose(); } }
public void InvokeMethodOnNewAssembly_DisposeCalled() { using (var factory = SharedDictionaryManager.GetCurrentDomainCachingFactory()) { var disposable = Substitute.For <IDisposable>(); factory.TryAddDisposable(disposable); using (InvokeMethodOnNewAssembly(SharedDictionaryManager.GetCurrentDomainCachingFactory)) { disposable.Received(1).Dispose(); } } }
public void SetResourceDictionarySourceOnDifferentInstances_ExpectDifferentObjects(string url) { var setup = new AppDomainSetup { ApplicationBase = "NOTHING_HERE" }; AppDomainContext.Invoke(setup, () => { var shared = new SharedDictionaryManager(); var expectDump = ResourceDictionaryUtilities.DumpMergedDictionaries(shared, url); var loading = new LoadingResourceDictionary(); var dump = ResourceDictionaryUtilities.DumpMergedDictionaries(loading, url); Assert.That(dump, Is.Not.EqualTo(expectDump)); }); }
public void InvokeMethodOnNewAssembly_DisposeCalled() { // HACK: Why does this need to be in app domain? AppDomainContext.Invoke(new AppDomainSetup { ApplicationBase = AppDomain.CurrentDomain.BaseDirectory }, () => { using (var factory = SharedDictionaryManager.GetCurrentDomainCachingFactory()) { var disposable = Substitute.For <IDisposable>(); factory.TryAddDisposable(disposable); using (InvokeMethodOnNewAssembly(SharedDictionaryManager.GetCurrentDomainCachingFactory)) { disposable.Received(1).Dispose(); } } }); }
internal string DumpMergedDictionariesSharedDictionaryManager(string url) { var target = new SharedDictionaryManager(); return(ResourceDictionaryUtilities.DumpMergedDictionaries(target, url)); }
internal string DumpMergedDictionariesSharedDictionaryManager(params string[] urls) { var target = new SharedDictionaryManager(); return(DumpMergedDictionaries(target, urls)); }
private void AddBranchAdornment(ITextViewLine line, SnapshotSpan span, LineCoverage coverage) { var diameter = _textView.LineHeight / _branchCoverageSpotHeightDivider; var spacing = _branchCoverageSpotGap + diameter; var top = (line.Height - diameter) / 2d; var brush = _brushesAndPens[coverage.BranchCoverageState].Brush; var pen = _brushesAndPens[coverage.BranchCoverageState].Pen; var groupIndex = 0; var index = 0; var left = _sequenceCoverageLineWidth * 1.5d; foreach (var branchPoint in coverage.BranchesVisited) { foreach (var branch in branchPoint) { var rect = new Rect(left, line.Top + top, diameter, diameter); var geometry = new EllipseGeometry(rect); geometry.Freeze(); var brushOverride = brush; var penOverride = pen; if (branch && coverage.BranchVisitors[groupIndex][index].Any(p => SelectedTests.Contains(p))) { brushOverride = _selectedBrushAndPen.Brush; penOverride = _selectedBrushAndPen.Pen; } var drawing = new GeometryDrawing(branch ? brushOverride : null, penOverride, geometry); drawing.Freeze(); var drawingImage = new DrawingImage(drawing); drawingImage.Freeze(); var image = new Image() { Source = drawingImage }; var testMethod = coverage.BranchVisitors[groupIndex][index].FirstOrDefault(); if (testMethod != null) { image.MouseLeftButtonDown += (o, e) => e.Handled = true; image.MouseLeftButtonUp += (o, e) => _selectTestCommand.Execute(testMethod); image.Cursor = Cursors.Hand; image.Tag = coverage.BranchVisitors[groupIndex][index].ToArray(); image.MouseRightButtonDown += (o, e) => e.Handled = true; image.MouseRightButtonUp += OnTestCoverageRightButtonUp; SharedDictionaryManager.InitializeDictionaries(image.Resources.MergedDictionaries); } Canvas.SetLeft(image, geometry.Bounds.Left); Canvas.SetTop(image, geometry.Bounds.Top); _adornmentLayer.AddAdornment(AdornmentPositioningBehavior.TextRelative, span, null, image, null); left += spacing; index++; } groupIndex++; index = 0; left += spacing; } }
private void AddSequenceAdornment(ITextViewLine line, SnapshotSpan span, LineCoverage coverage) { var rect = new Rect(0d, line.Top, _sequenceCoverageLineWidth, line.Height); var geometry = new RectangleGeometry(rect); geometry.Freeze(); var brush = _brushesAndPens[coverage.SequenceCoverageState].Brush; if (coverage.SequenceCoverageState == CoverageState.Covered && coverage.LineVisitors.Any(p => SelectedTests.Contains(p))) { brush = _selectedBrushAndPen.Brush; } var drawing = new GeometryDrawing(brush, null, geometry); drawing.Freeze(); var drawingImage = new DrawingImage(drawing); drawingImage.Freeze(); var toolTip = new StackPanel(); var header = new TextBlock() { Text = string.Format(Resources.VisitorCount, coverage.VisitCount), TextWrapping = TextWrapping.Wrap }; toolTip.Children.Add(header); var image = new Image() { Source = drawingImage, ToolTip = toolTip }; Canvas.SetLeft(image, geometry.Bounds.Left); Canvas.SetTop(image, geometry.Bounds.Top); SharedDictionaryManager.InitializeDictionaries(image.Resources.MergedDictionaries); if (coverage.LineVisitors.Count > 0) { var description = new TextBlock() { Text = string.Join("\r\n", coverage.LineVisitors.Select(p => p.ShortName)), TextWrapping = TextWrapping.Wrap, Opacity = 0.7d }; toolTip.Children.Add(description); image.Tag = coverage.LineVisitors.ToArray(); image.MouseRightButtonDown += (o, e) => e.Handled = true; image.MouseRightButtonUp += OnTestCoverageRightButtonUp; image.MouseLeftButtonDown += (o, e) => e.Handled = true; image.MouseLeftButtonUp += (o, e) => _selectTestCommand.Execute(coverage.LineVisitors.First()); image.Cursor = Cursors.Hand; } _adornmentLayer.AddAdornment(AdornmentPositioningBehavior.TextRelative, span, null, image, null); }
public View() { SharedDictionaryManager.InitializeDictionaries(Resources.MergedDictionaries); ViewModel = ContainerProvider.Container?.Resolve <T>(); Loaded += OnLoaded; }