public void Init() { parser = new ScenarioParser(); List <IInfo> plugIns = new List <IInfo>(); plugIns.Add(new Info("Age-only succession", typeof(PlugIns.ISuccession), null)); string[] disturbancePlugIns = new string[] { "Null.Disturbance", "Age-only.Wind", "Age-only.Fire", "Harvest" }; foreach (string name in disturbancePlugIns) { plugIns.Add(new Info(name, typeof(PlugIns.IDisturbance), null)); } string[] outputPlugIns = new string[] { "Test.DumpEcoregions", "Test.DumpSpecies" }; foreach (string name in outputPlugIns) { plugIns.Add(new Info(name, typeof(PlugIns.IOutput), null)); } PlugIns.Manager.Initialize(plugIns); Data.Output.WriteLine("{0} = \"{1}\"", dataDirPlaceholder, Data.Directory); Data.Output.WriteLine(); }
public void ParseText_InvalidLineKeyword_ReturnsZero() { string text = "NOTEXISTING 001 1 4990 0 0.1 0.1 10\n"; List <Vessel> actual = ScenarioParser.ParseText(text); int expected = 0; Assert.AreEqual(expected, actual.Count); }
public void ParseText_EmptyText_ReturnsEmptyList() { string text = "\n"; List <Vessel> actual = ScenarioParser.ParseText(text); List <Vessel> expected = new List <Vessel>(); Assert.AreEqual(expected.Count, actual.Count); }
public void ParseText_InvalidLineValue_ThrowsFormatException() { Assert.Throws <System.FormatException>( delegate { string text = "NEWT 001 1 4990 a 0.1 0.1 10\n"; ScenarioParser.ParseText(text); } ); }
public void ParseText_InvalidSimulationDetails_ThrowsFormatException() { string text = "STARTTIME 0\n" + "TIMESTEP A\n" + "TIME B\n" + "RANGE 500\n"; Assert.Throws <System.FormatException>( delegate { ScenarioParser.ParseText(text); } ); }
public void ParseText_ValidLine_ReturnsListWithOneVesselObject() { string text = "NEWT 001 1 4990 0 0.1 0.1 10\n"; List <Vessel> actual = ScenarioParser.ParseText(text); List <Vessel> expected = new List <Vessel>(); expected.Add(new Vessel(new string[] { "NEWT", "1", "1", "4990", "0", "0.1", "0.1", "10" })); Assert.AreEqual(expected.Count, actual.Count); for (int i = 0; i != expected.Count; i++) { Assert.IsTrue(new VesselComparer().Equals(expected[i], actual[i])); } }
public void Init() { PlugInDataset plugIns = new PlugInDataset(); plugIns.AddPlugIn("Age-only succession", "succession", null); plugIns.AddPlugIn("Null.Disturbance", "disturbance", null); plugIns.AddPlugIn("Age-only.Wind", "disturbance:wind", null); plugIns.AddPlugIn("Age-only.Fire", "disturbance:fire", null); plugIns.AddPlugIn("Harvest", "disturbance:harvest", null); plugIns.AddPlugIn("Test.DumpEcoregions", "output", null); plugIns.AddPlugIn("Test.DumpSpecies", "output", null); parser = new ScenarioParser(plugIns); }
public void ParseText_ValidSimulationFloatDetails_ReturnsFilledScenarionParser_Simulator() { string text = "STARTTIME 0.3\n" + "TIMESTEP 1.1\n" + "TIME 500.5\n" + "RANGE 500\n"; ScenarioParser.ParseText(text); float expectedStartTime = 0.3f; float expectedTimeStep = 1.1f; float expectedTime = 500.5f; Assert.AreEqual(expectedStartTime, ScenarioParser.Simulator.StartTime, float.Epsilon); Assert.AreEqual(expectedTimeStep, ScenarioParser.Simulator.TimeStep, float.Epsilon); Assert.AreEqual(expectedTime, ScenarioParser.Simulator.Time, float.Epsilon); }
// Use this for initialization void Start() { scenarioDetails = new List <ScenarioDetail>(); scenesFolderPath = Path.Combine(Path.Combine("AssetBundles", BaseLoader.GetPlatformFolderForAssetBundles(Application.platform)), "scenario"); sceneBundlePaths = Directory.GetFiles(Path.Combine(Application.streamingAssetsPath, scenesFolderPath)) .Where(file => file.Substring(file.Length - 8) != "manifest" && file.Substring(file.Length - 4) != "meta").ToList(); int i = 0; foreach (var sceneBundlePath in sceneBundlePaths) { var sceneListItem = (GameObject)Instantiate(listItemPrefab, transform, false); var path = sceneBundlePath.Replace('\\', '/').Split('/'); var sceneName = path[path.Length - 1]; var detail = ScenarioParser.ParseScenario(sceneName); sceneListItem.transform.Find("Text").GetComponent <Text>().text = detail.Phobia + " : " + detail.Name; scenarioDetails.Add(detail); //The first scene is selected by default if (i == 0) { selectedSceneName = sceneName; } int currentIndex = i; sceneListItem.GetComponent <Button>().onClick.AddListener(() => { selectedSceneName = sceneName; detailPanel.ShowScenarioDetail(scenarioDetails[currentIndex]); }); i++; } if (scenarioDetails.Count > 0) { detailPanel.ShowScenarioDetail(scenarioDetails[0]); } }
public void ParseText_ValidSimulationIntegerDetails_ReturnsFilledScenarionParser_Simulator() { string text = "STARTTIME 0\n" + "TIMESTEP 1\n" + "TIME 500\n" + "RANGE 500\n"; ScenarioParser.ParseText(text); float expectedStartTime = 0f; float expectedTimeStep = 1f; float expectedTime = 500f; int expectedRange = 500; Assert.AreEqual(expectedStartTime, ScenarioParser.Simulator.StartTime, float.Epsilon); Assert.AreEqual(expectedTimeStep, ScenarioParser.Simulator.TimeStep, float.Epsilon); Assert.AreEqual(expectedTime, ScenarioParser.Simulator.Time, float.Epsilon); Assert.AreEqual(expectedRange, ScenarioParser.Simulator.Range); }
public void Init() { parser = new ScenarioParser(); List<IInfo> plugIns = new List<IInfo>(); plugIns.Add(new Info("Age-only succession", typeof(PlugIns.ISuccession), null)); string[] disturbancePlugIns = new string[] {"Null.Disturbance", "Age-only.Wind", "Age-only.Fire", "Harvest" }; foreach (string name in disturbancePlugIns) plugIns.Add(new Info(name, typeof(PlugIns.IDisturbance), null)); string[] outputPlugIns = new string[] {"Test.DumpEcoregions", "Test.DumpSpecies" }; foreach (string name in outputPlugIns) plugIns.Add(new Info(name, typeof(PlugIns.IOutput), null)); PlugIns.Manager.Initialize(plugIns); }
public void StartNew(string path) { Stream stream = new Utilities.DecryptStream(File.OpenRead(path)); mCommandList = ScenarioParser.Parse(stream); mCursor = 0; mName = string.Empty; mContext = string.Empty; for (int i = 0; i < 8; i++) { mIds[i] = null; if (mCrtBase[i] != null) { mCrtBase[i].Dispose(); } if (mCrtAdditional[i] != null) { mCrtAdditional[i].Dispose(); } mCrtBase[i] = null; mCrtAdditional[i] = null; } mBG = -1; mBGColor = Color.Black; ScenarioCommand title = mCommandList[mCursor++]; if (!(title is TitleCommand)) // no title { mCursor = 0; Title = null; Invalidate(); return; } Title = (title as TitleCommand).Title; Invalidate(); }
public static void Load() { _activeScenario = ScenarioParser.Parse(Resources.Load <TextAsset>("Scenario/Scenario")); }