Internal Test: Verifies error handling with implicit parsing and evaluation.

ID: 805

				
					using uCalcSoftware;

var uc = new uCalc();
var expr = new uCalc.Expression();

// Implicitly parse an invalid expression. This sets an error state.
expr = "5 * (10 +";

// Implicit EvaluateStr should not throw but return the error message.
Console.WriteLine($"Error Message: {expr}");

// Verify the error code is set.
Console.WriteLine($"Error Code: {(int)expr.uCalc.Error.Code}");

// Now, assign a valid expression.
expr = "10 + 20";

// The new assignment should clear the error state.
Console.WriteLine($"Valid Result: {expr}");
Console.WriteLine($"Error Code after success: {(int)expr.uCalc.Error.Code}");
				
			
Error Message: Bracket delimiter error
Error Code: 265
Valid Result: 30
Error Code after success: 0
				
					#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   uCalc::Expression expr;

   // Implicitly parse an invalid expression. This sets an error state.
   expr = "5 * (10 +";

   // Implicit EvaluateStr should not throw but return the error message.
   cout << "Error Message: " << expr << endl;

   // Verify the error code is set.
   cout << "Error Code: " << (int)expr.uCalc().Error().Code() << endl;

   // Now, assign a valid expression.
   expr = "10 + 20";

   // The new assignment should clear the error state.
   cout << "Valid Result: " << expr << endl;
   cout << "Error Code after success: " << (int)expr.uCalc().Error().Code() << endl;
}
				
			
Error Message: Bracket delimiter error
Error Code: 265
Valid Result: 30
Error Code after success: 0
				
					Imports System
Imports uCalcSoftware
Public Module Program
   Public Sub Main()
      Dim uc As New uCalc()
      Dim expr As New uCalc.Expression()
      
      '// Implicitly parse an invalid expression. This sets an error state.
      expr = "5 * (10 +"
      
      '// Implicit EvaluateStr should not throw but return the error message.
      Console.WriteLine($"Error Message: {expr}")
      
      '// Verify the error code is set.
      Console.WriteLine($"Error Code: {CInt(expr.uCalc.Error.Code)}")
      
      '// Now, assign a valid expression.
      expr = "10 + 20"
      
      '// The new assignment should clear the error state.
      Console.WriteLine($"Valid Result: {expr}")
      Console.WriteLine($"Error Code after success: {CInt(expr.uCalc.Error.Code)}")
   End Sub
End Module
				
			
Error Message: Bracket delimiter error
Error Code: 265
Valid Result: 30
Error Code after success: 0