Internal Test: Changes a token's type and then reverts it to ensure the state is managed correctly.
ID: 679
using uCalcSoftware;
var uc = new uCalc();
using (var t = new uCalc.Transformer()) {
var alphaToken = t.Tokens["_token_alphanumeric"];
Console.WriteLine($"1. Initial Type is Alphanumeric: {alphaToken.TypeOfToken == TokenType.AlphaNumeric}");
// Change it to a literal
alphaToken.TypeOfToken = TokenType.Literal;
Console.WriteLine($"2. Type is now Literal: {alphaToken.TypeOfToken == TokenType.Literal}");
Console.WriteLine($"3. Type is no longer Alphanumeric: {alphaToken.TypeOfToken != TokenType.AlphaNumeric}");
// Change it back
alphaToken.TypeOfToken = TokenType.AlphaNumeric;
Console.WriteLine($"4. Reverted Type is Alphanumeric: {alphaToken.TypeOfToken == TokenType.AlphaNumeric}");
}
1. Initial Type is Alphanumeric: True
2. Type is now Literal: True
3. Type is no longer Alphanumeric: True
4. Reverted Type is Alphanumeric: True using uCalcSoftware; var uc = new uCalc(); using (var t = new uCalc.Transformer()) { var alphaToken = t.Tokens["_token_alphanumeric"]; Console.WriteLine($"1. Initial Type is Alphanumeric: {alphaToken.TypeOfToken == TokenType.AlphaNumeric}"); // Change it to a literal alphaToken.TypeOfToken = TokenType.Literal; Console.WriteLine($"2. Type is now Literal: {alphaToken.TypeOfToken == TokenType.Literal}"); Console.WriteLine($"3. Type is no longer Alphanumeric: {alphaToken.TypeOfToken != TokenType.AlphaNumeric}"); // Change it back alphaToken.TypeOfToken = TokenType.AlphaNumeric; Console.WriteLine($"4. Reverted Type is Alphanumeric: {alphaToken.TypeOfToken == TokenType.AlphaNumeric}"); }
#include
#include "uCalc.h"
using namespace std;
using namespace uCalcSoftware;
#define tf(IsTrue) ((IsTrue) ? "True" : "False")
int main() {
uCalc uc;
{
uCalc::Transformer t;
t.Owned(); // Causes t to be released when it goes out of scope
auto alphaToken = t.Tokens()["_token_alphanumeric"];
cout << "1. Initial Type is Alphanumeric: " << tf(alphaToken.TypeOfToken() == TokenType::AlphaNumeric) << endl;
// Change it to a literal
alphaToken.TypeOfToken(TokenType::Literal);
cout << "2. Type is now Literal: " << tf(alphaToken.TypeOfToken() == TokenType::Literal) << endl;
cout << "3. Type is no longer Alphanumeric: " << tf(alphaToken.TypeOfToken() != TokenType::AlphaNumeric) << endl;
// Change it back
alphaToken.TypeOfToken(TokenType::AlphaNumeric);
cout << "4. Reverted Type is Alphanumeric: " << tf(alphaToken.TypeOfToken() == TokenType::AlphaNumeric) << endl;
}
}
1. Initial Type is Alphanumeric: True
2. Type is now Literal: True
3. Type is no longer Alphanumeric: True
4. Reverted Type is Alphanumeric: True #include <iostream> #include "uCalc.h" using namespace std; using namespace uCalcSoftware; #define tf(IsTrue) ((IsTrue) ? "True" : "False") int main() { uCalc uc; { uCalc::Transformer t; t.Owned(); // Causes t to be released when it goes out of scope auto alphaToken = t.Tokens()["_token_alphanumeric"]; cout << "1. Initial Type is Alphanumeric: " << tf(alphaToken.TypeOfToken() == TokenType::AlphaNumeric) << endl; // Change it to a literal alphaToken.TypeOfToken(TokenType::Literal); cout << "2. Type is now Literal: " << tf(alphaToken.TypeOfToken() == TokenType::Literal) << endl; cout << "3. Type is no longer Alphanumeric: " << tf(alphaToken.TypeOfToken() != TokenType::AlphaNumeric) << endl; // Change it back alphaToken.TypeOfToken(TokenType::AlphaNumeric); cout << "4. Reverted Type is Alphanumeric: " << tf(alphaToken.TypeOfToken() == TokenType::AlphaNumeric) << endl; } }
Imports System
Imports uCalcSoftware
Public Module Program
Public Sub Main()
Dim uc As New uCalc()
Using t As New uCalc.Transformer()
Dim alphaToken = t.Tokens("_token_alphanumeric")
Console.WriteLine($"1. Initial Type is Alphanumeric: {alphaToken.TypeOfToken = TokenType.AlphaNumeric}")
'// Change it to a literal
alphaToken.TypeOfToken = TokenType.Literal
Console.WriteLine($"2. Type is now Literal: {alphaToken.TypeOfToken = TokenType.Literal}")
Console.WriteLine($"3. Type is no longer Alphanumeric: {alphaToken.TypeOfToken <> TokenType.AlphaNumeric}")
'// Change it back
alphaToken.TypeOfToken = TokenType.AlphaNumeric
Console.WriteLine($"4. Reverted Type is Alphanumeric: {alphaToken.TypeOfToken = TokenType.AlphaNumeric}")
End Using
End Sub
End Module
1. Initial Type is Alphanumeric: True
2. Type is now Literal: True
3. Type is no longer Alphanumeric: True
4. Reverted Type is Alphanumeric: True Imports System Imports uCalcSoftware Public Module Program Public Sub Main() Dim uc As New uCalc() Using t As New uCalc.Transformer() Dim alphaToken = t.Tokens("_token_alphanumeric") Console.WriteLine($"1. Initial Type is Alphanumeric: {alphaToken.TypeOfToken = TokenType.AlphaNumeric}") '// Change it to a literal alphaToken.TypeOfToken = TokenType.Literal Console.WriteLine($"2. Type is now Literal: {alphaToken.TypeOfToken = TokenType.Literal}") Console.WriteLine($"3. Type is no longer Alphanumeric: {alphaToken.TypeOfToken <> TokenType.AlphaNumeric}") '// Change it back alphaToken.TypeOfToken = TokenType.AlphaNumeric Console.WriteLine($"4. Reverted Type is Alphanumeric: {alphaToken.TypeOfToken = TokenType.AlphaNumeric}") End Using End Sub End Module