public void TestInitialiseWithoutCustomClassPresent() { ContentNode contentNode = new ContentNode(); ESTrainingAtom atom = buildDefaultAtom(); ESAtomPhysicsInterface physics = contentNode.LocatePhysics(atom); Assert.AreEqual("EyeSkills.ESTrainingDefaultPhysics", physics.GetType().ToString()); //https://www.devjoy.com/blog/unit-testing-events-and-callbacks-in-csharp/ ESTrainingDefaultPhysics physicsConcrete = physics as ESTrainingDefaultPhysics; //physics.Initialise(atom); //Now we overwrite the initialised settings with mocks physics.Atom = atom; //We skip initialisation because it has GameObject dependencies. //Specify a different audio manager so that the ESTrainingAtom can re-route audio to our mock AudioManagerMock audioMock = new AudioManagerMock(); physicsConcrete.audioManager = audioMock; //SubTitlesVisualiserMock visMock = new SubTitlesVisualiserMock(); //physicsConcrete.subsVisualiser = visMock; //VoiceVisualiserMock subsMock = new VoiceVisualiserMock(); //physicsConcrete.voiceVisualiser = subsMock; callbackCompleted = false; physics.Start(TestCallback); Assert.True(callbackCompleted); Assert.AreEqual(audioMock.providedKey, atom.audioFile); //We don't actually initialise these anymore //Assert.True(visMock.called); //Assert.True(subsMock.called); }
public void PostInit(bool success) { Debug.Log("Initialisation reports all ok?: " + success.ToString()); //Hack to try to stop screen darkening. It doesn't seem to work in EyeSkillsInit script?!? Screen.sleepTimeout = (int)0f; Screen.sleepTimeout = SleepTimeout.NeverSleep; //If voice visualisation requested, start it. We end it when the atom expires. //if (physics.Atom.visualiseVoice){ // UnityVoiceVisualiser.instance.StartVisualisation(); //} physics.Start(Atomised); }