1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-15 23:04:09 +02:00
Beef/IDEHelper/Tests/src/ExtensionMethods.bf

75 lines
1.1 KiB
Beef
Raw Normal View History

2020-06-03 05:22:11 -07:00
using System;
using System.Collections;
using static Tests.ExtensionMethods.ClassB;
namespace Tests
{
class ExtensionMethods
{
public static int Remove(this String str, float val, float val2)
{
return 123;
}
class ClassA
{
public static void Test()
{
Test.Assert("Abc".Remove(1.2f, 2.3f) == 123);
}
}
public class ClassB
{
public static int Flop(this String str, int a)
{
return a + 1000;
}
}
[Test]
public static void TestBasics()
{
ClassA.Test();
Test.Assert("Test".Flop(234) == 1234);
List<int> iList = scope .();
iList.Add(3);
iList.Add(20);
iList.Add(100);
Test.Assert(iList.Total() == 123);
float a = 1.2f;
float b = 2.3f;
Test.Assert(a.CompareIt(b) < 0);
2020-06-03 05:22:11 -07:00
}
}
static
{
public static int CompareIt<T>(this T self, T other)
where bool: operator T < T
{
if(self < other)
return -1;
else if(self > other)
return 1;
return 0;
}
2020-08-10 17:02:48 -07:00
public static T Total<T>(this List<T> list) where T : operator T + T
2020-06-03 05:22:11 -07:00
{
T total = default;
for (let val in list)
total += val;
return total;
}
}
}