public void ArrayInVariableGetsEvaluatedWhenPassedToPipeline() { var cmd = String.Format("$a = @(1,2,3); $a"); var results = ReferenceHost.RawExecute(cmd); Assert.AreEqual(3, results.Count); }
public void NestedOneDimensionalArrayEvaluates() { var results = ReferenceHost.RawExecute("@(@(@('foo')))"); Assert.AreEqual(1, results.Count); Assert.AreEqual(PSObject.AsPSObject("foo"), results[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); } } }