Beispiel #1
0
        public static void unrealoptiontypereference_is_initiated_as_expected_when_passed_an_option_type_reference_with_a_built_in_type_as_contained_type()
        {
            var optionTypeRaw = new FieldDefinitionRaw.OptionTypeRaw()
            {
                valueType = new TypeReferenceRaw()
                {
                    sourceReference = new SourceReferenceRaw {
                        line = "1", column = "1"
                    },
                    builtInType = "float",
                    userType    = null
                }
            };

            var containedTypeReference    = new UnrealBuiltInTypeReference(optionTypeRaw.valueType);
            var unrealOptionTypeReference = new UnrealOptionTypeReference(containedTypeReference);

            Assert.That(unrealOptionTypeReference.UnderlyingCapitalisedName == "Float");
            Assert.That(unrealOptionTypeReference.RequiredIncludes.Count == 1);
            Assert.That(unrealOptionTypeReference.RequiredIncludes.Contains("\"FloatOption.h\""));
            Assert.That(unrealOptionTypeReference.UnderlyingQualifiedName == "float");
            Assert.That(unrealOptionTypeReference.UnrealType == "UFloatOption*");

            Assert.That(unrealOptionTypeReference.AssignUnderlyingValueToUnrealMemberVariable("TestField", "val") == "if (TestField == nullptr) { TestField = NewObject<UFloatOption>(this); } TestField->Init(val)");
            Assert.That(unrealOptionTypeReference.ConvertUnderlyingValueToUnrealLocalVariable("val") == "NewObject<UFloatOption>()->Init(val)");
            Assert.That(unrealOptionTypeReference.ConvertUnderlyingValueToUnrealMemberVariable("val") == "NewObject<UFloatOption>(this)->Init(val)");
            Assert.That(unrealOptionTypeReference.ConvertUnrealValueToSnapshotValue("val") == "val->GetUnderlying()");
            Assert.That(unrealOptionTypeReference.ConvertUnrealValueToUnderlyingValue("val") == "val->GetUnderlying()");
            Assert.That(unrealOptionTypeReference.SnapshotType == "worker::Option<float>");
        }
Beispiel #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);
        }
Beispiel #3
0
 public OptionFieldType(FieldDefinitionRaw.OptionTypeRaw optionTypeRaw, HashSet <string> enumSet)
 {
     containedType = new ContainedType(optionTypeRaw.valueType, enumSet);
 }