public async Task PublicInfoAsync_Successfully_returns_a_V4CharactersPublicInfo()
        {
            int characterId = 8976562;

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            V4CharactersPublicInfo v4CharactersPublicInfo = await internalLatestCharacter.PublicInfoAsync(characterId);

            Assert.Equal(Gender.Male, v4CharactersPublicInfo.Gender);
            Assert.Equal(109299958, v4CharactersPublicInfo.CorporationId);
            Assert.Equal(new DateTime(2015, 03, 24, 11, 37, 0), v4CharactersPublicInfo.Birthday);
        }
        public async Task AffiliationsAsync_successfully_returns_a_list_of_V1CharacterAffiliations()
        {
            IList <int> characterIds = new List <int>(23);

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V1CharacterAffiliations> getCharactersAffiliation = await internalLatestCharacter.AffiliationsAsync(characterIds);

            Assert.Equal(1, getCharactersAffiliation.Count);
            Assert.Equal(95538921, getCharactersAffiliation.First().CharacterId);
            Assert.Equal(109299958, getCharactersAffiliation.First().CorporationId);
            Assert.Equal(434243723, getCharactersAffiliation.First().AllianceId);
        }
        public async Task PortraitAsync_successfully_returns_a_V2CharactersPortrait()
        {
            int characterId = 88823;

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            V2CharactersPortrait getCharactersPortrait = await internalLatestCharacter.PortraitAsync(characterId);

            Assert.Equal("https://images.evetech.net/Character/95465499_64.jpg", getCharactersPortrait.Px64X64);
            Assert.Equal("https://images.evetech.net/Character/95465499_128.jpg", getCharactersPortrait.Px128X128);
            Assert.Equal("https://images.evetech.net/Character/95465499_256.jpg", getCharactersPortrait.Px256X256);
            Assert.Equal("https://images.evetech.net/Character/95465499_512.jpg", getCharactersPortrait.Px512X512);
        }
        public async Task CorporationHistoryAsync_successfully_returns_a_list_of_V1CharactersCorporationHistory()
        {
            int characterId = 88823;

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V1CharactersCorporationHistory> getCharactersCorporationHistory = await internalLatestCharacter.CorporationHistoryAsync(characterId);

            Assert.Equal(2, getCharactersCorporationHistory.Count);
            Assert.Equal(90000001, getCharactersCorporationHistory.First().CorporationId);
            Assert.True(getCharactersCorporationHistory.First().IsDeleted);
            Assert.Equal(new DateTime(2016, 06, 26, 20, 00, 00), getCharactersCorporationHistory.First().StartDate);
        }
        public async Task CspaCostAsync_successfully_returns_a_float()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_contacts_v1;
            IList <int>     characters  = new List <int>(2);

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            float getCharactersCspaCost = await internalLatestCharacter.CspaCostAsync(inputToken, characters);

            Assert.Equal(2950, getCharactersCspaCost);
        }
        public async Task ResearchAgentsAsync_successfully_returns_a_list_of_V1CharactersResearchAgents()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_agents_research_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V1CharactersResearchAgents> getCharactersResearchAgents = await internalLatestCharacter.ResearchAgentsAsync(inputToken);

            Assert.Equal(1, getCharactersResearchAgents.Count);
            Assert.Equal(3009358, getCharactersResearchAgents.First().AgentId);
            Assert.Equal(new DateTime(2017, 03, 23, 14, 47, 00), getCharactersResearchAgents.First().StartedAt);
        }
        public async Task TitlesAsync_successfully_returns_a_list_of_V1CharacterTitles()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_titles_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V1CharacterTitles> getCharactersTitles = await internalLatestCharacter.TitlesAsync(inputToken);

            Assert.Equal(1, getCharactersTitles.Count);
            Assert.Equal(1, getCharactersTitles.First().TitleId);
            Assert.Equal("Awesome Title", getCharactersTitles.First().Name);
        }
        public async Task FatigueAsync_successfully_returns_a_V1CharactersFatigue()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_fatigue_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            V1CharactersFatigue getCharactersFatigue = await internalLatestCharacter.FatigueAsync(inputToken);

            Assert.Equal(new DateTime(2017, 07, 05, 15, 47, 00), getCharactersFatigue.LastJumpDate);
            Assert.Equal(new DateTime(2017, 07, 06, 15, 47, 00), getCharactersFatigue.JumpFatigueExpireDate);
            Assert.Equal(new DateTime(2017, 07, 05, 15, 42, 00), getCharactersFatigue.LastUpdateDate);
        }
        public async Task BlueprintsAsync_successfully_returns_a_list_of_V2CharactersBlueprints()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_blueprints_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V2CharactersBlueprints> getCharactersBlueprint = await internalLatestCharacter.BlueprintAsync(inputToken);

            Assert.Equal(1, getCharactersBlueprint.Count);
            Assert.Equal(1000000010495, getCharactersBlueprint.First().ItemId);
            Assert.Equal(LocationFlagCharacter.Hangar, getCharactersBlueprint.First().LocationFlag);
            Assert.Equal(-1, getCharactersBlueprint.First().Runs);
        }
        public async Task ContactNotificationsAsync_successfully_returns_a_list_of_V1CharactersNotificationsContacts()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_notifications_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V1CharactersNotificationsContacts> getCharactersNotificationsContacts = await internalLatestCharacter.ContactNotificationsAsync(inputToken);

            Assert.Equal(1, getCharactersNotificationsContacts.Count);
            Assert.Equal(1, getCharactersNotificationsContacts.First().NotificationId);
            Assert.Equal(95465499, getCharactersNotificationsContacts.First().SenderCharacterId);
            Assert.Equal(new DateTime(2017, 08, 16, 10, 08, 00), getCharactersNotificationsContacts.First().SendDate);
            Assert.Equal(1.5, getCharactersNotificationsContacts.First().StandingLevel);
        }
        public async Task StatsAsync_successfully_returns_a_list_of_V2CharactersStats()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characterstats_read_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V2CharactersStats> getCharactersStats = await internalLatestCharacter.StatsAsync(inputToken);

            Assert.Equal(2, getCharactersStats.Count);
            Assert.Equal(2014, getCharactersStats.First().Year);
            Assert.Equal(365, getCharactersStats.First().Character.DaysOfActivity);
            Assert.Equal(42, getCharactersStats.First().Combat.KillsLowSec);
            Assert.Equal(365, getCharactersStats[1].Character.DaysOfActivity);
            Assert.Equal(1337, getCharactersStats[1].Combat.KillsNullSec);
        }
        public async Task StandingsAsync_successfully_returns_a_list_of_V2CharactersStandings()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_standings_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V2CharactersStandings> getCharactersStandings = await internalLatestCharacter.StandingsAsync(inputToken);

            Assert.Equal(3, getCharactersStandings.Count);
            Assert.Equal(3009841, getCharactersStandings.First().FromId);
            Assert.Equal(StandingFromType.Agent, getCharactersStandings.First().FromType);
            Assert.Equal(0.1f, getCharactersStandings.First().Standing);
            Assert.Equal(StandingFromType.NpcCorp, getCharactersStandings[1].FromType);
            Assert.Equal(StandingFromType.Faction, getCharactersStandings[2].FromType);
        }
        public async Task RolesAsync_successfully_returns_a_V2CharacterRoles()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_corporation_roles_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            V2CharacterRoles getCharactersRoles = await internalLatestCharacter.RolesAsync(inputToken);

            Assert.Equal(2, getCharactersRoles.Roles.Count);
            Assert.Equal(CharacterRoles.Director, getCharactersRoles.Roles[0]);
            Assert.Equal(CharacterRoles.StationManager, getCharactersRoles.Roles[1]);
            Assert.Equal(0, getCharactersRoles.RolesAtHq.Count);
            Assert.Equal(0, getCharactersRoles.RolesAtBase.Count);
            Assert.Equal(0, getCharactersRoles.RolesAtOther.Count);
        }
        public async Task NotificationsAsync_successfully_returns_a_list_of_V4CharactersNotifications()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_notifications_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V5CharactersNotifications> getCharactersNotifications = await internalLatestCharacter.NotificationsAsync(inputToken);

            Assert.Equal(1, getCharactersNotifications.Count);
            Assert.Equal(1, getCharactersNotifications.First().NotificationId);
            Assert.Equal(V5CharactersNotificationType.InsurancePayoutMsg, getCharactersNotifications.First().Type);
            Assert.Equal(SenderType.Corporation, getCharactersNotifications.First().SenderType);
            Assert.Equal(new DateTime(2017, 08, 16, 10, 08, 00), getCharactersNotifications.First().Timestamp);
            Assert.True(getCharactersNotifications.First().IsRead);
        }
        public async Task MedalsAsync_successfully_returns_a_list_of_V1CharactersMedals()
        {
            int             characterId = 88823;
            CharacterScopes scopes      = CharacterScopes.esi_characters_read_medals_v1;

            SsoToken inputToken = new SsoToken {
                AccessToken = "This is a old access token", RefreshToken = "This is a old refresh token", CharacterId = characterId, CharacterScopesFlags = scopes
            };

            LatestCharacterEndpoints internalLatestCharacter = new LatestCharacterEndpoints(string.Empty, true);

            IList <V1CharactersMedals> getCharactersMedals = await internalLatestCharacter.MedalsAsync(inputToken);

            Assert.Equal(1, getCharactersMedals.Count);
            Assert.Equal(3, getCharactersMedals.First().MedalId);
            Assert.Equal(new DateTime(2017, 03, 16, 15, 01, 45), getCharactersMedals.First().Date);
            Assert.Equal(MedalsStatus.Private, getCharactersMedals.First().Status);
            Assert.Equal(3, getCharactersMedals.First().Graphics.Count);
            Assert.Equal(1, getCharactersMedals.First().Graphics.First().Part);
            Assert.Equal(0, getCharactersMedals.First().Graphics.First().Layer);
            Assert.Equal("caldari.1_2", getCharactersMedals.First().Graphics[1].Graphic);
            Assert.Equal(-1, getCharactersMedals.First().Graphics[2].Color);
        }