示例#1
0
        public void ArrayInVariableGetsEvaluatedWhenPassedToPipeline()
        {
            var cmd     = String.Format("$a = @(1,2,3); $a");
            var results = ReferenceHost.RawExecute(cmd);

            Assert.AreEqual(3, results.Count);
        }
示例#2
0
        public void NestedOneDimensionalArrayEvaluates()
        {
            var results = ReferenceHost.RawExecute("@(@(@('foo')))");

            Assert.AreEqual(1, results.Count);
            Assert.AreEqual(PSObject.AsPSObject("foo"), results[0]);
        }
示例#3
0
        public static void ExecuteAndCompareTypedResult(string cmd, params object[] expectedValues)
        {
            var results = ReferenceHost.RawExecute(cmd);

            Assert.AreEqual(expectedValues.Length, results.Count);
            for (int i = 0; i < expectedValues.Length; i++)
            {
                var expected = expectedValues[i];
                if (expected == null)
                {
                    Assert.IsNull(results[i]);
                    continue;
                }
                var res     = results[i].BaseObject;
                var restype = res.GetType();
                Assert.AreSame(expected.GetType(), restype);
                if (restype == typeof(double))
                {
                    var dres = (double)res;
                    var diff = dres - ((double)expected);
                    var msg  = String.Format("Not equal: {0} != {1}", expected, dres);
                    Assert.LessOrEqual(diff, Math.Abs(dres) * 0.00001, msg);
                }
                else
                {
                    Assert.AreEqual(expected, res);
                }
            }
        }