public static void unrealcommanddetails_has_the_correct_unreal_command_delegate_name_upon_creation() { var capitalisedName = "CapitalisedName"; var qualifiedOwnerName = "improbable.codegen.Test"; var captialisedOwnerName = "improbable.codegen.OwnerComponent"; var commandDefinition = GenerateCommandDefinition("Test", new TypeReferenceRaw { sourceReference = new SourceReferenceRaw { line = "1", column = "1" }, builtInType = null, userType = "DamageResponse" }, new TypeReferenceRaw { sourceReference = new SourceReferenceRaw { line = "1", column = "1" }, builtInType = null, userType = "DamageRequest" }); var packageDetails = GeneratePackageDetails(); var fieldDefinitionFloat = ModelTypeFactory.GenerateFieldDefinition("test", "1", new TypeReferenceRaw { sourceReference = new SourceReferenceRaw { line = "1", column = "1" }, builtInType = "float" }); var fieldDefinitionInt32 = ModelTypeFactory.GenerateFieldDefinition("test", "1", new TypeReferenceRaw { sourceReference = new SourceReferenceRaw { line = "1", column = "1" }, builtInType = "int32" }); var userTypeDefinition = ModelTypeFactory.GenerateTypeDefinition("TestType", "improbable.codegen.TestType", null, null, new FieldDefinitionRaw[] { fieldDefinitionFloat, fieldDefinitionInt32 }); var unrealFieldDetails = new List <UnrealFieldDetails>(); unrealFieldDetails.Add(new UnrealFieldDetails(fieldDefinitionFloat, new UnrealBuiltInTypeReference(fieldDefinitionFloat.singularType))); unrealFieldDetails.Add(new UnrealFieldDetails(fieldDefinitionInt32, new UnrealBuiltInTypeReference(fieldDefinitionInt32.singularType))); var unrealTypeDetails = new UnrealTypeDetails(userTypeDefinition, "TestType", unrealFieldDetails, null); var requestTypeReference = new UnrealUserTypeReference(unrealTypeDetails); var responseTypeReference = new UnrealUserTypeReference(unrealTypeDetails); var commandDetails = new UnrealCommandDetails(commandDefinition, capitalisedName, qualifiedOwnerName, captialisedOwnerName, requestTypeReference, responseTypeReference, packageDetails); Assert.That(commandDetails.UnrealCommandDelegateName == string.Format("F{0}Command", capitalisedName), "the field UnrealCommandDelegateName did not have the expected value upon creation"); }
public static void unrealusertypereference_is_initiated_as_expected_when_passed_an_user_type_reference() { var fieldDefinitionFloat = ModelTypeFactory.GenerateFieldDefinition("test", "1", new TypeReferenceRaw { sourceReference = new SourceReferenceRaw { line = "1", column = "1" }, builtInType = "float" }); var fieldDefinitionInt32 = ModelTypeFactory.GenerateFieldDefinition("test", "1", new TypeReferenceRaw { sourceReference = new SourceReferenceRaw { line = "1", column = "1" }, builtInType = "int32" }); var userTypeDefinition = ModelTypeFactory.GenerateTypeDefinition("TestType", "improbable.codegen.TestType", null, null, new FieldDefinitionRaw[] { fieldDefinitionFloat, fieldDefinitionInt32 }); var unrealFieldDetails = new List <UnrealFieldDetails>(); unrealFieldDetails.Add(new UnrealFieldDetails(fieldDefinitionFloat, new UnrealBuiltInTypeReference(fieldDefinitionFloat.singularType))); unrealFieldDetails.Add(new UnrealFieldDetails(fieldDefinitionInt32, new UnrealBuiltInTypeReference(fieldDefinitionInt32.singularType))); var unrealTypeDetails = new UnrealTypeDetails(userTypeDefinition, "TestType", unrealFieldDetails, null); var unrealUserTypeReference = new UnrealUserTypeReference(unrealTypeDetails); Assert.That(unrealUserTypeReference.UnderlyingCapitalisedName == "ImprobableCodegenTestType"); Assert.That(unrealUserTypeReference.RequiredIncludes.Count == 1); Assert.That(unrealUserTypeReference.RequiredIncludes.Contains("\"TestType.h\"")); Assert.That(unrealUserTypeReference.UnderlyingQualifiedName == "improbable::codegen::TestType"); Assert.That(unrealUserTypeReference.UnrealType == "UTestType*"); Assert.That(unrealUserTypeReference.AssignUnderlyingValueToUnrealMemberVariable("TestField", "val") == "if (TestField == nullptr) { TestField = NewObject<UTestType>(this); } TestField->Init(val)"); Assert.That(unrealUserTypeReference.ConvertUnderlyingValueToUnrealLocalVariable("val") == "NewObject<UTestType>()->Init(val)"); Assert.That(unrealUserTypeReference.ConvertUnderlyingValueToUnrealMemberVariable("val") == "NewObject<UTestType>(this)->Init(val)"); Assert.That(unrealUserTypeReference.ConvertUnrealValueToSnapshotValue("val") == "val->GetUnderlying()"); Assert.That(unrealUserTypeReference.ConvertUnrealValueToUnderlyingValue("val") == "val->GetUnderlying()"); Assert.That(unrealUserTypeReference.DefaultInitialisationString == "improbable::codegen::TestType(0, 0)"); Assert.That(unrealUserTypeReference.SnapshotType == "improbable::codegen::TestType"); }