public void MatchSameTuple() { Tuple tuple = new Tuple(new object[] { 1, 2, 3 }); Context context = new Context(); Assert.IsTrue(tuple.Match(tuple, context)); }
public void MatchNull() { Tuple tuple = new Tuple(new object[] { 1, 2, 3 }); Context context = new Context(); Assert.IsFalse(tuple.Match(null, context)); }
public void Tuples_Can_Apply_Deconstructed_Values_To_Func() { Tuple <string, int> a = Tuple.Create("name", 2); var applied = a.Match(fun); Assert.Equal("name: 2", applied); }
public void MatchTuplesWithNullElement() { Tuple tuple = new Tuple(new object[] { 1, null, 3 }); Tuple tuple2 = new Tuple(new object[] { 1, null, 3 }); Context context = new Context(); Assert.IsTrue(tuple.Match(tuple2, context)); }
public void NoMatchTuplesWithDifferentArities() { Tuple tuple = new Tuple(new object[] { 1, 2, 3 }); Tuple tuple2 = new Tuple(new object[] { 1, 2, 3, 4 }); Context context = new Context(); Assert.IsFalse(tuple.Match(tuple2, context)); Assert.IsFalse(tuple2.Match(tuple, context)); }
public void MatchTuplesWithAVariable() { Tuple tuple = new Tuple(new object[] { 1, new Variable("X"), 3 }); Tuple tuple2 = new Tuple(new object[] { 1, 2, 3 }); Context context = new Context(); Assert.IsTrue(tuple.Match(tuple2, context)); Assert.AreEqual(2, context.GetValue("X")); Assert.IsTrue(tuple2.Match(tuple, context)); Assert.AreEqual(2, context.GetValue("X")); }
private void OnTimer(Tuple<ITaskProvider, Guid> parameters) { parameters.Match((taskProvider, taskId) => taskProvider.NotifyWorker(taskId)); }