В настоящее время я реализую System.Activties.Presentation.View.IExpressionEditorService , чтобы предоставить редактор пользовательских выражений.
Проблема в том, что я не знаю, как правильно тестировать метод CreateExpressionEditor , который объявлен интерфейсом, так как первые два параметра являются запечатанными типами, которые я не могу смутить.
Стабилизация также не вариант, так как это потребует от меня правильно настроить их с другими значениями, что в итоге означает, что я также мог бы просто создать экземпляр конструктора рабочего процесса и попытаться получить значения оттуда. Это пахнет чем-то, чего я не должен делать.
Любые подсказки, уловки, указатели очень приветствуются.
С наилучшими пожеланиями,
Даниэль
Интерфейс объявлен следующим образом, я скопировал его из официального справочного источника Microsoft хранилище.
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------
namespace System.Activities.Presentation.View
{
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Controls;
using System.Activities.Presentation.Model;
using System.Activities.Presentation.Hosting;
using System.Windows;
public interface IExpressionEditorService
{
IExpressionEditorInstance CreateExpressionEditor(AssemblyContextControlItem assemblies, ImportedNamespaceContextItem importedNamespaces, List<ModelItem> variables, string text, Type expressionType);
IExpressionEditorInstance CreateExpressionEditor(AssemblyContextControlItem assemblies, ImportedNamespaceContextItem importedNamespaces, List<ModelItem> variables, string text, Type expressionType, Size initialSize);
IExpressionEditorInstance CreateExpressionEditor(AssemblyContextControlItem assemblies, ImportedNamespaceContextItem importedNamespaces, List<ModelItem> variables, string text);
IExpressionEditorInstance CreateExpressionEditor(AssemblyContextControlItem assemblies, ImportedNamespaceContextItem importedNamespaces, List<ModelItem> variables, string text, Size initialSize);
void CloseExpressionEditors(); // Closes all editors
void UpdateContext(AssemblyContextControlItem assemblies, ImportedNamespaceContextItem importedNamespaces);
}
}