public void UnlessExtensionTest() { var input = new Number(1); var result = input.Unless(x => x.Value == 1); Assert.IsNull(result); result = input.Unless(x => x.Value > 1); Assert.AreSame(input, result); }
public void ReturnExtensionTest() { var defaultValue = "Preceding expression returned NULL, default is returned."; var input = new Number(1); var result = input.With(x => x.Value == 1 ? x.ToString() : null).Return(x => x, defaultValue); Assert.AreEqual(result, "1"); result = input.With(x => x.Value > 1 ? x.ToString() : null).Return(x => x, defaultValue); Assert.AreEqual(result, defaultValue); }
public void WithExtensionTest() { var input = new Number(1); var result = input.With(x => x.ToString()).Return(x => x, null); Assert.AreEqual(result, "1"); var input2 = new Number(1); var result2 = input.With(x => new Number{Value = x.Value + 1}).Return(x => x, null); Assert.IsTrue(result2 is Number); Assert.AreEqual(result2.Value, 2); }
public void DoExtensionTest() { var input = new Number(1); var result = input.Do((x) => {x.Value++; }); Assert.AreEqual(input.Value, 2); }