public static void Run() { Test_SimpleStructTArray.Run(); Test_SimpleStructTSet.Run(); Test_SimpleStructTMap.Run(); Test_SimpleClassTArray.Run(); Test_SimpleClassTSet.Run(); Test_SimpleClassTMap.Run(); }
public static void Run() { UClass unrealClass = UClass.GetClass <Test_SimpleClassTMap>(); Tests.Assert(unrealClass != null, "Test_SimpleClassTMap"); Tests.AssertTMapProperty <UInt8Property, UNameProperty>(unrealClass, "Val1"); Tests.AssertTMapProperty <UByteProperty, UStrProperty>(unrealClass, "Val2"); Tests.AssertTMapProperty <UInt16Property, USoftObjectProperty>(unrealClass, "Val3"); Tests.AssertTMapProperty <UUInt16Property, USoftClassProperty>(unrealClass, "Val4"); Tests.AssertTMapProperty <UIntProperty, USoftClassProperty>(unrealClass, "Val5"); Tests.AssertTMapProperty <UUInt32Property, UWeakObjectProperty>(unrealClass, "Val6"); Tests.AssertTMapProperty <UInt64Property, ULazyObjectProperty>(unrealClass, "Val7"); Tests.AssertTMapProperty <UUInt64Property, UClassProperty>(unrealClass, "Val8"); Tests.AssertTMapProperty <UFloatProperty, UStructProperty>(unrealClass, "Val9"); Tests.AssertTMapProperty <UDoubleProperty, UEnumProperty>(unrealClass, "Val10"); //Tests.AssertTMapProperty<UDelegateProperty, UObjectProperty>(unrealClass, "Val11"); //Tests.AssertTMapProperty<UMulticastDelegateProperty, UMulticastDelegateProperty>(unrealClass, "Val12"); Tests.AssertTMapProperty <UObjectProperty, UDelegateProperty>(unrealClass, "Val13"); Tests.AssertTMapProperty <UEnumProperty, UDoubleProperty>(unrealClass, "Val14"); Tests.AssertTMapProperty <UStructProperty, UFloatProperty>(unrealClass, "Val15"); Tests.AssertTMapProperty <UClassProperty, UUInt64Property>(unrealClass, "Val16"); Tests.AssertTMapProperty <ULazyObjectProperty, UInt64Property>(unrealClass, "Val17"); //Tests.AssertTMapProperty<UWeakObjectProperty, UUInt32Property>(unrealClass, "Val18"); Tests.AssertTMapProperty <USoftClassProperty, UIntProperty>(unrealClass, "Val19"); Tests.AssertTMapProperty <USoftObjectProperty, UUInt16Property>(unrealClass, "Val20"); Tests.AssertTMapProperty <UStrProperty, UInt16Property>(unrealClass, "Val21"); Tests.AssertTMapProperty <UNameProperty, UByteProperty>(unrealClass, "Val22"); //Tests.AssertTSetProperty<UTextProperty>(unrealClass, "Val23"); Test_SimpleClassTMap obj = NewObject <Test_SimpleClassTMap>(); obj.Val1.Add(100, new FName("test1")); Tests.AssertEqual(obj.Val1[100], new FName("test1"), unrealClass, "Val1"); obj.Val1.Add(101, new FName("test2")); Tests.AssertEqual(obj.Val1[101], new FName("test2"), unrealClass, "Val1"); obj.Val1.Add(101, new FName("test3")); IDictionary <sbyte, FName> test = obj.Val1; Tests.AssertEqual(obj.Val1[101], new FName("test3"), unrealClass, "Val1"); Tests.AssertEqual(obj.Val1.Count, 2, unrealClass, "Val1"); obj.Val1.Remove(101); Tests.AssertEqual(obj.Val1.Count, 1, unrealClass, "Val1"); obj.Val1.Clear(); Tests.AssertEqual(obj.Val1.Count, 0, unrealClass, "Val1"); obj.Val2.Add(102, "test4"); obj.Val2.Add(103, "test5"); Tests.AssertEqual(obj.Val2[102], "test4", unrealClass, "Val2"); Tests.AssertEqual(obj.Val2[103], "test5", unrealClass, "Val2"); Tests.AssertEqual(obj.Val2.Count, 2, unrealClass, "Val2"); obj.Val3.Add(103, new TSoftObject <UObject>(Tests.ActorClass)); obj.Val3.Add(104, TSoftObject <UObject> .Null); Tests.AssertEqual(obj.Val3[103], new TSoftObject <UObject>(Tests.ActorClass), unrealClass, "Val3"); Tests.AssertEqual(obj.Val3[104], TSoftObject <UObject> .Null, unrealClass, "Val3"); obj.Val3[103] = TSoftObject <UObject> .Null; obj.Val3[104] = new TSoftObject <UObject>(Tests.ActorClass); Tests.AssertEqual(obj.Val3[103], TSoftObject <UObject> .Null, unrealClass, "Val3"); Tests.AssertEqual(obj.Val3[104], new TSoftObject <UObject>(Tests.ActorClass), unrealClass, "Val3"); obj.Val4.Add(105, new TSoftClass <UObject>(Tests.ActorClass)); obj.Val4.Add(106, TSoftClass <UObject> .Null); Tests.AssertEqual(obj.Val4[105], new TSoftClass <UObject>(Tests.ActorClass), unrealClass, "Val4"); Tests.AssertEqual(obj.Val4[106], TSoftClass <UObject> .Null, unrealClass, "Val4"); obj.Val5.Add(107, new TSoftClass <UObject>(Tests.ActorClass)); obj.Val5.Add(108, TSoftClass <UObject> .Null); Tests.AssertEqual(obj.Val5[107], new TSoftClass <UObject>(Tests.ActorClass), unrealClass, "Val5"); Tests.AssertEqual(obj.Val5[108], TSoftClass <UObject> .Null, unrealClass, "Val5"); obj.Val6.Add(109, new TWeakObject <UObject>(Tests.ActorClass)); obj.Val6.Add(110, TWeakObject <UObject> .Null); Tests.AssertEqual(obj.Val6[109], new TWeakObject <UObject>(Tests.ActorClass), unrealClass, "Val6"); Tests.AssertEqual(obj.Val6[110], TWeakObject <UObject> .Null, unrealClass, "Val6"); obj.Val7.Add(111, new TLazyObject <UObject>(Tests.ActorClass)); obj.Val7.Add(112, TLazyObject <UObject> .Null); Tests.AssertEqual(obj.Val7[111], new TLazyObject <UObject>(Tests.ActorClass), unrealClass, "Val7"); Tests.AssertEqual(obj.Val7[112], TLazyObject <UObject> .Null, unrealClass, "Val7"); obj.Val8.Add(113, new TSubclassOf <UObject>(Tests.ActorClass)); obj.Val8.Add(114, TSubclassOf <UObject> .Null); Tests.AssertEqual(obj.Val8[113], new TSubclassOf <UObject>(Tests.ActorClass), unrealClass, "Val8"); Tests.AssertEqual(obj.Val8[114], TSubclassOf <UObject> .Null, unrealClass, "Val8"); Test_SimpleBlittableStruct blitt1 = StructDefault <Test_SimpleBlittableStruct> .Value; blitt1.Val1 = 10; blitt1.Val2 = 11; obj.Val9.Add(115.5f, blitt1); obj.Val9.Add(116.5f, default(Test_SimpleBlittableStruct)); Tests.AssertEqual(obj.Val9[115.5f], blitt1, unrealClass, "Val9"); Tests.AssertEqual(obj.Val9[116.5f], default(Test_SimpleBlittableStruct), unrealClass, "Val9"); obj.Val10.Add(117.2, Test_SimpleEnum.Val2); obj.Val10.Add(118.2, Test_SimpleEnum.Val3); Tests.AssertEqual(obj.Val10[117.2], Test_SimpleEnum.Val2, unrealClass, "Val10"); Tests.AssertEqual(obj.Val10[118.2], Test_SimpleEnum.Val3, unrealClass, "Val10"); Test_SimpleDelegate simpleDelegate = new Test_SimpleDelegate(); simpleDelegate.Bind(obj.BindSimpleDelegate); obj.Val13.Add(Tests.ActorClass, simpleDelegate); obj.Val13.Add(null, null); Tests.Assert(obj.Val13[Tests.ActorClass].IsTargetBound(obj, new FName("BindSimpleDelegate")), unrealClass, "Val13"); Tests.Assert(!obj.Val13[null].IsBound, unrealClass, "Val13"); obj.Val14.Add(Test_SimpleEnum.Val3, 0.3); obj.Val14.Add(Test_SimpleEnum.Val2, 0.6); Tests.AssertEqual(obj.Val14[Test_SimpleEnum.Val3], 0.3, unrealClass, "Val14"); Tests.AssertEqual(obj.Val14[Test_SimpleEnum.Val2], 0.6, unrealClass, "Val14"); obj.Val15.Add(blitt1, 0.4f); obj.Val15.Add(default(Test_SimpleBlittableStruct), 0.8f); Tests.AssertEqual(obj.Val15[blitt1], 0.4f, unrealClass, "Val15"); Tests.AssertEqual(obj.Val15[default(Test_SimpleBlittableStruct)], 0.8f, unrealClass, "Val15"); obj.Val16.Add(new TSubclassOf <UObject>(Tests.ActorClass), 22u); obj.Val16.Add(TSubclassOf <UObject> .Null, 24u); Tests.AssertEqual(obj.Val16[new TSubclassOf <UObject>(Tests.ActorClass)], 22u, unrealClass, "Val16"); Tests.AssertEqual(obj.Val16[TSubclassOf <UObject> .Null], 24u, unrealClass, "Val16"); obj.Val17.Add(new TLazyObject <UObject>(Tests.ActorClass), 25); obj.Val17.Add(TLazyObject <UObject> .Null, 26); Tests.AssertEqual(obj.Val17[new TLazyObject <UObject>(Tests.ActorClass)], 25, unrealClass, "Val17"); Tests.AssertEqual(obj.Val17[TLazyObject <UObject> .Null], 26, unrealClass, "Val17"); obj.Val19.Add(new TSoftClass <UObject>(Tests.ActorClass), 29); obj.Val19.Add(TSoftClass <UObject> .Null, 30); Tests.AssertEqual(obj.Val19[new TSoftClass <UObject>(Tests.ActorClass)], 29, unrealClass, "Val19"); Tests.AssertEqual(obj.Val19[TSoftClass <UObject> .Null], 30, unrealClass, "Val19"); obj.Val20.Add(new TSoftObject <UObject>(Tests.ActorClass), 31); obj.Val20.Add(TSoftObject <UObject> .Null, 32); Tests.AssertEqual(obj.Val20[new TSoftObject <UObject>(Tests.ActorClass)], 31, unrealClass, "Val20"); Tests.AssertEqual(obj.Val20[TSoftObject <UObject> .Null], 32, unrealClass, "Val20"); obj.Val21.Add("test1", 33); obj.Val21.Add("test2", 34); Tests.AssertEqual(obj.Val21["test1"], 33, unrealClass, "Val21"); Tests.AssertEqual(obj.Val21["test2"], 34, unrealClass, "Val21"); obj.Val22.Add(new FName("test3"), 35); obj.Val22.Add(new FName("test4"), 36); Tests.AssertEqual(obj.Val22[new FName("test3")], 35, unrealClass, "Val22"); Tests.AssertEqual(obj.Val22[new FName("test4")], 36, unrealClass, "Val22"); }