logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class AchievementSdkInspectorTests

    EditMode tests for AchievementSdkInspector: that every point of the install-then-define transaction is reported for what it is, that a define set without its SDK is called out as the compile-breaking state it is, and that the doctor cannot fetch anything.

    Inheritance
    object
    AchievementSdkInspectorTests
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.UnityAchievements.Tests.Editor
    Assembly: Tests.Editor.dll
    Syntax
    public class AchievementSdkInspectorTests
    Remarks

    No storefront SDK is installed in this repository and none ever will be, so both lookups are supplied as functions. That is the whole reason the inspector takes them: the states that only occur on a machine with an SDK would otherwise be unreachable, and the one state that breaks a project is among them. Nothing here writes a real scripting define — flipping one would trigger a domain reload mid-run and change the project the suite is measuring.

    Constructors

    AchievementSdkInspectorTests()

    Declaration
    public AchievementSdkInspectorTests()

    Methods

    ALicenseeOnlySdkThatIsAbsent_IsReportedAsSuppliedByTheLicensee()

    Declaration
    public void ALicenseeOnlySdkThatIsAbsent_IsReportedAsSuppliedByTheLicensee()

    ALicenseeOnlySdkThatWasInstalled_CanStillBeEnabled()

    Declaration
    public void ALicenseeOnlySdkThatWasInstalled_CanStillBeEnabled()

    APlatformDefineOwnedByUnity_IsNeverOfferedForEditing()

    Declaration
    public void APlatformDefineOwnedByUnity_IsNeverOfferedForEditing()

    APlatformDefineOwnedByUnity_IsTrustedWhenUnitySetIt()

    Declaration
    public void APlatformDefineOwnedByUnity_IsTrustedWhenUnitySetIt()

    AnUnverifiablePlatform_SaysSoInsteadOfClaimingSomethingIsMissing()

    Declaration
    public void AnUnverifiablePlatform_SaysSoInsteadOfClaimingSomethingIsMissing()

    DefineSetWithoutTheSdk_IsAnErrorThatNamesBothWaysOut()

    Declaration
    public void DefineSetWithoutTheSdk_IsAnErrorThatNamesBothWaysOut()

    InspectAll_AProbeThatThrowsForOneStorefront_StillInspectsTheOthers()

    One storefront that cannot be measured must cost only itself. The probe reaches into whatever the project loaded, so a half-loaded assembly or a broken package can throw — and a window that showed no rows at all would hide three healthy storefronts behind one broken question.

    Declaration
    public void InspectAll_AProbeThatThrowsForOneStorefront_StillInspectsTheOthers()

    InspectAll_ReportsEveryShippedStorefrontOnce()

    Declaration
    public void InspectAll_ReportsEveryShippedStorefrontOnce()

    InspectAll_WithoutLookups_RefusesRatherThanReportingFourUnknowns()

    Declaration
    public void InspectAll_WithoutLookups_RefusesRatherThanReportingFourUnknowns()

    Inspect_WithoutLookups_RefusesRatherThanGuessing()

    Declaration
    public void Inspect_WithoutLookups_RefusesRatherThanGuessing()

    MarkerTypeAbsentAndDefineUnset_IsNotInstalled()

    Declaration
    public void MarkerTypeAbsentAndDefineUnset_IsNotInstalled()

    MarkerTypePresentAndDefineSet_IsReady()

    Declaration
    public void MarkerTypePresentAndDefineSet_IsReady()

    MarkerTypePresentAndDefineUnset_IsInstalledDefineMissing()

    Declaration
    public void MarkerTypePresentAndDefineUnset_IsInstalledDefineMissing()

    TheDoctorAssembly_CannotReachTheNetwork()

    The doctor's promise, guarded where it can actually be broken: its assembly cannot reach a network type at all. A window that grew a downloader would be writing executable code from a remote URL into someone's project, which is the one thing this tool must not do — and there is no way to assert the absence of a behaviour by running it.

    Declaration
    public void TheDoctorAssembly_CannotReachTheNetwork()

    TheDoctor_NamesNoMemberAfterFetchingSomething()

    Secondary guard, kept because a downloader can be written with nothing but System.IO and a socket the reference check would not name: a member CALLED Download is the shape a future edit would take.

    Declaration
    public void TheDoctor_NamesNoMemberAfterFetchingSomething()
    In this article
    © 2026 Serenity. All Rights Reserved