Internal Test: Verifies that a built-in function using `ByHandle` arguments can correctly modify the state of variables passed to it.

ID: 1185

				
					using uCalcSoftware;

var uc = new uCalc();
uc.DefineVariable("a = 10");
uc.DefineVariable("b = 20");

Console.WriteLine($"Before - a: {uc.Eval("a")}, b: {uc.Eval("b")}");

// The built-in Swap() function uses ByHandle to modify variables directly.
uc.Eval("Swap(a, b)");

Console.Write("After - a: "); Console.Write(uc.Eval("a")); Console.Write(", b: "); Console.Write(uc.Eval("b"));
				
			
Before - a: 10, b: 20
After - a: 20, b: 10
				
					#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   uc.DefineVariable("a = 10");
   uc.DefineVariable("b = 20");

   cout << "Before - a: " << uc.Eval("a") << ", b: " << uc.Eval("b") << endl;

   // The built-in Swap() function uses ByHandle to modify variables directly.
   uc.Eval("Swap(a, b)");

   cout << "After - a: " << uc.Eval("a") << ", b: " << uc.Eval("b");
}
				
			
Before - a: 10, b: 20
After - a: 20, b: 10
				
					Imports System
Imports uCalcSoftware
Public Module Program
   Public Sub Main()
      Dim uc As New uCalc()
      uc.DefineVariable("a = 10")
      uc.DefineVariable("b = 20")
      
      Console.WriteLine($"Before - a: {uc.Eval("a")}, b: {uc.Eval("b")}")
      
      '// The built-in Swap() function uses ByHandle to modify variables directly.
      uc.Eval("Swap(a, b)")
      
      Console.Write("After - a: ")
      Console.Write(uc.Eval("a"))
      Console.Write(", b: ")
      Console.Write(uc.Eval("b"))
   End Sub
End Module
				
			
Before - a: 10, b: 20
After - a: 20, b: 10