public static RefOperation GetRefOperation(this RefOperation o) { if (o == null) { return(null); } return(new RefOperation() { idOperation = o.idOperation, Operation = o.Operation, LnkUDO = null }); }
private static void Clean(List<char[]> dataForCleaning, int i, int j, RefOperation operation) { operation(ref i, ref j); while (IsWithinRange(i, j)) { char currentSymbol = dataForCleaning[i][j]; if (unwanted.Any(c => c == currentSymbol)) { return; } dataForCleaning[i][j] = ' '; operation(ref i, ref j); } }
public static void ArrayRefOp <TLeft, TRight, TResult>(ref TLeft left, TRight[] rightArray, TResult[] result, RefOperation <TLeft, TRight, TResult> operation) { if (rightArray == null) { throw new ArgumentNullException("rightArray"); } if (result == null) { throw new ArgumentNullException("result"); } if (rightArray.Length != result.Length) { throw new ArgumentException("The Arrays Passed must equal in size."); } for (int pos = 0; pos < result.Length; ++pos) { operation(ref left, ref rightArray[pos], out result[pos]); } }
public static TResult[] ArrayRefOp <TLeft, TRight, TResult>(TLeft[] leftArray, TRight[] rightArray, RefOperation <TLeft, TRight, TResult> operation) { TResult[] result = new TResult[leftArray.Length]; ArrayRefOp <TLeft, TRight, TResult>(leftArray, rightArray, result, operation); return(result); }
static void RefOperationTesterRightSameInternal <TLeft, TResult>(TLeft left, TResult right, TResult expected, RefOperation <TLeft, TResult, TResult> op, string description) { TLeft op1 = left; TResult result = right; op(ref op1, ref result, out result); Assert.AreEqual(op1, left, description + " RefOp: left unchanged in right same"); Assert.AreEqual(result, expected, description + " RefOp: expected in right same"); }
static void RefOperationTesterLeftSameInternal <TRight, TResult>(TResult left, TRight right, TResult expected, RefOperation <TResult, TRight, TResult> op, string description) { TRight op2 = right; TResult result = left; op(ref result, ref op2, out result); Assert.AreEqual(op2, right, description + " RefOp: right unchanged in left same"); Assert.AreEqual(result, expected, description + " RefOp: expected in left same"); }
public static void RefOperationTester <TLeft, TRight, TResult>(TLeft left, TRight right, TResult expected, RefOperation <TLeft, TRight, TResult> op, string description) { TLeft op1 = left; TRight op2 = right; TResult result; op(ref op1, ref op2, out result); Assert.AreEqual(op1, left, description + " RefOp: left unchanged"); Assert.AreEqual(op2, right, description + " RefOp: right unchanged"); Assert.AreEqual(result, expected, description + " RefOp: expected"); }
public static void RefOperationTesterRightSame <TLeft, TResult>(TLeft left, TResult right, TResult expected, RefOperation <TLeft, TResult, TResult> op, string description) { RefOperationTester <TLeft, TResult, TResult>(left, right, expected, op, description); RefOperationTesterRightSameInternal <TLeft, TResult>(left, right, expected, op, description); }
public static void RefOperationTester <T>(T left, T right, T expected, RefOperation <T, T, T> op, string description) { RefOperationTester <T, T, T>(left, right, expected, op, description); RefOperationTesterLeftSameInternal <T, T>(left, right, expected, op, description); RefOperationTesterRightSameInternal <T, T>(left, right, expected, op, description); }