Beispiel #1
0
        public void WarewolfIterator_Construct_GivenList()
        {
            var item1 = DataStorage.WarewolfAtom.NewDataString("some string");
            var item2 = DataStorage.WarewolfAtom.NewFloat(3.2);
            var item3 = DataStorage.WarewolfAtom.NewInt(1234);
            var item4 = DataStorage.WarewolfAtom.NewPositionedValue(new Tuple <int, DataStorage.WarewolfAtom>(3, DataStorage.WarewolfAtom.NewDataString("positioned value")));

            var values = new List <DataStorage.WarewolfAtom>
            {
                item1,
                item2,
                item3,
                item4,
            };

            var warewolfAtomList       = new WarewolfAtomList <DataStorage.WarewolfAtom>(DataStorage.WarewolfAtom.NewDataString("some default value"), values);
            var warewolfAtomListResult = CommonFunctions.WarewolfEvalResult.NewWarewolfAtomListresult(warewolfAtomList);

            var iterator = new WarewolfIterator(warewolfAtomListResult);

            Assert.AreEqual("\r\n", iterator.NewLineFormat);

            Assert.AreEqual(4, iterator.GetLength());

            Assert.IsTrue(iterator.HasMoreData());
            Assert.AreEqual("some string", iterator.GetNextValue());
            Assert.IsTrue(iterator.HasMoreData());
            Assert.AreEqual("3.2", iterator.GetNextValue());
            Assert.IsTrue(iterator.HasMoreData());
            Assert.AreEqual("1234", iterator.GetNextValue());
            Assert.IsTrue(iterator.HasMoreData());
            Assert.AreEqual("positioned value", iterator.GetNextValue());
            Assert.IsFalse(iterator.HasMoreData());
        }
Beispiel #2
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());
        }
Beispiel #3
0
        public void WarewolfIterator_Should()
        {
            var listResult   = CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(DataStorage.WarewolfAtom.Nothing);
            var atomIterator = new WarewolfIterator(listResult);

            Assert.IsNotNull(atomIterator);
            var privateObj = new PrivateObject(atomIterator);
            var maxVal     = (int)privateObj.GetField("_maxValue");

            Assert.IsNotNull(maxVal);
            var length = atomIterator.GetLength();

            Assert.AreEqual(maxVal, length);
        }
Beispiel #4
0
        public void WarewolfIterator_Construct_GivenScalarWithUnixNewLine()
        {
            var item1 = DataStorage.WarewolfAtom.NewDataString("some \nstring");

            var warewolfAtomResult = CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(item1);

            var iterator = new WarewolfIterator(warewolfAtomResult);

            Assert.AreEqual("\n", iterator.NewLineFormat);

            Assert.AreEqual(1, iterator.GetLength());

            Assert.IsTrue(iterator.HasMoreData());
            Assert.AreEqual("some \nstring", iterator.GetNextValue());
        }
Beispiel #5
0
        public void WarewolfIterator_Construct_GivenScalarWithInvalidCalculate()
        {
            var item1 = DataStorage.WarewolfAtom.NewDataString("!~calculation~!\"2- nos2w()-200\"!~~calculation~!");

            var warewolfAtomResult = CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(item1);

            var iterator = new WarewolfIterator(warewolfAtomResult, Common.Interfaces.Diagnostics.Debug.FunctionEvaluatorOption.DotNetDateTimeFormat);

            Assert.AreEqual("\r\n", iterator.NewLineFormat);

            Assert.AreEqual(1, iterator.GetLength());

            Assert.IsTrue(iterator.HasMoreData());
            var nowString = iterator.GetNextValue();

            Assert.AreEqual("2- nos2w()-200", nowString);
        }
Beispiel #6
0
        public void WarewolfIterator_Construct_GivenScalarWithCalculate()
        {
            var item1 = DataStorage.WarewolfAtom.NewDataString("!~calculation~!\"now()\"!~~calculation~!");

            var warewolfAtomResult = CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(item1);

            var iterator = new WarewolfIterator(warewolfAtomResult, Common.Interfaces.Diagnostics.Debug.FunctionEvaluatorOption.DotNetDateTimeFormat);

            Assert.AreEqual("\r\n", iterator.NewLineFormat);

            Assert.AreEqual(1, iterator.GetLength());

            Assert.IsTrue(iterator.HasMoreData());
            var realNow   = DateTime.Now;
            var nowString = iterator.GetNextValue();
            var now       = DateTime.Parse(nowString, System.Globalization.CultureInfo.InvariantCulture);

            Assert.IsTrue(now > realNow);
        }
Beispiel #7
0
        public void WarewolfIterator_Construct_GivenEmptyCalculate()
        {
            var item1 = DataStorage.WarewolfAtom.NewDataString("!~calculation~!!~~calculation~!");

            var warewolfAtomResult = CommonFunctions.WarewolfEvalResult.NewWarewolfAtomResult(item1);

            var iterator = new WarewolfIterator(warewolfAtomResult, Common.Interfaces.Diagnostics.Debug.FunctionEvaluatorOption.DotNetDateTimeFormat);

            Assert.AreEqual("\r\n", iterator.NewLineFormat);

            Assert.AreEqual(1, iterator.GetLength());

            Assert.IsTrue(iterator.HasMoreData());
            try
            {
                var nowString = iterator.GetNextValue();
                Assert.Fail("expected exception Nothing to Evaluate");
            }
            catch (Exception e)
            {
                Assert.AreEqual("Nothing to Evaluate", e.Message);
            }
        }