public void OneRandomizerInstancePerTypeTest()
 {
     m_Scenario = m_TestObject.AddComponent <FixedLengthScenario>();
     m_Scenario.quitOnComplete = false;
     m_Scenario.CreateRandomizer <ExampleTransformRandomizer>();
     Assert.Throws <ScenarioException>(() => m_Scenario.CreateRandomizer <ExampleTransformRandomizer>());
 }
 public void RandomizerOnCreateMethodNotCalledInEditMode()
 {
     // TestRandomizer.OnCreate() should NOT be called here while in edit-mode
     // if ScenarioBase.CreateRandomizer<>() was coded correctly
     Assert.DoesNotThrow(() =>
     {
         m_Scenario.CreateRandomizer <ErrorsOnCreateTestRandomizer>();
     });
 }
        public IEnumerator OnUpdateExecutesEveryFrame()
        {
            yield return(CreateNewScenario(10, 1));

            m_Scenario.CreateRandomizer <ExampleTransformRandomizer>();
            var transform       = m_TestObject.transform;
            var initialPosition = Vector3.zero;

            transform.position = initialPosition;

            yield return(null);

            Assert.AreNotEqual(initialPosition, transform.position);
            // ReSharper disable once Unity.InefficientPropertyAccess
            initialPosition = transform.position;

            yield return(null);

            // ReSharper disable once Unity.InefficientPropertyAccess
            Assert.AreNotEqual(initialPosition, transform.position);
        }