Class AchievementManifestExporterTests
Tests for AchievementManifestExporter: the exact bytes each storefront's manifest carries, and every reason an achievement can fail to reach one.
Inherited Members
Namespace: Serenity.Achievements.Tests.Authoring
Assembly: Tests.dll
Syntax
public class AchievementManifestExporterTests
Remarks
Golden strings rather than field-by-field assertions, because the deliverable IS the text: a column reordered, a line ending changed or a quote left unescaped is a file an importer rejects, and only a comparison of the whole thing catches all three. The JSON shape has its own suite next door, where the text is also parsed back with a real reader.
Constructors
AchievementManifestExporterTests()
Declaration
public AchievementManifestExporterTests()
Methods
ARowCoercesEveryNullTextToEmpty()
Declaration
public void ARowCoercesEveryNullTextToEmpty()
ARowRefusesToBeBuiltFromNothing()
Declaration
public void ARowRefusesToBeBuiltFromNothing()
Describe_GroupsTheSkippedAchievementsByTheFixTheyNeed()
Declaration
public void Describe_GroupsTheSkippedAchievementsByTheFixTheyNeed()
Describe_SaysHowManyWereExportedWhenNothingWasSkipped()
Declaration
public void Describe_SaysHowManyWereExportedWhenNothingWasSkipped()
Export_EpicCsv_CarriesNoGamerscoreColumn()
Declaration
public void Export_EpicCsv_CarriesNoGamerscoreColumn()
Export_IgnoresNullRows()
Declaration
public void Export_IgnoresNullRows()
Export_KeepsTheArrivalOrderOfTwoAchievementsSharingAnId()
Declaration
public void Export_KeepsTheArrivalOrderOfTwoAchievementsSharingAnId()
Export_OfNoAchievementsWritesTheHeaderAlone()
Declaration
public void Export_OfNoAchievementsWritesTheHeaderAlone()
Export_OfNullWritesTheHeaderAlone()
Declaration
public void Export_OfNullWritesTheHeaderAlone()
Export_OrdersRowsByIdOrdinalWhateverOrderTheyArriveIn()
Declaration
public void Export_OrdersRowsByIdOrdinalWhateverOrderTheyArriveIn()
Export_PlayStationCsv_SkipsAchievementsWithNoTrophyId()
Declaration
public void Export_PlayStationCsv_SkipsAchievementsWithNoTrophyId()
Export_PlayStationCsv_SkipsAndReportsATrophyWithNoGrade()
PlayStation has no "none" tier, so a trophy with no grade is a row the upload rejects. It has to be
reported, never written as none.
Declaration
public void Export_PlayStationCsv_SkipsAndReportsATrophyWithNoGrade()
Export_PlayStationCsv_WritesTheTrophyGradeLowercased()
Declaration
public void Export_PlayStationCsv_WritesTheTrophyGradeLowercased()
Export_ReportsAuthoringErrorsAheadOfAMissingIdentifier()
A broken achievement that also names no identifier is reported as broken, because that is the fix that has to happen first — typing a Steam name into it would still leave it unexportable.
Declaration
public void Export_ReportsAuthoringErrorsAheadOfAMissingIdentifier()
Export_SkipsAndReportsAnAchievementTheAuthoringRulesReject()
Declaration
public void Export_SkipsAndReportsAnAchievementTheAuthoringRulesReject()
Export_SteamCsv_DoesNotMindAMissingTrophyGrade()
Declaration
public void Export_SteamCsv_DoesNotMindAMissingTrophyGrade()
Export_SteamCsv_EscapesCommasQuotesAndNewlinesInKeys()
Declaration
public void Export_SteamCsv_EscapesCommasQuotesAndNewlinesInKeys()
Export_SteamCsv_KeepsUnicodeKeysIntact()
Declaration
public void Export_SteamCsv_KeepsUnicodeKeysIntact()
Export_SteamCsv_NamesASkippedAchievementThatHasNoIdAtAll()
Declaration
public void Export_SteamCsv_NamesASkippedAchievementThatHasNoIdAtAll()
Export_SteamCsv_QuotesKeysWhoseWhitespaceWouldBeTrimmedAway()
Declaration
public void Export_SteamCsv_QuotesKeysWhoseWhitespaceWouldBeTrimmedAway()
Export_SteamCsv_SkipsAndReportsAchievementsWithNoSteamApiName()
Declaration
public void Export_SteamCsv_SkipsAndReportsAchievementsWithNoSteamApiName()
Export_SteamCsv_WritesANegativeProgressTargetAsItIs()
Declaration
public void Export_SteamCsv_WritesANegativeProgressTargetAsItIs()
Export_SteamCsv_WritesHeaderAndOneRowPerAchievement()
Declaration
public void Export_SteamCsv_WritesHeaderAndOneRowPerAchievement()
Export_XboxCsv_WritesNumberBoundariesInFull()
Declaration
public void Export_XboxCsv_WritesNumberBoundariesInFull()
Export_XboxCsv_WritesPointsAsGamerscore()
Declaration
public void Export_XboxCsv_WritesPointsAsGamerscore()
FileExtensionOf_IsCsvForEveryStorefrontAndJsonForTheDump()
Declaration
public void FileExtensionOf_IsCsvForEveryStorefrontAndJsonForTheDump()
IdentifierFor_ReadsTheColumnEachStorefrontIsKeyedBy()
Declaration
public void IdentifierFor_ReadsTheColumnEachStorefrontIsKeyedBy()
PlatformOf_MapsEachCsvFormatToItsStorefront()
Declaration
public void PlatformOf_MapsEachCsvFormatToItsStorefront()
SkippedIds_ListsTheIdsInTheOrderTheyWereSkipped()
Declaration
public void SkippedIds_ListsTheIdsInTheOrderTheyWereSkipped()