public void AppendData__adds_data_to_end_of_file() { TextDataBase tb = new TextDataBase(); List <Bar> barList = new List <Bar>(); barList.Add(new Bar(10, 20, 5, 12, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(15, 25, 10, 17, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(15, 27, 8, 17, 0, DateTime.Now, DateTime.Now)); var instrument = new Instrument { Type = InstrumentType.Stock, Name = "TSLA" }; var resolution = new Resolution(TimeFrame.Hourly, 1); tb.WriteLocalData(instrument, resolution, barList); barList.Clear(); barList.Add(new Bar(0, 20, 5, 12, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(0, 25, 10, 17, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(0, 27, 8, 17, 0, DateTime.Now, DateTime.Now)); tb.AppendLocalData(instrument, resolution, barList); var rbs = tb.ReadLocalData(instrument, resolution, DateTime.Now, DateTime.Now); Assert.AreEqual(6, rbs.Count()); }
protected virtual void Awake() { _textDataBase = (TextDataBase)AssetDatabase.LoadAssetAtPath("Assets/textDataBase.asset", typeof(TextDataBase)); if (!_textDataBase) { Debug.Log("#BaseTextSetter#: cant load textdatebase asset"); } }
private void LoadFromCsv() { var path = EditorUtility.OpenFilePanel("Load dataBase from csv", Application.dataPath, "csv"); if (path != String.Empty) { var dataBase = CreateInstance <TextDataBase>(); AssetDatabase.CreateAsset(dataBase, "Assets/textDataBase.asset"); var readSource = dataBase; AssetDatabase.SaveAssets(); _textFoldout.Clear(); using StreamReader sr = new StreamReader(path); var line = sr.ReadLine(); if (line != null) { var languageIndices = line.Split(';'); foreach (var index in languageIndices) { readSource.SelectedLanguages.Add(Int32.Parse(index)); } } line = sr.ReadLine(); readSource.CurrentLanguageId = Int32.Parse(line); line = sr.ReadLine(); while (line != null) { var all = line.Split(';'); var entry = new TextEntry { ShadowId = all[0] }; for (var i = 0; i < readSource.SelectedLanguages.Count; ++i) { entry.AllTexts.Add(new StringLanguagePair(readSource.SelectedLanguages[i], all[i + 1])); } readSource.Entries.Add(entry); _textFoldout.Add(true); line = sr.ReadLine(); } _source = readSource; var allIds = readSource.Entries.Select(entry => entry.ShadowId).ToList(); AssetDatabase.SaveAssets(); EnumGenerator.Generate(allIds); for (var i = 0; i < _source.Entries.Count; ++i) { _source.Entries[i].ID = (TextId)i; } Repaint(); } }
private void OnGUI() { GUILayout.Label("Languages"); EditorGUILayout.BeginHorizontal("DataBase"); { _source = EditorGUILayout.ObjectField(_source, typeof(TextDataBase), false) as TextDataBase; if (GUILayout.Button("Generate")) { var dataBase = CreateInstance <TextDataBase>(); AssetDatabase.CreateAsset(dataBase, "Assets/textDataBase.asset"); _source = dataBase; AssetDatabase.SaveAssets(); Repaint(); } if (_source) { foreach (var unused in _source.Entries) { _textFoldout.Add(true); } } } EditorGUILayout.EndHorizontal(); DrawUiLine(new Color(0.57f, 0.57f, 0.57f), 4); if (_source) { ShowContent(); } if (GUILayout.Button("Load from csv")) { LoadFromCsv(); } if (GUILayout.Button("Clear all")) { _textFoldout.Clear(); _source = null; Repaint(); } }
public void WriteData_TextDataBase_Stock() { TextDataBase tb = new TextDataBase(); List <Bar> barList = new List <Bar>(); barList.Add(new Bar(10, 20, 5, 12, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(15, 25, 10, 17, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(15, 27, 8, 17, 0, DateTime.Now, DateTime.Now)); var instrument = new Instrument { Type = InstrumentType.Stock, Name = "MS" }; tb.WriteLocalData(instrument, new Resolution(TimeFrame.Hourly, 1), barList); var rbs = tb.ReadLocalData(instrument, new Resolution(TimeFrame.Hourly, 1), DateTime.Now, DateTime.Now); Assert.AreEqual(barList.Count, rbs.Count()); }
public void WriteData_TextDataBase_Forex() { TextDataBase tb = new TextDataBase(); List <Bar> barList = new List <Bar>(); barList.Add(Helper.GetUpBar()); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); var instrument = new Instrument { Type = InstrumentType.Forex, Name = "USD/CAD" }; tb.WriteLocalData(instrument, new Resolution(TimeFrame.Hourly, 1), barList); var rbs = tb.ReadLocalData(instrument, new Resolution(TimeFrame.Hourly, 1), DateTime.Now, DateTime.Now); Assert.AreEqual(barList.Count, rbs.Count()); }