/// <inheritdoc /> public override async Task <CustomResourceResponse <TLambdaOutput> > InvokeLambda( Stream inputStream, CancellationToken cancellationToken = default ) { cancellationToken.ThrowIfCancellationRequested(); CustomResourceResponse <TLambdaOutput> response; var input = await DeserializeInput(inputStream, cancellationToken); try { var request = GetFullRequest(input); Validate(request); var requestType = GetRequestType(request); var data = await(requestType switch { CustomResourceRequestType.Create => Lambda.Create(request, cancellationToken), CustomResourceRequestType.Update => Lambda.Update(request, cancellationToken), CustomResourceRequestType.Delete => Lambda.Delete(request, cancellationToken), _ => throw new Exception($"Unknown RequestType '{request.RequestType}'"), }); response = new CustomResourceResponse <TLambdaOutput> { Status = CustomResourceResponseStatus.Success, RequestId = request.RequestId, StackId = request.StackId, LogicalResourceId = request.LogicalResourceId, PhysicalResourceId = data.Id, Data = data, }; }
public void RunTest() { var lambda1 = Lambda <object, bool> .Create(() => true); var lambda2 = Lambda <object, bool> .Create(() => false); Assert.IsTrue(lambda1.Run(new object())); Assert.IsFalse(lambda2.Run(new object())); }
public void BasicTest() { var runner = NaryConditionalRunner <int, bool> .Create(""); var app1 = Lambda <int, bool> .Create(() => true); var app2 = Lambda <int, bool> .Create(() => false); runner.Add(0, app1).Add(1, app2); Assert.IsTrue(runner.Run(0)); Assert.IsFalse(runner.Run(1)); }
private void TestForLambda_Load(object sender, EventArgs e) { Lambda .Create() .Try(() => MessageBox.Show("1")) .Try(() => MessageBox.Show((4 / 1).ToString())) .Try(() => Convert.ToInt32("test")) .Catch((ex) => MessageBox.Show("3"), 2) .Finally(() => MessageBox.Show("9")) .Finally(() => MessageBox.Show("91"), 1) .Finally(() => MessageBox.Show("10"), 1) .Run(); }
public void CompletedAppsTest() { var runner1 = LinearRunner <object, bool, int> .Create("", b => true, (b, i) => (b ? 1 : 0) + i, () => 0); var runner2 = LinearRunner <object, bool, int> .Create("", b => true, (b, i) => (b ? 1 : 0) + i, () => 0); var app1 = Lambda <object, bool> .Create(() => true); var app2 = Lambda <object, bool> .Create(() => false); runner1.Add(app1); runner1.Add(app2); runner1.Add(app1).Add(app2).Add(app2); runner2.Add(app1).Add(app1); Assert.AreEqual(2, runner1.Run(new object())); Assert.AreEqual(2, runner2.Run(new object())); }
public void BasicTest() { var runner1 = LinearRunner <object, bool, bool> .Create("", b => b, (b1, b2) => b1 && b2, () => true); var runner2 = LinearRunner <object, bool, bool> .Create("", b => b, (b1, b2) => b1 && b2, () => true); var app1 = Lambda <object, bool> .Create(() => true); var app2 = Lambda <object, bool> .Create(() => true); var app3 = Lambda <object, bool> .Create(() => false); runner1.Add(app1); runner1.Add(app2); runner2.Add(app1); runner2.Add(app3); runner2.Add(app3); Assert.IsTrue(runner1.Run(new object())); Assert.IsFalse(runner2.Run(new object())); }
public void NameTest() { var lambda = Lambda <object, bool> .Create(() => true); Assert.AreEqual(string.Empty, lambda.Name); }
public static IAsyncResult BeginInvoke <TReturn, TArg1>(this ISynchronizeInvoke target, Func <TArg1, TReturn> op, TArg1 arg1) { return(BeginInvokeImpl(target, Lambda.Create(() => op(arg1)))); }
public static IAsyncResult BeginInvoke <TArg1, TArg2>(this ISynchronizeInvoke target, Action <TArg1, TArg2> callback, TArg1 arg1, TArg2 arg2) { return(BeginInvokeImpl(target, Lambda.Create(() => callback(arg1, arg2)))); }
public static IAsyncResult BeginInvokeNoThrow <TArg1>(this ISynchronizeInvoke target, Action <TArg1> callback, TArg1 arg1) { return(BeginInvokeImplNoThrow(target, Lambda.Create(() => callback(arg1)))); }