mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 12:30:32 +00:00
144 lines
3.7 KiB
C#
144 lines
3.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
using Cosmos.TestRunner;
|
|
|
|
namespace Cosmos.Compiler.Tests.MethodTests
|
|
{
|
|
public static class ReturnTests
|
|
{
|
|
public static void Execute()
|
|
{
|
|
int a = 0x1FFFFFFF;
|
|
Assert.IsTrue(a == TestInt(a), "Int return value failed.");
|
|
Assert.IsTrue(a == TestRefInt(ref a), "Int& return value failed.");
|
|
|
|
uint b = 0x1FFFFFFF;
|
|
Assert.IsTrue(b == TestUInt(b), "UInt return value failed.");
|
|
Assert.IsTrue(b == TestRefUInt(ref b), "UInt& return value failed.");
|
|
|
|
long c = 0x1FFFFFFF0FFFFFFF;
|
|
Assert.IsTrue(c == TestLong(c), "Long return value failed.");
|
|
Assert.IsTrue(c == TestRefLong(ref c), "Long& return value failed.");
|
|
|
|
ulong d = 0x0FFFFFFF1FFFFFFF;
|
|
Assert.IsTrue(d == TestULong(d), "ULong return value failed.");
|
|
Assert.IsTrue(d == TestRefULong(ref d), "ULong& return value failed.");
|
|
|
|
//float e = 42.42f;
|
|
//Assert.IsTrue(e == TestSingle(e), "Single return value failed.");
|
|
//Assert.IsTrue(e == TestRefSingle(ref e), "Single& return value failed.");
|
|
|
|
//double f = 42.42;
|
|
//Assert.IsTrue(f == TestDouble(f), "Double return value failed.");
|
|
//Assert.IsTrue(f == TestRefDouble(ref f), "Double& return value failed.");
|
|
|
|
string h = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
Assert.IsTrue(h == TestString(h), "String return value failed.");
|
|
Assert.IsTrue(h == TestRefString(ref h), "String& return value failed.");
|
|
|
|
char i = 'A';
|
|
Assert.IsTrue(i == TestChar(i), "Char return value failed.");
|
|
Assert.IsTrue(i == TestRefChar(ref i), "Char& return value failed.");
|
|
}
|
|
|
|
private static int TestRefInt(ref int a)
|
|
{
|
|
int b = a;
|
|
return b;
|
|
}
|
|
|
|
private static uint TestRefUInt(ref uint a)
|
|
{
|
|
uint b = a;
|
|
return b;
|
|
}
|
|
|
|
private static long TestRefLong(ref long a)
|
|
{
|
|
long b = a;
|
|
return b;
|
|
}
|
|
|
|
private static ulong TestRefULong(ref ulong a)
|
|
{
|
|
ulong b = a;
|
|
return b;
|
|
}
|
|
|
|
private static float TestRefSingle(ref float a)
|
|
{
|
|
float b = a;
|
|
return b;
|
|
}
|
|
|
|
private static double TestRefDouble(ref double a)
|
|
{
|
|
double b = a;
|
|
return b;
|
|
}
|
|
|
|
private static string TestRefString(ref string a)
|
|
{
|
|
string b = a;
|
|
return b;
|
|
}
|
|
|
|
private static char TestRefChar(ref char a)
|
|
{
|
|
char b = a;
|
|
return b;
|
|
}
|
|
|
|
private static int TestInt(int a)
|
|
{
|
|
int b = a;
|
|
return b;
|
|
}
|
|
|
|
private static uint TestUInt(uint a)
|
|
{
|
|
uint b = a;
|
|
return b;
|
|
}
|
|
|
|
private static long TestLong(long a)
|
|
{
|
|
long b = a;
|
|
return b;
|
|
}
|
|
|
|
private static ulong TestULong(ulong a)
|
|
{
|
|
ulong b = a;
|
|
return b;
|
|
}
|
|
|
|
private static float TestSingle(float a)
|
|
{
|
|
float b = a;
|
|
return b;
|
|
}
|
|
|
|
private static double TestDouble(double a)
|
|
{
|
|
double b = a;
|
|
return b;
|
|
}
|
|
|
|
private static string TestString(string a)
|
|
{
|
|
string b = a;
|
|
return b;
|
|
}
|
|
|
|
private static char TestChar(char a)
|
|
{
|
|
char b = a;
|
|
return b;
|
|
}
|
|
}
|
|
}
|