diff --git a/Natasha.sln b/Natasha.sln index be2aba79..b04934cb 100644 --- a/Natasha.sln +++ b/Natasha.sln @@ -193,9 +193,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scanner", "scanner", "{B7AA scanner.sh = scanner.sh EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Natasha.CSharp.Compiler", "src\Natasha.CSharp\Natasha.CSharp.Compiler\Natasha.CSharp.Compiler.csproj", "{D7EDD106-B744-4E0C-9CCE-D88F29EBC983}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Natasha.CSharp.Compiler", "src\Natasha.CSharp\Natasha.CSharp.Compiler\Natasha.CSharp.Compiler.csproj", "{D7EDD106-B744-4E0C-9CCE-D88F29EBC983}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Natasha.CSharp.Template", "src\Natasha.CSharp\Natasha.CSharp.Template\Natasha.CSharp.Template.csproj", "{84A54AF4-0683-48D4-B9D2-465B851E1EF1}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Natasha.CSharp.Template", "src\Natasha.CSharp\Natasha.CSharp.Template\Natasha.CSharp.Template.csproj", "{84A54AF4-0683-48D4-B9D2-465B851E1EF1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PluginFunctionUT", "test\ut\PluginFunctionUT\PluginFunctionUT.csproj", "{716B9CEC-8CA2-433F-9E9A-974E536C4099}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -355,6 +357,10 @@ Global {84A54AF4-0683-48D4-B9D2-465B851E1EF1}.Debug|Any CPU.Build.0 = Debug|Any CPU {84A54AF4-0683-48D4-B9D2-465B851E1EF1}.Release|Any CPU.ActiveCfg = Release|Any CPU {84A54AF4-0683-48D4-B9D2-465B851E1EF1}.Release|Any CPU.Build.0 = Release|Any CPU + {716B9CEC-8CA2-433F-9E9A-974E536C4099}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {716B9CEC-8CA2-433F-9E9A-974E536C4099}.Debug|Any CPU.Build.0 = Debug|Any CPU + {716B9CEC-8CA2-433F-9E9A-974E536C4099}.Release|Any CPU.ActiveCfg = Release|Any CPU + {716B9CEC-8CA2-433F-9E9A-974E536C4099}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -422,6 +428,7 @@ Global {B7AA9686-44B7-4170-82B2-BF8E3B892887} = {DD0B729A-C1D5-41E1-AE1B-FE66F4BC651E} {D7EDD106-B744-4E0C-9CCE-D88F29EBC983} = {8C9B862A-B569-460C-8B74-E74C6DF0CAB3} {84A54AF4-0683-48D4-B9D2-465B851E1EF1} = {8C9B862A-B569-460C-8B74-E74C6DF0CAB3} + {716B9CEC-8CA2-433F-9E9A-974E536C4099} = {F4622BCB-C287-4AFE-916B-8C138BD15A3D} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {3004E730-B231-40FA-B75C-58D7DDE17679} diff --git a/src/Natasha.CSharp/Extension/Natasha.CSharp.Extension.Ambiguity/Natasha.CSharp.Extension.Ambiguity.csproj b/src/Natasha.CSharp/Extension/Natasha.CSharp.Extension.Ambiguity/Natasha.CSharp.Extension.Ambiguity.csproj index 5dfd4b5f..a3abf45b 100644 --- a/src/Natasha.CSharp/Extension/Natasha.CSharp.Extension.Ambiguity/Natasha.CSharp.Extension.Ambiguity.csproj +++ b/src/Natasha.CSharp/Extension/Natasha.CSharp.Extension.Ambiguity/Natasha.CSharp.Extension.Ambiguity.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.Compile.cs b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.Compile.cs index dec37db3..d080a655 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.Compile.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.Compile.cs @@ -22,47 +22,59 @@ public sealed partial class AssemblyCSharpBuilder private PluginLoadBehavior _compileAssemblyBehavior; private Func? _referencePickFunc; private Func, IEnumerable>? _referencesFilter; - private bool _combineReferences; - public AssemblyCSharpBuilder WithReferenceCombine() - { - _combineReferences = true; - return this; - } - public AssemblyCSharpBuilder WithoutReferenceCombine() + + private CombineReferenceBehavior _combineReferenceBehavior; + /// + /// 配置编译所需的引用 + /// + /// + /// + public AssemblyCSharpBuilder ConfigReferenceCombineBehavior(CombineReferenceBehavior combineReferenceBehavior) { - _combineReferences = false; + _combineReferenceBehavior = combineReferenceBehavior; return this; } + /// /// 配置主域及当前域的加载行为, Default 使用主域引用, Custom 使用当前域引用 /// /// /// - public AssemblyCSharpBuilder CompileWithReferenceLoadBehavior(PluginLoadBehavior loadBehavior) + public AssemblyCSharpBuilder ConfigReferenceLoadBehavior(PluginLoadBehavior loadBehavior) { _compileReferenceBehavior = loadBehavior; return this; } + /// /// 配置当前域程序集的加载行为 /// /// /// - public AssemblyCSharpBuilder CompileWithAssemblyLoadBehavior(PluginLoadBehavior loadBehavior) + public AssemblyCSharpBuilder ConfigAssemblyLoadBehavior(PluginLoadBehavior loadBehavior) { _compileAssemblyBehavior = loadBehavior; return this; } - public AssemblyCSharpBuilder CompileWithSameNameReferencesFilter(Func? useAssemblyNameFunc = null) + /// + /// 配置引用同名过滤策略 + /// + /// + /// + public AssemblyCSharpBuilder ConfigSameNameReferencesFilter(Func? useAssemblyNameFunc = null) { _referencePickFunc = useAssemblyNameFunc; return this; } - - public AssemblyCSharpBuilder CompileWithReferencesFilter(Func, IEnumerable>? referencesFilter) + /// + /// 配置引用过滤策略 + /// + /// + /// + public AssemblyCSharpBuilder ConfigReferencesFilter(Func, IEnumerable>? referencesFilter) { _referencesFilter = referencesFilter; return this; @@ -100,7 +112,7 @@ public CSharpCompilation GetAvailableCompilation(Func references; - if (_combineReferences) + if (_combineReferenceBehavior == CombineReferenceBehavior.CombineDefault) { references = Domain.GetReferences(_compileReferenceBehavior, _referencePickFunc); } diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.Ouput.Multi.cs b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.Ouput.Multi.cs index 1a87c1c1..36a16c06 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.Ouput.Multi.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.Ouput.Multi.cs @@ -1,5 +1,4 @@ #if MULTI -using System; using System.IO; /// @@ -7,8 +6,7 @@ /// public sealed partial class AssemblyCSharpBuilder { - - public AssemblyCSharpBuilder UseNatashaFileOut(string? folder = null) + public AssemblyCSharpBuilder ConfigOutput(string? folder = null) { if (folder == null) { diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.cs b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.cs index 95c1158e..f7e94f03 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/CompileUnit/AssemblyCSharpBuilder.cs @@ -21,7 +21,7 @@ public AssemblyCSharpBuilder(string assemblyName) { EnableSemanticHandler = true; _semanticCheckIgnoreAccessibility = true; - _combineReferences = true; + _combineReferenceBehavior = CombineReferenceBehavior.CombineDefault; _compileReferenceBehavior = PluginLoadBehavior.UseDefault; _parsingBehavior = UsingLoadBehavior.None; OutputFolder = GlobalOutputFolder; diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/Component/Domain/NatashaReferenceCache.cs b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/Component/Domain/NatashaReferenceCache.cs index a7bc26ab..eb422b28 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/Component/Domain/NatashaReferenceCache.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/Component/Domain/NatashaReferenceCache.cs @@ -8,9 +8,13 @@ using System.IO; using System.Reflection; using System.Reflection.PortableExecutable; +using System.Runtime.CompilerServices; +using System.Text; +[assembly: InternalsVisibleTo("PluginFunctionUT, PublicKey=002400000480000094000000060200000024000052534131000400000100010069acb31dd0d9918441d6ed2b49cd67ae17d15fd6ded4ccd2f99b4a88df8cddacbf72d5897bb54f406b037688d99f482ff1c3088638b95364ef614f01c3f3f2a2a75889aa53286865463fb1803876056c8b98ec57f0b3cf2b1185de63d37041ba08f81ddba0dccf81efcdbdc912032e8d2b0efa21accc96206c386b574b9d9cb8")] namespace Natasha.CSharp.Component { + //与元数据相关 //数据值与程序集及内存相关 public sealed class NatashaReferenceCache @@ -38,6 +42,7 @@ public void AddReference(AssemblyName assemblyName, MetadataReference reference, if (assemblyName.CompareWithDefault(oldAssemblyName, loadReferenceBehavior) == AssemblyLoadVersionResult.UseCustomer) { _referenceCache!.Remove(oldAssemblyName); + _referenceNameCache!.Remove(name); } else { @@ -95,13 +100,14 @@ internal HashSet CombineWithDefaultReferences(NatashaReferenc var sets = new HashSet(_referenceCache.Values); var excludeNods = new HashSet(); var defaultReferences = defaultCache._referenceCache; - var defaultNameReferences = defaultCache._referenceNameCache; ; + var defaultNameReferences = defaultCache._referenceNameCache; if (loadBehavior != PluginLoadBehavior.None || useAssemblyNameFunc != null) { foreach (var item in _referenceNameCache) { if (defaultNameReferences.TryGetValue(item.Key, out var defaultAssemblyName)) { + AssemblyLoadVersionResult funcResult; if (useAssemblyNameFunc != null) { @@ -128,7 +134,9 @@ internal HashSet CombineWithDefaultReferences(NatashaReferenc } } } + //全部引用 sets.UnionWith(defaultReferences.Values); + //排除不符合的引用 sets.ExceptWith(excludeNods); return sets; } diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/Component/Domain/NatashaReferenceDomain.cs b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/Component/Domain/NatashaReferenceDomain.cs index 70bdbb17..2e8bda3c 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/Component/Domain/NatashaReferenceDomain.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/Component/Domain/NatashaReferenceDomain.cs @@ -74,7 +74,7 @@ private void NatashaReferenceDomain_LoadAssemblyReferenceWithStream(Assembly ass } else { - DefaultUsing.AddUsing(assembly); + UsingRecorder.Using(assembly); } //UsingRecorder.Using(assembly); diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/NatashaInitializer.cs b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/NatashaInitializer.cs index f11fcfb8..164b3621 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/NatashaInitializer.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/NatashaInitializer.cs @@ -187,7 +187,7 @@ private unsafe static ParallelLoopResult InitUsingFromPath(IEnumerable p }); } - private unsafe static ParallelLoopResult InitReferenceFromPath(IEnumerable paths) + internal unsafe static ParallelLoopResult InitReferenceFromPath(IEnumerable paths) { var resolver = new PathAssemblyResolver(paths); using var mlc = new MetadataLoadContext(resolver); diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/NatashaManagement.cs b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/NatashaManagement.cs index 3c8e312d..3f1f886b 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/NatashaManagement.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/MultiDomain/NatashaManagement.cs @@ -1,10 +1,9 @@ # if MULTI using System; - +using System.Threading.Tasks; public static partial class NatashaManagement { - /// /// 获取系统域 /// @@ -47,6 +46,11 @@ public static bool AddGlobalReference(Type type, PluginLoadBehavior loadBehavior return true; } + public static ParallelLoopResult AddGlobalReference(params string[] filePath) + { + return NatashaInitializer.InitReferenceFromPath(filePath); + } + /// /// 移除元数据引用,编译需要元数据支持. /// diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/Natasha.CSharp.Compiler.csproj b/src/Natasha.CSharp/Natasha.CSharp.Compiler/Natasha.CSharp.Compiler.csproj index e59ead60..6651e2ea 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Compiler/Natasha.CSharp.Compiler.csproj +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/Natasha.CSharp.Compiler.csproj @@ -1,7 +1,7 @@ - netstandard2.0;netcoreapp3.1;net5.0;net6.0;net7.0 + netstandard2.0;netcoreapp3.1;net5.0;net6.0;net7.0; Natasha 的 C# 版编译器 DotNetCore.Natasha.CSharp.Compiler 升级到最新版. diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/Public/CompileUnit/AssemblyCSharpBuilder.Ouput.cs b/src/Natasha.CSharp/Natasha.CSharp.Compiler/Public/CompileUnit/AssemblyCSharpBuilder.Ouput.cs index 450742aa..90516eb5 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Compiler/Public/CompileUnit/AssemblyCSharpBuilder.Ouput.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/Public/CompileUnit/AssemblyCSharpBuilder.Ouput.cs @@ -32,6 +32,17 @@ public AssemblyCSharpBuilder SetAssemblyName(string asmName) AssemblyName = asmName; return this; } + + public AssemblyCSharpBuilder ConfigOutput(string dllFilePath, string pdbFilePath, string? xmlFilePath = null) + { + DllFilePath = dllFilePath; + PdbFilePath = pdbFilePath; + if (xmlFilePath != null) + { + XmlFilePath = xmlFilePath; + } + return this; + } #endregion } diff --git a/src/Natasha.CSharp/Natasha.CSharp.Compiler/Public/Component/Compiler/Model/CombineReferenceBehavior.cs b/src/Natasha.CSharp/Natasha.CSharp.Compiler/Public/Component/Compiler/Model/CombineReferenceBehavior.cs new file mode 100644 index 00000000..474bcf97 --- /dev/null +++ b/src/Natasha.CSharp/Natasha.CSharp.Compiler/Public/Component/Compiler/Model/CombineReferenceBehavior.cs @@ -0,0 +1,6 @@ +public enum CombineReferenceBehavior +{ + CombineDefault, + UseCurrent +} + diff --git a/src/Natasha.CSharp/Natasha.CSharp.Template/MultiDomain/Standard/GlobalUsingTemplate.cs b/src/Natasha.CSharp/Natasha.CSharp.Template/MultiDomain/Standard/GlobalUsingTemplate.cs index 11974d52..5e5a4bf4 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Template/MultiDomain/Standard/GlobalUsingTemplate.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Template/MultiDomain/Standard/GlobalUsingTemplate.cs @@ -1,4 +1,5 @@ #if MULTI +using System.Diagnostics; using System.Text; namespace Natasha.CSharp.Template diff --git a/src/Natasha.CSharp/Natasha.CSharp.Template/Natasha.CSharp.Template.csproj b/src/Natasha.CSharp/Natasha.CSharp.Template/Natasha.CSharp.Template.csproj index 127830ed..b9d87cd2 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Template/Natasha.CSharp.Template.csproj +++ b/src/Natasha.CSharp/Natasha.CSharp.Template/Natasha.CSharp.Template.csproj @@ -1,7 +1,7 @@ - netstandard2.0;netcoreapp3.1;net5.0;net6.0;net7.0 + netstandard2.0;netcoreapp3.1;net5.0;net6.0;net7.0; Natasha 的编译模板 DotNetCore.Natasha.CSharp.Template 升级到最新版. diff --git a/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Extension/Inner/StopwatchExtension.cs b/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Extension/Inner/StopwatchExtension.cs new file mode 100644 index 00000000..b84e1c1e --- /dev/null +++ b/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Extension/Inner/StopwatchExtension.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Concurrent; +using System.Diagnostics; + + +internal static class StopwatchExtension +{ + private static readonly ConcurrentDictionary _colorCache; + static StopwatchExtension() + { + _colorCache = new ConcurrentDictionary(); + _colorCache[new ScoreRange(0, 20)] = ConsoleColor.Green; + _colorCache[new ScoreRange(20, 100)] = ConsoleColor.Cyan; + _colorCache[new ScoreRange(100, 500)] = ConsoleColor.Yellow; + _colorCache[new ScoreRange(500, 1000)] = ConsoleColor.Magenta; + _colorCache[new ScoreRange(1000, 100000)] = ConsoleColor.Red; + } + internal static void StopAndShowCategoreInfo(this Stopwatch stopwatch, string nodeName, string info, int level) + { + stopwatch.Stop(); + ShowCategoreInfo(stopwatch, nodeName, info, level); + } + + + internal static void RestartAndShowCategoreInfo(this Stopwatch stopwatch, string nodeName, string info, int level) + { + stopwatch.Stop(); + ShowCategoreInfo(stopwatch, nodeName, info, level); + stopwatch.Restart(); + } + + + + internal static void ShowCategoreInfo(Stopwatch stopwatch, string nodeName, string info, int level) + { + var color = Console.ForegroundColor; + foreach (var item in _colorCache) + { + if (item.Key.IsInRange(stopwatch.ElapsedMilliseconds)) + { + Console.ForegroundColor = item.Value; + for (int i = 0; i < level; i += 1) + { + Console.Write("\t"); + } + Console.WriteLine($"---{nodeName}\t{info} : {stopwatch.ElapsedMilliseconds}ms"); + } + } + Console.ForegroundColor = color; + } + + + + /// + /// 设置颜色等级 + /// + /// + /// + /// + /// + internal static Stopwatch SetLevel(this Stopwatch stopwatch, ScoreRange scoreRange, ConsoleColor color) + { + _colorCache[scoreRange] = color; + return stopwatch; + } +} + +/// +/// 分数模型 +/// +internal class ScoreRange +{ + private readonly long _min; + private readonly long _max; + + internal ScoreRange(long min, long max) + { + _min = min; + _max = max; + } + /// + /// 判断得分是否在范围内 + /// + /// + /// + internal bool IsInRange(long score) + { + return _min <= score && score <= _max; + } +} + diff --git a/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Oop/Extension/OopDefinedTypeExtension.cs b/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Oop/Extension/OopDefinedTypeExtension.cs index 398ba5fe..557da961 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Oop/Extension/OopDefinedTypeExtension.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Oop/Extension/OopDefinedTypeExtension.cs @@ -1,4 +1,6 @@ -namespace Natasha.CSharp.Template +using Natasha.CSharp.Template; + +namespace Natasha.CSharp { public static class OopDefinedTypeExtension diff --git a/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Oop/FlagTemplate.cs b/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Oop/FlagTemplate.cs index 6b639200..9375152a 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Oop/FlagTemplate.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Oop/FlagTemplate.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Reflection; using System.Text; +using System.Runtime.CompilerServices; namespace Natasha.CSharp.Template { diff --git a/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Utils/IgnoresAccessChecksToAttribute.cs b/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Utils/IgnoresAccessChecksToAttribute.cs index b86b607d..169c0d1c 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Utils/IgnoresAccessChecksToAttribute.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Template/Public/Utils/IgnoresAccessChecksToAttribute.cs @@ -1,5 +1,4 @@ -using System; -namespace Natasha.CSharp.Template +namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] public class IgnoresAccessChecksToAttribute : Attribute diff --git a/src/Natasha.CSharp/Natasha.CSharp.Template/SingleDomain/Standard/GlobalUsingTemplate.cs b/src/Natasha.CSharp/Natasha.CSharp.Template/SingleDomain/Standard/GlobalUsingTemplate.cs index f6b01cc7..bbf63251 100644 --- a/src/Natasha.CSharp/Natasha.CSharp.Template/SingleDomain/Standard/GlobalUsingTemplate.cs +++ b/src/Natasha.CSharp/Natasha.CSharp.Template/SingleDomain/Standard/GlobalUsingTemplate.cs @@ -1,4 +1,5 @@ #if !MULTI +using System.Diagnostics; using System.Text; namespace Natasha.CSharp.Template diff --git a/src/Natasha.Domain/Core/NatashaDomain.Default.cs b/src/Natasha.Domain/Core/NatashaDomain.Default.cs index 0f6437f5..7fd21cca 100644 --- a/src/Natasha.Domain/Core/NatashaDomain.Default.cs +++ b/src/Natasha.Domain/Core/NatashaDomain.Default.cs @@ -2,11 +2,14 @@ using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Loader; +using System.Text; using System.Threading; +using System.Xml.Linq; public partial class NatashaDomain : AssemblyLoadContext @@ -84,26 +87,31 @@ private static void CheckAndIncrmentAssemblies() { if (GetLock()) { - var assemblies = Default.Assemblies; + + var assemblies = DefaultDomain.Assemblies; var count = assemblies.Count(); if (count != _preDefaultAssemblyCount) { _preDefaultAssemblyCount = count; - HashSet checkAsm = new(Default.Assemblies); - checkAsm.ExceptWith(_defaultAssembliesSets); - foreach (var item in checkAsm) + HashSet checkAsm = new(DefaultDomain.Assemblies); + lock (_defaultAssembliesSets) { - var asmName = item.GetName(); - if (_excludeDefaultAssembliesFunc(asmName,asmName.Name)) + checkAsm.ExceptWith(_defaultAssembliesSets); + foreach (var item in checkAsm) { + + var asmName = item.GetName(); + if (_excludeDefaultAssembliesFunc(asmName, asmName.Name)) + { #if DEBUG - System.Diagnostics.Debug.WriteLine("[排除程序集]:" + asmName.FullName); + System.Diagnostics.Debug.WriteLine("[排除程序集]:" + asmName.FullName); #endif - } - else - { - _defaultAssemblyNameCache[asmName.GetUniqueName()] = asmName; - _defaultAssembliesSets.Add(item); + } + else + { + _defaultAssemblyNameCache[asmName.GetUniqueName()] = asmName; + _defaultAssembliesSets.Add(item); + } } } } diff --git a/src/Natasha.Domain/Core/NatashaDomain.Load.cs b/src/Natasha.Domain/Core/NatashaDomain.Load.cs index f7b71c85..3f817a7d 100644 --- a/src/Natasha.Domain/Core/NatashaDomain.Load.cs +++ b/src/Natasha.Domain/Core/NatashaDomain.Load.cs @@ -86,7 +86,7 @@ public virtual Assembly LoadAssemblyFromFile(string path) /// 库文件流 /// 符号流 /// - public virtual Assembly LoadAssemblyFromStream(Stream dllStream,Stream? pdbStream) + public virtual Assembly LoadAssemblyFromStream(Stream dllStream, Stream? pdbStream) { using (dllStream) { @@ -121,6 +121,7 @@ public virtual Assembly LoadAssemblyFromStream(Stream dllStream,Stream? pdbStrea if (_assemblyLoadBehavior != PluginLoadBehavior.None && Name != "Default") { var name = assemblyName.GetUniqueName(); + if (_defaultAssemblyNameCache.TryGetValue(name!, out var defaultCacheName)) { if (assemblyName.CompareWithDefault(defaultCacheName, _assemblyLoadBehavior) == AssemblyLoadVersionResult.UseDefault) @@ -128,6 +129,7 @@ public virtual Assembly LoadAssemblyFromStream(Stream dllStream,Stream? pdbStrea return null; } } + //var asm = this.LoadFromAssemblyName(assemblyName);//死循环代码 } var result = _excludePluginReferencesFunc(assemblyName); @@ -168,12 +170,12 @@ protected override IntPtr LoadUnmanagedDll(string unmanagedDllName) //var result = _excludeAssembliesFunc == null ? false : _excludeAssembliesFunc(unmanagedDllName); //if (!result) //{ - string? libraryPath = _dependencyResolver!.ResolveUnmanagedDllToPath(unmanagedDllName); - if (libraryPath != null && File.Exists(libraryPath)) - { - return LoadUnmanagedDllFromPath(libraryPath); - } - //} + string? libraryPath = _dependencyResolver!.ResolveUnmanagedDllToPath(unmanagedDllName); + if (libraryPath != null && File.Exists(libraryPath)) + { + return LoadUnmanagedDllFromPath(libraryPath); + } + //} return IntPtr.Zero; } diff --git a/src/Natasha.Domain/Core/NatashaDomain.cs b/src/Natasha.Domain/Core/NatashaDomain.cs index ec2b14db..00e393ca 100644 --- a/src/Natasha.Domain/Core/NatashaDomain.cs +++ b/src/Natasha.Domain/Core/NatashaDomain.cs @@ -3,8 +3,8 @@ using System.Runtime.Loader; - -[assembly: InternalsVisibleTo("NatashaFunctionUT, PublicKey=002400000480000094000000060200000024000052534131000400000100010069acb31dd0d9918441d6ed2b49cd67ae17d15fd6ded4ccd2f99b4a88df8cddacbf72d5897bb54f406b037688d99f482ff1c3088638b95364ef614f01c3f3f2a2a75889aa53286865463fb1803876056c8b98ec57f0b3cf2b1185de63d37041ba08f81ddba0dccf81efcdbdc912032e8d2b0efa21accc96206c386b574b9d9cb8")] +[assembly:InternalsVisibleTo("NatashaFunctionUT, PublicKey=002400000480000094000000060200000024000052534131000400000100010069acb31dd0d9918441d6ed2b49cd67ae17d15fd6ded4ccd2f99b4a88df8cddacbf72d5897bb54f406b037688d99f482ff1c3088638b95364ef614f01c3f3f2a2a75889aa53286865463fb1803876056c8b98ec57f0b3cf2b1185de63d37041ba08f81ddba0dccf81efcdbdc912032e8d2b0efa21accc96206c386b574b9d9cb8")] +[assembly: InternalsVisibleTo("PluginFunctionUT, PublicKey=002400000480000094000000060200000024000052534131000400000100010069acb31dd0d9918441d6ed2b49cd67ae17d15fd6ded4ccd2f99b4a88df8cddacbf72d5897bb54f406b037688d99f482ff1c3088638b95364ef614f01c3f3f2a2a75889aa53286865463fb1803876056c8b98ec57f0b3cf2b1185de63d37041ba08f81ddba0dccf81efcdbdc912032e8d2b0efa21accc96206c386b574b9d9cb8" )] /// /// Natasha域实现 /// C# 的引用代码是通过 Using 来完成的,该域实现增加了 Using 记录 diff --git a/src/Natasha.Domain/Natasha.Domain.csproj b/src/Natasha.Domain/Natasha.Domain.csproj index 548e2bd0..457830d2 100644 --- a/src/Natasha.Domain/Natasha.Domain.csproj +++ b/src/Natasha.Domain/Natasha.Domain.csproj @@ -26,5 +26,6 @@ + diff --git a/test/ut/FrameworkFunctionUT/FrameworkFunctionUT.csproj b/test/ut/FrameworkFunctionUT/FrameworkFunctionUT.csproj index 7e9bcb89..ac9451b3 100644 --- a/test/ut/FrameworkFunctionUT/FrameworkFunctionUT.csproj +++ b/test/ut/FrameworkFunctionUT/FrameworkFunctionUT.csproj @@ -24,7 +24,7 @@ - + diff --git a/test/ut/NatashaFunctionUT/Compile/CompileInSameDomainTest.cs b/test/ut/NatashaFunctionUT/Compile/CompileInSameDomainTest.cs index 651a16be..8808ba07 100644 --- a/test/ut/NatashaFunctionUT/Compile/CompileInSameDomainTest.cs +++ b/test/ut/NatashaFunctionUT/Compile/CompileInSameDomainTest.cs @@ -56,7 +56,7 @@ public void DDReferenceCompile() AssemblyCSharpBuilder builder1 = new(); builder1.Add(DefaultUsing.UsingScript + "namespace TestA{ public class A { public string Name = \"Hello\"; public static NatashaUsingCache Get(){ return null;} }}"); var assemblyA = builder1 - .CompileWithReferenceLoadBehavior(PluginLoadBehavior.UseDefault) + .ConfigReferenceLoadBehavior(PluginLoadBehavior.UseDefault) .GetAssembly(); var typeA = assemblyA.GetTypes().Where(item => item.Name == "A").First(); var objA = Activator.CreateInstance(typeA); @@ -69,7 +69,7 @@ public void DDReferenceCompile() AssemblyCSharpBuilder builder2 = new(); builder2.Add(DefaultUsing.UsingScript + "namespace TestB{ public class A { public string Name = \"Hello\"; public static NatashaUsingCache Get(){ return null;} }}"); var assemblyB = builder2 - .CompileWithReferenceLoadBehavior(PluginLoadBehavior.None) + .ConfigReferenceLoadBehavior(PluginLoadBehavior.None) .GetAssembly(); var typeB = assemblyB.GetTypes().Where(item => item.Name == "A").First(); var objB = Activator.CreateInstance(typeB); diff --git a/test/ut/NatashaFunctionUT/DomainPrepare.cs b/test/ut/NatashaFunctionUT/DomainPrepare.cs new file mode 100644 index 00000000..992776a4 --- /dev/null +++ b/test/ut/NatashaFunctionUT/DomainPrepare.cs @@ -0,0 +1,32 @@ +using Microsoft.CodeAnalysis; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Runtime.Loader; + + +public class DomainPrepare +{ + + protected static readonly int DefaultAssembliesCount; + protected static readonly int DefaultUsingCount; + protected static string _runtimeVersion; + static DomainPrepare() + { + +#if NETCOREAPP3_1 + _runtimeVersion = "netcoreapp3.1"; +#elif NET5_0 + _runtimeVersion = "net5.0"; +#elif NET6_0 + _runtimeVersion = "net6.0"; +#elif NET7_0_OR_GREATER + _runtimeVersion = "net7.0"; +#endif + DefaultAssembliesCount = AssemblyLoadContext.Default.Assemblies.Count(); + Unsafe.SizeOf(); + NatashaInitializer.Preheating((item, name) => name!.Contains("IO"), true, false); + DefaultUsingCount = DefaultUsing.Count; + } + +} + diff --git a/test/ut/NatashaFunctionUT/NatashaFunctionUT.csproj b/test/ut/NatashaFunctionUT/NatashaFunctionUT.csproj index da0dd2c7..0d6fe1b2 100644 --- a/test/ut/NatashaFunctionUT/NatashaFunctionUT.csproj +++ b/test/ut/NatashaFunctionUT/NatashaFunctionUT.csproj @@ -14,15 +14,15 @@ - - + + - + runtime; build; native; contentfiles; analyzers; buildtransitive all @@ -33,9 +33,7 @@ - - - + @@ -53,1287 +51,9 @@ Always - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - PreserveNewest - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - Always - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - diff --git a/test/ut/NatashaFunctionUT/Reverser/AccessReverserTest.cs b/test/ut/NatashaFunctionUT/Reverser/AccessReverserTest.cs index 5d6b83f4..b2f4ebc9 100644 --- a/test/ut/NatashaFunctionUT/Reverser/AccessReverserTest.cs +++ b/test/ut/NatashaFunctionUT/Reverser/AccessReverserTest.cs @@ -1,4 +1,4 @@ -using Natasha.CSharp.Reverser; +using Natasha.CSharp.Template.Reverser; using System; using System.Collections.Generic; using System.Reflection; diff --git a/test/ut/NatashaFunctionUT/Reverser/CanOvverideMethodReverserTest.cs b/test/ut/NatashaFunctionUT/Reverser/CanOvverideMethodReverserTest.cs index 83c85269..b03907af 100644 --- a/test/ut/NatashaFunctionUT/Reverser/CanOvverideMethodReverserTest.cs +++ b/test/ut/NatashaFunctionUT/Reverser/CanOvverideMethodReverserTest.cs @@ -1,4 +1,4 @@ -using Natasha.CSharp.Reverser; +using Natasha.CSharp.Template.Reverser; using System; using System.Reflection; using System.Threading.Tasks; diff --git a/test/ut/NatashaFunctionUT/Reverser/GenericConstraintReverserTest.cs b/test/ut/NatashaFunctionUT/Reverser/GenericConstraintReverserTest.cs index a65b3232..d3279fe5 100644 --- a/test/ut/NatashaFunctionUT/Reverser/GenericConstraintReverserTest.cs +++ b/test/ut/NatashaFunctionUT/Reverser/GenericConstraintReverserTest.cs @@ -1,4 +1,4 @@ -using Natasha.CSharp.Reverser; +using Natasha.CSharp.Template.Reverser; using Xunit; namespace NatashaFunctionUT.Reverser diff --git a/test/ut/NatashaFunctionUT/Reverser/ModifierReverserTest.cs b/test/ut/NatashaFunctionUT/Reverser/ModifierReverserTest.cs index 360f641f..0a9c2d66 100644 --- a/test/ut/NatashaFunctionUT/Reverser/ModifierReverserTest.cs +++ b/test/ut/NatashaFunctionUT/Reverser/ModifierReverserTest.cs @@ -1,4 +1,4 @@ -using Natasha.CSharp.Reverser; +using Natasha.CSharp.Template.Reverser; using System; using System.Reflection; using System.Threading.Tasks; diff --git a/test/ut/NatashaFunctionUT/Reverser/NullableReverserTest.cs b/test/ut/NatashaFunctionUT/Reverser/NullableReverserTest.cs index 0d38f045..74ba8296 100644 --- a/test/ut/NatashaFunctionUT/Reverser/NullableReverserTest.cs +++ b/test/ut/NatashaFunctionUT/Reverser/NullableReverserTest.cs @@ -1,4 +1,4 @@ -using Natasha.CSharp.Reverser; +using Natasha.CSharp.Template.Reverser; using System; using System.Collections.Generic; using System.Linq; diff --git a/test/ut/NatashaFunctionUT/Special/Readonly/ReadonlyTest.cs b/test/ut/NatashaFunctionUT/Special/Readonly/ReadonlyTest.cs index 3011a1c3..7bf42786 100644 --- a/test/ut/NatashaFunctionUT/Special/Readonly/ReadonlyTest.cs +++ b/test/ut/NatashaFunctionUT/Special/Readonly/ReadonlyTest.cs @@ -1,4 +1,5 @@ -using Xunit; +using System.Runtime.CompilerServices; +using Xunit; namespace NatashaFunctionUT.Special { @@ -10,10 +11,10 @@ public class ReadonlyTest : DomainPrepare [Fact(DisplayName = "私有只读成员动态赋值")] public void Test() { - var action = NDelegate .RandomDomain(builder => builder.ConfigCompilerOption(opt => opt.SetCompilerFlag(Natasha.CSharp.Compiler.CompilerBinderFlags.IgnoreAccessibility | Natasha.CSharp.Compiler.CompilerBinderFlags.IgnoreCorLibraryDuplicatedTypes))) - .ConfigClass(item => item.AllowPrivate()) + .ConfigClass(item => item + .AllowPrivate()) .Action($"{"obj.@interface".ToReadonlyScript()} = new DefaultReadolyInterface();"); ReadonlyModel model = new ReadonlyModel(); diff --git a/test/ut/NatashaFunctionUT/Compile/CompilePrepare.cs b/test/ut/PluginFunctionUT/Compile/CompilePrepare.cs similarity index 90% rename from test/ut/NatashaFunctionUT/Compile/CompilePrepare.cs rename to test/ut/PluginFunctionUT/Compile/CompilePrepare.cs index fe1836f8..f0535ff1 100644 --- a/test/ut/NatashaFunctionUT/Compile/CompilePrepare.cs +++ b/test/ut/PluginFunctionUT/Compile/CompilePrepare.cs @@ -30,8 +30,8 @@ internal static (string name,string currentName,bool compileSucceed) CompileMeta try { var assembly = builder - .CompileWithReferenceLoadBehavior(referenceLoadBehavior) - .CompileWithAssemblyLoadBehavior(PluginLoadBehavior.UseDefault) + .ConfigReferenceLoadBehavior(referenceLoadBehavior) + .ConfigAssemblyLoadBehavior(PluginLoadBehavior.UseDefault) .GetAssembly(); return (name!, currentName!, true); } diff --git a/test/ut/NatashaFunctionUT/Compile/CompileReferencesTest.cs b/test/ut/PluginFunctionUT/Compile/CompileReferencesTest.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Compile/CompileReferencesTest.cs rename to test/ut/PluginFunctionUT/Compile/CompileReferencesTest.cs diff --git a/test/ut/NatashaFunctionUT/Domain/DomainPrepare.cs b/test/ut/PluginFunctionUT/Domain/DomainPrepare.cs similarity index 84% rename from test/ut/NatashaFunctionUT/Domain/DomainPrepare.cs rename to test/ut/PluginFunctionUT/Domain/DomainPrepare.cs index b32c43c2..a4b5953a 100644 --- a/test/ut/NatashaFunctionUT/Domain/DomainPrepare.cs +++ b/test/ut/PluginFunctionUT/Domain/DomainPrepare.cs @@ -1,5 +1,4 @@ using Microsoft.CodeAnalysis; -using NatashaFunctionUT.Domain.Load; using System.Linq; using System.Runtime.Loader; @@ -13,16 +12,17 @@ public class DomainPrepare static DomainPrepare() { - var domain = new TestDomain(); #if NETCOREAPP3_1 _runtimeVersion = "netcoreapp3.1"; #elif NET5_0 _runtimeVersion = "net5.0"; -#elif NET6_0_OR_GREATER +#elif NET6_0 _runtimeVersion = "net6.0"; +#elif NET7_0_OR_GREATER + _runtimeVersion = "net7.0"; #endif DefaultAssembliesCount = AssemblyLoadContext.Default.Assemblies.Count(); - NatashaInitializer.Preheating((item, name) => name!.Contains("IO"),false, true); + NatashaInitializer.Preheating((item, name) => name!.Contains("IO"), true, false); DefaultUsingCount = DefaultUsing.Count; } diff --git a/test/ut/NatashaFunctionUT/Domain/Load/TestDomain.cs b/test/ut/PluginFunctionUT/Domain/Load/TestDomain.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Load/TestDomain.cs rename to test/ut/PluginFunctionUT/Domain/Load/TestDomain.cs diff --git a/test/ut/NatashaFunctionUT/Domain/Load/UnloadTest.cs b/test/ut/PluginFunctionUT/Domain/Load/UnloadTest.cs similarity index 91% rename from test/ut/NatashaFunctionUT/Domain/Load/UnloadTest.cs rename to test/ut/PluginFunctionUT/Domain/Load/UnloadTest.cs index 89de93d6..30f502c0 100644 --- a/test/ut/NatashaFunctionUT/Domain/Load/UnloadTest.cs +++ b/test/ut/PluginFunctionUT/Domain/Load/UnloadTest.cs @@ -1,11 +1,8 @@ using PluginBase; using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.CompilerServices; -using System.Text; -using System.Threading.Tasks; using Xunit; namespace NatashaFunctionUT.Domain.Load @@ -45,17 +42,17 @@ public static void ContextAndUnload() [MethodImpl(MethodImplOptions.NoInlining)] public static string LoadPluginAndUnload() { + var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory!, "Domain", "Reference", "Libraries", "DNDV1.dll"); NatashaDomain? domain = default; using (DomainManagement.Create("au_test_plugin").CreateScope()) { domain = DomainManagement.CurrentDomain; - var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory!,"Domain", "Reference", "Libraries", "DNDV1.dll"); + Assert.Equal("au_test_plugin", domain.Name); var assembly = domain.LoadPluginWithHighDependency(path, item => item.Name != null && item.Name.Contains("PluginBase")); var type = assembly.GetTypes().Where(item => item.Name == "P1").First(); IPluginBase plugin = (IPluginBase)(Activator.CreateInstance(type)!); //强制加载所有引用 var result = plugin!.PluginMethod1(); - Assert.Equal("au_test_plugin", domain.Name); } domain.Dispose(); return "au_test_plugin"; @@ -64,7 +61,7 @@ public static string LoadPluginAndUnload() [Fact(DisplayName = "域的清理与卸载")] public static void ClearAndUnload() { - + var name = LoadPluginAndUnload(); for (int i = 0; i < 6; i++) { diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/DNDV1.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/ref/DNDV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/ref/DNDV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/ref/DNDV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/ref/DNDV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/DNDV1.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/ref/DNDV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/ref/DNDV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/ref/DNDV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/ref/DNDV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/DNDV1.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/DNDV2.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/ref/DNDV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/ref/DNDV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net5.0/ref/DNDV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net5.0/ref/DNDV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/DNDV2.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/ref/DNDV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/ref/DNDV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/net6.0/ref/DNDV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/net6.0/ref/DNDV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/DNDV2.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/2/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/DNDVTest.cs b/test/ut/PluginFunctionUT/Domain/Plugin/DNDV/DNDVTest.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNDV/DNDVTest.cs rename to test/ut/PluginFunctionUT/Domain/Plugin/DNDV/DNDVTest.cs diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/DNSV1.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/ref/DNSV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/ref/DNSV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net5.0/ref/DNSV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net5.0/ref/DNSV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/DNSV1.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/ref/DNSV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/ref/DNSV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/net6.0/ref/DNSV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/net6.0/ref/DNSV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/DNSV1.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/1/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/DNSV2.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/ref/DNSV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/ref/DNSV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net5.0/ref/DNSV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net5.0/ref/DNSV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/DNSV2.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/ref/DNSV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/ref/DNSV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/net6.0/ref/DNSV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/net6.0/ref/DNSV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/DNSV2.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/2/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/DNSVTest.cs b/test/ut/PluginFunctionUT/Domain/Plugin/DNSV/DNSVTest.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/DNSV/DNSVTest.cs rename to test/ut/PluginFunctionUT/Domain/Plugin/DNSV/DNSVTest.cs diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/PluginPrepare.cs b/test/ut/PluginFunctionUT/Domain/Plugin/PluginPrepare.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/PluginPrepare.cs rename to test/ut/PluginFunctionUT/Domain/Plugin/PluginPrepare.cs diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/SNDVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/ref/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/ref/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/ref/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/ref/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/SNDVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/ref/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/ref/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/ref/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/ref/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/SNDVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/SNDVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/ref/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/ref/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/ref/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net5.0/ref/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/SNDVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/ref/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/ref/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/ref/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/net6.0/ref/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/2/netcoreapp3.1/SNDVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/SNDVDVTest.cs b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/SNDVDVTest.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVDV/SNDVDVTest.cs rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVDV/SNDVDVTest.cs diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/SNDVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/ref/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/ref/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/ref/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/ref/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/SNDVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/ref/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/ref/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/ref/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/ref/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/SNDVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/SNDVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/ref/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/ref/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/ref/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/ref/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/SNDVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/ref/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/ref/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/ref/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/ref/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/SNDVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/2/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/SNDVSVTest.cs b/test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/SNDVSVTest.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNDVSV/SNDVSVTest.cs rename to test/ut/PluginFunctionUT/Domain/Plugin/SNDVSV/SNDVSVTest.cs diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/SNIVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/ref/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/ref/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/ref/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/ref/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net5.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/SNIVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/ref/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/ref/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/ref/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/ref/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/net6.0/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/SNIVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/1/netcoreapp3.1/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/SNIVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/ref/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/ref/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/ref/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net5.0/ref/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/SNIVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/ref/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/ref/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/ref/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/net6.0/ref/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/2/netcoreapp3.1/SNIVDV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/SNIVDVTest.cs b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/SNIVDVTest.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVDV/SNIVDVTest.cs rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVDV/SNIVDVTest.cs diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/SNIVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/ref/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/ref/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/ref/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net5.0/ref/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/SNIVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/ref/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/ref/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/ref/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/net6.0/ref/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/1/netcoreapp3.1/SNIVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/SNIVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/ref/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/ref/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/ref/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net5.0/ref/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/SNIVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/ref/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/ref/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/ref/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/net6.0/ref/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.deps.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.deps.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.dll b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.dll rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/2/netcoreapp3.1/SNIVSV.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/SNIVSVTest.cs b/test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/SNIVSVTest.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/SNIVSV/SNIVSVTest.cs rename to test/ut/PluginFunctionUT/Domain/Plugin/SNIVSV/SNIVSVTest.cs diff --git a/test/ut/NatashaFunctionUT/Domain/Plugin/Utils/PulginHelper.cs b/test/ut/PluginFunctionUT/Domain/Plugin/Utils/PluginHelper.cs similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Plugin/Utils/PulginHelper.cs rename to test/ut/PluginFunctionUT/Domain/Plugin/Utils/PluginHelper.cs diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net5.0/MetadataDiff.deps.json b/test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net5.0/MetadataDiff.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net5.0/MetadataDiff.deps.json rename to test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net5.0/MetadataDiff.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net5.0/MetadataDiff.dll b/test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net5.0/MetadataDiff.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net5.0/MetadataDiff.dll rename to test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net5.0/MetadataDiff.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net5.0/ref/MetadataDiff.dll b/test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net5.0/ref/MetadataDiff.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net5.0/ref/MetadataDiff.dll rename to test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net5.0/ref/MetadataDiff.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net6.0/MetadataDiff.deps.json b/test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net6.0/MetadataDiff.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net6.0/MetadataDiff.deps.json rename to test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net6.0/MetadataDiff.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net6.0/MetadataDiff.dll b/test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net6.0/MetadataDiff.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net6.0/MetadataDiff.dll rename to test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net6.0/MetadataDiff.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net6.0/ref/MetadataDiff.dll b/test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net6.0/ref/MetadataDiff.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/net6.0/ref/MetadataDiff.dll rename to test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/net6.0/ref/MetadataDiff.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/netcoreapp3.1/MetadataDiff.deps.json b/test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/netcoreapp3.1/MetadataDiff.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/netcoreapp3.1/MetadataDiff.deps.json rename to test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/netcoreapp3.1/MetadataDiff.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/netcoreapp3.1/MetadataDiff.dll b/test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/netcoreapp3.1/MetadataDiff.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/1.0.0.0/netcoreapp3.1/MetadataDiff.dll rename to test/ut/PluginFunctionUT/Domain/Reference/1.0.0.0/netcoreapp3.1/MetadataDiff.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/GlobalReferenceTest.cs b/test/ut/PluginFunctionUT/Domain/Reference/GlobalReferenceTest.cs similarity index 98% rename from test/ut/NatashaFunctionUT/Domain/Reference/GlobalReferenceTest.cs rename to test/ut/PluginFunctionUT/Domain/Reference/GlobalReferenceTest.cs index 4c5c9f17..8dbae345 100644 --- a/test/ut/NatashaFunctionUT/Domain/Reference/GlobalReferenceTest.cs +++ b/test/ut/PluginFunctionUT/Domain/Reference/GlobalReferenceTest.cs @@ -3,10 +3,13 @@ using Natasha.CSharp.Component; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Reflection.Metadata; +using System.Runtime.CompilerServices; using System.Runtime.Loader; using Xunit; +using PluginBase; namespace NatashaFunctionUT.Reference { diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/DNDV1.deps.json b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/DNDV1.deps.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/DNDV1.deps.json rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/DNDV1.deps.json diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/DNDV1.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/DNDV1.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/DNDV1.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/DNDV1.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/DNDV1.runtimeconfig.dev.json b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/DNDV1.runtimeconfig.dev.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/DNDV1.runtimeconfig.dev.json rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/DNDV1.runtimeconfig.dev.json diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/DNDV1.runtimeconfig.json b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/DNDV1.runtimeconfig.json similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/DNDV1.runtimeconfig.json rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/DNDV1.runtimeconfig.json diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/Dapper.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/Dapper.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/Dapper.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/Dapper.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/Newtonsoft.Json.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/Newtonsoft.Json.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/Newtonsoft.Json.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/Newtonsoft.Json.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/PluginBase.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/PluginBase.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/PluginBase.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/PluginBase.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/win-arm64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/win-arm64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/win-arm64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/win-arm64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/win-x64/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/win-x64/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/win-x64/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/win-x64/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/win-x86/native/sni.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/win-x86/native/sni.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/win-x86/native/sni.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/win-x86/native/sni.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll b/test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll similarity index 100% rename from test/ut/NatashaFunctionUT/Domain/Reference/Libraries/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll rename to test/ut/PluginFunctionUT/Domain/Reference/Libraries/runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll diff --git a/test/ut/NatashaFunctionUT/Domain/Reference/ReferencePrepare.cs b/test/ut/PluginFunctionUT/Domain/Reference/ReferencePrepare.cs similarity index 95% rename from test/ut/NatashaFunctionUT/Domain/Reference/ReferencePrepare.cs rename to test/ut/PluginFunctionUT/Domain/Reference/ReferencePrepare.cs index bb52d8a7..c1f88ae4 100644 --- a/test/ut/NatashaFunctionUT/Domain/Reference/ReferencePrepare.cs +++ b/test/ut/PluginFunctionUT/Domain/Reference/ReferencePrepare.cs @@ -5,6 +5,7 @@ using System.IO; using System.Linq; using Natasha.CSharp.Component; +using System.Text; public class ReferencePrepare : DomainPrepare { @@ -28,6 +29,7 @@ internal static HashSet GetPortableExecutableReferences(Plugi var references = domain.References.CombineWithDefaultReferences(DefaultReferences, loadBehavior); var sets = new HashSet(references); + //在合法的引用中排除默认引用 sets.ExceptWith(DefaultReferences.GetReferences()); return sets; } diff --git a/test/ut/PluginFunctionUT/PluginFunctionUT.csproj b/test/ut/PluginFunctionUT/PluginFunctionUT.csproj new file mode 100644 index 00000000..f492268e --- /dev/null +++ b/test/ut/PluginFunctionUT/PluginFunctionUT.csproj @@ -0,0 +1,1323 @@ + + + + netcoreapp3.1;net5.0;net6.0; + false + enable + preview + False + true + True + true + natasha.snk + + + + + + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + + + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + PreserveNewest + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + + diff --git a/test/ut/PluginFunctionUT/natasha.snk b/test/ut/PluginFunctionUT/natasha.snk new file mode 100644 index 00000000..18f4248f Binary files /dev/null and b/test/ut/PluginFunctionUT/natasha.snk differ