示例#1
0
        public static void unrealmaptypereference_is_initiated_as_expected_when_passed_a_map_type_reference_with_built_in_types_as_contained_types()
        {
            var mapTypeRaw = new FieldDefinitionRaw.MapTypeRaw()
            {
                keyType = new TypeReferenceRaw()
                {
                    sourceReference = new SourceReferenceRaw {
                        line = "1", column = "1"
                    },
                    builtInType = "float",
                    userType    = null
                },
                valueType = new TypeReferenceRaw()
                {
                    sourceReference = new SourceReferenceRaw {
                        line = "1", column = "1"
                    },
                    builtInType = "float",
                    userType    = null
                }
            };

            var containedKeyTypeReference   = new UnrealBuiltInTypeReference(mapTypeRaw.keyType);
            var containedValueTypeReference = new UnrealBuiltInTypeReference(mapTypeRaw.valueType);
            var unrealMapTypeReference      = new UnrealMapTypeReference(containedKeyTypeReference, containedValueTypeReference);

            Assert.That(unrealMapTypeReference.UnderlyingCapitalisedName == null);
            Assert.That(unrealMapTypeReference.RequiredIncludes.Count == 1);
            Assert.That(unrealMapTypeReference.RequiredIncludes.Contains("\"FloatToFloatMap.h\""));
            Assert.That(unrealMapTypeReference.UnderlyingQualifiedName == "worker::Map<float, float>");
            Assert.That(unrealMapTypeReference.UnrealType == "UFloatToFloatMap*");

            Assert.That(unrealMapTypeReference.AssignUnderlyingValueToUnrealMemberVariable("TestField", "val") == "if (TestField == nullptr) { TestField = NewObject<UFloatToFloatMap>(this); } TestField->Init(val)");
            Assert.That(unrealMapTypeReference.ConvertUnderlyingValueToUnrealLocalVariable("val") == "NewObject<UFloatToFloatMap>()->Init(val)");
            Assert.That(unrealMapTypeReference.ConvertUnderlyingValueToUnrealMemberVariable("val") == "NewObject<UFloatToFloatMap>(this)->Init(val)");
            Assert.That(unrealMapTypeReference.ConvertUnrealValueToSnapshotValue("val") == "val->GetUnderlying()");
            Assert.That(unrealMapTypeReference.ConvertUnrealValueToUnderlyingValue("val") == "val->GetUnderlying()");
            Assert.That(unrealMapTypeReference.DefaultInitialisationString == "worker::Map<float, float>()");
            Assert.That(unrealMapTypeReference.SnapshotType == "worker::Map<float, float>");
        }
示例#2
0
        private static FieldDefinitionRaw GenerateFieldDefinition(string name, string number, TypeReferenceRaw singularType = null, FieldDefinitionRaw.OptionTypeRaw optionType = null, FieldDefinitionRaw.ListTypeRaw listType = null, FieldDefinitionRaw.MapTypeRaw mapType = null)
        {
            var fieldDefinitionRaw = new FieldDefinitionRaw();

            fieldDefinitionRaw.sourceReference = new SourceReferenceRaw()
            {
                line = "1", column = "1"
            };
            fieldDefinitionRaw.name         = name;
            fieldDefinitionRaw.number       = number;
            fieldDefinitionRaw.singularType = singularType;
            fieldDefinitionRaw.optionType   = optionType;
            fieldDefinitionRaw.listType     = listType;
            fieldDefinitionRaw.mapType      = mapType;

            return(fieldDefinitionRaw);
        }
示例#3
0
 public MapFieldType(FieldDefinitionRaw.MapTypeRaw mapTypeRaw, HashSet <string> enumSet)
 {
     keyType   = new ContainedType(mapTypeRaw.keyType, enumSet);
     valueType = new ContainedType(mapTypeRaw.valueType, enumSet);
 }