Class AchievementGatewayScriptingDefineContractTests
Holds the three places a storefront's scripting define is written to the same string: the
#if that compiles its gateway, the constant its warning quotes, and the manifest the
SDK doctor offers to set.
Inherited Members
Namespace: Serenity.UnityAchievements.Tests.Editor
Assembly: Tests.Editor.dll
Syntax
public class AchievementGatewayScriptingDefineContractTests
Remarks
AchievementPlatformScriptingDefines promises in its own class documentation that the
four strings cannot disagree, but a #if takes a bare symbol the compiler will not let a
constant stand in for — so the promise is enforceable only by reading the source. Without this
test a typo produces the one failure with nothing to point at: the doctor reports "ready", the
gateway silently stays inert, and no compiler anywhere objects.
Reading source text is the point rather than a shortcut. The excluded branch of a #if
does not exist in any assembly, so reflection cannot see the symbol that excluded it.
Constructors
AchievementGatewayScriptingDefineContractTests()
Declaration
public AchievementGatewayScriptingDefineContractTests()
Methods
AGatewayIsCompiledUnderExactlyTheDefineItsManifestOffersToSet(AchievementPlatformKind, string)
Declaration
public void AGatewayIsCompiledUnderExactlyTheDefineItsManifestOffersToSet(AchievementPlatformKind platform, string gatewayFileName)
Parameters
| Type | Name | Description |
|---|---|---|
| AchievementPlatformKind | platform | |
| string | gatewayFileName |
EveryShippedManifestNamesTheConstantTheGatewaysQuote()
Declaration
public void EveryShippedManifestNamesTheConstantTheGatewaysQuote()
TheSteamCallbackPumpIsCompiledUnderExactlyTheSteamDefine()
Declaration
public void TheSteamCallbackPumpIsCompiledUnderExactlyTheSteamDefine()