Example #1
0
    public void ShouldGenerateLodestoneUrl(long id, string expectedUrl)
    {
        var characterBrief = new CharacterBrief()
        {
            Id = id
        };
        var details = new GetCharacterData();

        var result = CharacterResultEngine.Merge(characterBrief, details);

        Assert.Equal(expectedUrl, result.LodestoneUrl);
    }
Example #2
0
    public void ShouldConvertTribe(Tribe?tribe, string?expectedTribe)
    {
        var characterBrief = new CharacterBrief();
        var details        = new GetCharacterData()
        {
            Character = new CharacterFull()
            {
                Tribe = tribe
            }
        };

        var result = CharacterResultEngine.Merge(characterBrief, details);

        Assert.Equal(expectedTribe, result.Tribe);
    }
Example #3
0
    public void ShouldConvertRace(Race?race, string?expectedRace)
    {
        var characterBrief = new CharacterBrief();
        var details        = new GetCharacterData()
        {
            Character = new CharacterFull()
            {
                Race = race
            }
        };

        var result = CharacterResultEngine.Merge(characterBrief, details);

        Assert.Equal(expectedRace, result.Race);
    }
Example #4
0
    public void ShouldRemoveDuplicates(string?input, string?expectedName)
    {
        var characterBrief = new CharacterBrief();
        var details        = new GetCharacterData()
        {
            Character = new CharacterFull()
            {
                ActiveClassJob = new ClassJob()
                {
                    Name = input
                }
            }
        };

        var result = CharacterResultEngine.Merge(characterBrief, details);

        Assert.Equal(expectedName, result.CurrentClassJob?.Name);
    }
 public static Character Merge(CharacterBrief character, GetCharacterData details)
 {
     return(new Character()
     {
         AvatarUrl = character.Avatar,
         CurrentClassJob = details.Character?.ActiveClassJob is object?new Abstractions.Business.Models.CharacterSearch.ClassJob()
         {
             Level = details.Character?.ActiveClassJob?.Level ?? 0,
             Name = RemoveDuplicates(Capitalize(details.Character?.ActiveClassJob?.Name))
         } : null,
         FreeCompany = details.FreeCompany?.Name,
         Id = character.Id,
         LodestoneUrl = $"https://na.finalfantasyxiv.com/lodestone/character/{character.Id}",
         Name = character.Name,
         Race = ConvertRace(details.Character?.Race),
         Server = character.Server,
         Tribe = ConvertTribe(details.Character?.Tribe)
     });
 }