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); }
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); }
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); }
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) }); }