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>"); }
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); }
public OptionFieldType(FieldDefinitionRaw.OptionTypeRaw optionTypeRaw, HashSet <string> enumSet) { containedType = new ContainedType(optionTypeRaw.valueType, enumSet); }