public void WarewolfIterator_Construct_GivenRecordset() { var expectedResult = "some string0,3.2,1234,positioned value0,some string1,4.2,1235,positioned value1,some string2,5.2,1236,positioned value2,some string3,6.2,1237,positioned value3"; IEnumerable <Tuple <string, WarewolfAtomList <DataStorage.WarewolfAtom> > > generateElements() { for (int i = 0; i < 4; i++) { var warewolfAtomList = new WarewolfAtomList <DataStorage.WarewolfAtom>(DataStorage.WarewolfAtom.NewDataString("some default value"), new List <DataStorage.WarewolfAtom> { DataStorage.WarewolfAtom.NewDataString("some string" + i), DataStorage.WarewolfAtom.NewFloat(3.2 + i), DataStorage.WarewolfAtom.NewInt(1234 + i), DataStorage.WarewolfAtom.NewPositionedValue(new Tuple <int, DataStorage.WarewolfAtom>(3 + i, DataStorage.WarewolfAtom.NewDataString("positioned value" + i))), }); yield return(new Tuple <string, WarewolfAtomList <DataStorage.WarewolfAtom> >("col" + i, warewolfAtomList)); } } var fSharpMap = new Microsoft.FSharp.Collections.FSharpMap <string, WarewolfAtomList <DataStorage.WarewolfAtom> >(generateElements()); var warewolfRecordset = new DataStorage.WarewolfRecordset(fSharpMap, DataStorage.WarewolfAttribute.Sorted, 0, 0); var warewolfRecordsetResult = CommonFunctions.WarewolfEvalResult.NewWarewolfRecordSetResult(warewolfRecordset); var iterator = new WarewolfIterator(warewolfRecordsetResult); Assert.AreEqual("\r\n", iterator.NewLineFormat); Assert.AreEqual(1, iterator.GetLength()); Assert.IsTrue(iterator.HasMoreData()); Assert.AreEqual(expectedResult, iterator.GetNextValue()); Assert.IsFalse(iterator.HasMoreData()); }
public DebugItemWarewolfRecordset(DataStorage.WarewolfRecordset warewolfRecordset, string variable, string labelText, string operand, bool mockSelected) { _warewolfRecordset = warewolfRecordset; _labelText = labelText; _operand = operand; _variable = variable; Type = DebugItemResultType.Variable; _mockSelected = mockSelected; }
private static IEnumerable <DataStorage.WarewolfAtom> EvalAsListHelper(DataStorage.WarewolfRecordset recSetData) { var data = recSetData.Data.ToArray(); var listOfData = new List <DataStorage.WarewolfAtom>(); foreach (var keyValuePair in data) { if (keyValuePair.Key == "WarewolfPositionColumn") { continue; } listOfData.AddRange(keyValuePair.Value.ToList()); } return(listOfData); }
private static string WarewolfEvalResultToStringHelper(DataStorage.WarewolfRecordset recSetData) { var data = recSetData.Data.ToArray(); var listOfData = new List <string>(); foreach (var keyValuePair in data) { if (keyValuePair.Key == "WarewolfPositionColumn") { continue; } listOfData.AddRange(keyValuePair.Value.Select(WarewolfAtomToString).ToList()); } return(string.Join(",", listOfData)); }
object GetEvalResult(CommonFunctions.WarewolfEvalResult evalResult, int i) { if (evalResult.IsWarewolfAtomListresult) { WarewolfAtomList <DataStorage.WarewolfAtom> lst = ((CommonFunctions.WarewolfEvalResult.WarewolfAtomListresult)evalResult).Item; if (i > lst.Count) { return(null); } return(CommonFunctions.atomToJsonCompatibleObject(lst[i])); } if (evalResult.IsWarewolfAtomResult) { if (i == 0) { return(CommonFunctions.evalResultToJsonCompatibleObject(evalResult)); } return(null); } if (evalResult.IsWarewolfRecordSetResult) { DataStorage.WarewolfRecordset recset = ((CommonFunctions.WarewolfEvalResult.WarewolfRecordSetResult)EvalResult).Item; KeyValuePair <string, WarewolfAtomList <DataStorage.WarewolfAtom> >[] data = recset.Data.ToArray(); var jObjects = new List <JObject>(); for (int j = 0; j < recset.Count; j++) { var a = new JObject(); foreach (KeyValuePair <string, WarewolfAtomList <DataStorage.WarewolfAtom> > pair in data) { if (pair.Key != FsInteropFunctions.PositionColumn) { try { a.Add(new JProperty(pair.Key, CommonFunctions.atomToJsonCompatibleObject(pair.Value[j]))); } catch (Exception) { a.Add(new JProperty(pair.Key, null)); } } } jObjects.Add(a); } return(jObjects); } throw new Exception(ErrorResource.InvalidResultTypeFromWarewolfStorage); }
public DebugItemWarewolfRecordset(DataStorage.WarewolfRecordset warewolfRecordset, string variable, string labelText, string operand) : this(warewolfRecordset, variable, labelText, operand, false) { }