public void ScenarioConfigurationOverwrittenDuringDeserialization() { m_TestObject = new GameObject(); m_Scenario = m_TestObject.AddComponent <TestFixedLengthScenario>(); var constants = new FixedLengthScenario.Constants { framesPerIteration = 2, totalIterations = 2 }; var changedConstants = new FixedLengthScenario.Constants { framesPerIteration = 0, totalIterations = 0 }; // Serialize some values m_Scenario.constants = constants; var serializedConfig = m_Scenario.SerializeToJson(); // Change the values m_Scenario.constants = changedConstants; m_Scenario.DeserializeFromJson(serializedConfig); // Check if the values reverted correctly Assert.AreEqual(m_Scenario.constants.framesPerIteration, constants.framesPerIteration); Assert.AreEqual(m_Scenario.constants.totalIterations, constants.totalIterations); }
// TODO: update this function once the perception camera doesn't skip the first frame IEnumerator CreateNewScenario(int totalIterations, int framesPerIteration) { m_Scenario = m_TestObject.AddComponent <TestFixedLengthScenario>(); m_Scenario.constants.totalIterations = totalIterations; m_Scenario.constants.framesPerIteration = framesPerIteration; yield return(null); // Skip first frame yield return(null); // Skip first Update() frame }
public void ScenarioConfigurationSerializesProperly() { m_TestObject = new GameObject(); m_Scenario = m_TestObject.AddComponent <TestFixedLengthScenario>(); m_Scenario.AddRandomizer(new RotationRandomizer()); string RemoveWhitespace(string str) => string.Join("", str.Split(default(string[]), StringSplitOptions.RemoveEmptyEntries)); var expectedConfigAsset = (TextAsset)Resources.Load("SampleScenarioConfiguration"); var expectedText = RemoveWhitespace(expectedConfigAsset.text); var scenarioJson = RemoveWhitespace(m_Scenario.SerializeToJson()); Assert.AreEqual(expectedText, scenarioJson); }