Browse Source

New tests

Brian Fiete 5 years ago
parent
commit
9c2f95e1cd
3 changed files with 45 additions and 0 deletions
  1. 9 0
      IDEHelper/Tests/src/Boxing.bf
  2. 11 0
      IDEHelper/Tests/src/Ints.bf
  3. 25 0
      IDEHelper/Tests/src/Operators.bf

+ 9 - 0
IDEHelper/Tests/src/Boxing.bf

@@ -1,3 +1,5 @@
+#pragma warning disable 168
+
 using System;
 
 namespace Tests
@@ -57,6 +59,13 @@ namespace Tests
 			Test.Assert(iface1.Get() == 1100);
 			Test.Assert(GetFromIFace(iface1) == 2100);
 			Test.Assert(valB.mA == 1100); // This should copy values
+
+			var boxedVal = scope box valA;
+			iface0 = boxedVal;
+
+#unwarn
+			var boxedStr = scope box "Test";
+			IHashable ihash = boxedStr;
 		}
 
 		[Test]

+ 11 - 0
IDEHelper/Tests/src/Ints.bf

@@ -1,9 +1,20 @@
+#pragma warning disable 168
+
 using System;
 
 namespace Tests
 {
 	class Ints
 	{
+		[Test]
+		public static void TestBasics()
+		{
+			int i;
+			decltype(i + 100) j = 123;
+			Test.Assert(typeof(decltype(j)) == typeof(int));
+			int k = j + 10;
+		}
+
 		[Test]
 		public static void TestUInt64()
 		{

+ 25 - 0
IDEHelper/Tests/src/Operators.bf

@@ -215,5 +215,30 @@ namespace Tests
 			let oai2 = OuterOp2<float>.InnerOp<int>.Op(2.0f, 200);
 			Test.Assert(oai2 == 202.0f);*/
 		}
+
+		struct IntStruct
+		{
+			public int mA = 123;
+
+			public typealias ZaffInt = int;
+
+			public ZaffInt GetIt()
+			{
+				return 123;
+			}
+
+			public static implicit operator int(Self val)
+			{
+				return val.mA;
+			}
+		}
+
+		[Test]
+		public static void TestCompareWithCastOperator()
+		{
+			IntStruct iVal = .();
+			Test.Assert(iVal == 123);
+			Test.Assert(iVal == 123.0f);
+		}
 	}
 }