Esempio n. 1
0
        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;
 }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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)
 {
 }