public void CreateWithName_NotGeneric_Throws() { var descriptor = TaskActivityDescriptor.Create <TestActivity>(); var creator = new ActivityObjectCreator(descriptor); Action act = () => creator.Create(new TypeShortName(typeof(string))); act.Should().ThrowExactly <InvalidOperationException>(); }
public void Create_GenericDef_Throws() { var descriptor = new TaskActivityDescriptor(typeof(TestActivity <>)); var creator = new ActivityObjectCreator(descriptor); Action act = () => creator.Create(); act.Should().ThrowExactly <InvalidOperationException>(); }
/// <summary> /// Initializes a new instance of the <see cref="ActivityObjectCreator"/> class. /// </summary> /// <param name="descriptor">The activity descriptor. Not null.</param> public ActivityObjectCreator(TaskActivityDescriptor descriptor) { Check.NotNull(descriptor, nameof(descriptor)); Name = descriptor.Name; Version = descriptor.Version; _descriptor = descriptor; }
public void Create_ConcreteType_Succeeds() { var descriptor = TaskActivityDescriptor.Create <TestActivity>(); descriptor.Should().NotBeNull(); descriptor.Method.Should().BeNull(); descriptor.Type.Should().Be(typeof(TestActivity)); descriptor.Name.Should().Be(typeof(TestActivity).FullName); descriptor.Version.Should().BeEmpty(); }
public void Ctor_MethodInfo_DefaultNameVersion() { var methodInfo = typeof(IMyServce).GetMethod(nameof(IMyServce.SomethingAsync)); var descriptor = new TaskActivityDescriptor(methodInfo); descriptor.Type.Should().BeNull(); descriptor.Method.Should().BeSameAs(methodInfo); descriptor.Name.Should().Be(NameVersionHelper.GetDefaultName(methodInfo)); descriptor.Version.Should().Be(NameVersionHelper.GetDefaultVersion(methodInfo)); }
public void Ctor_Type_DefaultNameVersion(Type type) { var descriptor = new TaskActivityDescriptor(type); descriptor.Should().NotBeNull(); descriptor.Method.Should().BeNull(); descriptor.Type.Should().Be(type); descriptor.Name.Should().Be(TypeShortName.ToString(type, false)); descriptor.Version.Should().BeEmpty(); }
public void Create_WrapperCreated() { var descriptor = TaskActivityDescriptor.Create <TestActivity>(); var creator = new ActivityObjectCreator(descriptor); TaskActivity activity = creator.Create(); activity.Should().NotBeNull(); activity.Should().BeOfType <WrapperActivity>() .Which.Descriptor.Should().Be(descriptor); }
public void Create_SuppliedNameVersion() { const string name = "CustomName"; const string version = "CustomVersion"; var descriptor = TaskActivityDescriptor.Create <TestActivity>(name, version); descriptor.Should().NotBeNull(); descriptor.Method.Should().BeNull(); descriptor.Type.Should().Be(typeof(TestActivity)); descriptor.Name.Should().Be(name); descriptor.Version.Should().Be(version); }
public void Ctor_MethodInfo_SuppliedNameVersion() { const string name = "CustomName"; const string version = "CustomVersion"; var methodInfo = typeof(IMyServce).GetMethod(nameof(IMyServce.SomethingAsync)); var descriptor = new TaskActivityDescriptor(methodInfo, name, version); descriptor.Type.Should().BeNull(); descriptor.Method.Should().BeSameAs(methodInfo); descriptor.Name.Should().Be(name); descriptor.Version.Should().Be(version); }
public void Ctor_Type_SuppliedNameVersion(Type type) { const string name = "CustomName"; const string version = "CustomVersion"; var descriptor = new TaskActivityDescriptor(type, name, version); descriptor.Should().NotBeNull(); descriptor.Method.Should().BeNull(); descriptor.Type.Should().Be(type); descriptor.Name.Should().Be(name); descriptor.Version.Should().Be(version); }
public void Add_Succeeds() { // arrange var activity = new TaskActivityDescriptor(typeof(TestActivity)); var descriptors = new TaskHubCollection <TaskActivity>(); // act bool result = descriptors.Add(activity); // assert result.Should().BeTrue(); descriptors.Should().HaveCount(1); descriptors.Single().Should().Be(activity); }
public void Create_ClosedGeneric_NotNull() { var descriptor = TaskActivityDescriptor.Create <TestActivity <object> >(); var manager = new GenericObjectManager <TaskActivity>(); manager.Add(new ActivityObjectCreator(descriptor)); TaskActivity activity = manager.GetObject(descriptor.Name, descriptor.Version); activity.Should().NotBeNull(); activity.As <WrapperActivity>().Descriptor.Type.Should().Be(descriptor.Type); TaskActivity activity2 = manager.GetObject(typeof(TestActivity <int>).FullName, descriptor.Version); activity2.Should().BeNull(); }
public void Get_Null() { // arrange var activity = new TaskActivityDescriptor(typeof(TestActivity)); var descriptors = new TaskHubCollection <TaskActivity>() { activity, }; // act Type actual = descriptors["DNE", string.Empty]; // assert actual.Should().BeNull(); }
public void Get_ByName() { // arrange var activity = new TaskActivityDescriptor(typeof(TestActivity)); var descriptors = new TaskHubCollection <TaskActivity>() { activity, }; // act Type actual = descriptors[activity.Name, activity.Version]; // assert actual.Should().NotBeNull(); actual.Should().Be(typeof(TestActivity)); }
public void Count_Multiple() { // arrange var activity = new TaskActivityDescriptor(typeof(TestActivity)); var activity2 = new TaskActivityDescriptor(typeof(TestActivity2)); var descriptors = new TaskHubCollection <TaskActivity>() { activity, activity2, }; // act int count = descriptors.Count; // assert count.Should().Be(2); }
public void AddActivityGenericNamed_Added(string name, string version) => RunTest( builder => builder.AddActivity <TestActivity>(name, version), (original, result) => { result.Should().NotBeNull(); result.Should().BeSameAs(original); original.Activities.Should().HaveCount(1); TaskActivityDescriptor descriptor = original.Activities.Single(); descriptor.Type.Should().Be(typeof(TestActivity)); descriptor.Name.Should().Be(name); descriptor.Version.Should().Be(version); original.Orchestrations.Should().BeEmpty(); original.ActivityMiddleware.Should().HaveCount(1); original.OrchestrationMiddleware.Should().HaveCount(1); });
public void Enumerator_ContainsAll() { // arrange var activity = new TaskActivityDescriptor(typeof(TestActivity)); var descriptors = new TaskHubCollection <TaskActivity>() { activity, }; // act IEnumerator enumerator = ((IEnumerable)descriptors).GetEnumerator(); // assert enumerator.Should().NotBeNull(); enumerator.MoveNext().Should().BeTrue(); enumerator.Current.Should().Be(activity); enumerator.MoveNext().Should().BeFalse(); }
public async Task Run_Method_InvokesInner() { // arrange var methodInfo = typeof(IMyService).GetMethod(nameof(IMyService.MyMethodAsync)); var descriptor = new TaskActivityDescriptor(methodInfo); var wrapperActivity = new WrapperActivity(descriptor); var services = new ServiceCollection(); services.AddSingleton <IMyService, MyService>(); var input = new JArray() { "some_string", 10 }; // act wrapperActivity.Initialize(services.BuildServiceProvider()); string result = await wrapperActivity.RunAsync(s_taskContext, input.ToString()); // assert string parsed = JsonConvert.DeserializeObject <string>(result); parsed.Should().Be("some_string|10"); }
/// <summary> /// Initializes a new instance of the <see cref="WrapperActivity"/> class. /// </summary> /// <param name="descriptor">The inner orchestration descriptor.</param> public WrapperActivity(TaskActivityDescriptor descriptor) { Descriptor = Check.NotNull(descriptor, nameof(descriptor)); }
public void CreateWithName_GenericDef_ArgNull_Throws() { var descriptor = new TaskActivityDescriptor(typeof(TestActivity <>)); var creator = new ActivityObjectCreator(descriptor); Action act = () => creator.Create(default);
public void Create_AbstractType_Fails() { Action act = () => TaskActivityDescriptor.Create <TaskActivity>(); act.Should().ThrowExactly <ArgumentException>(); }