예제 #1
0
 public void ConcatStringInteger()
 {
     Assert.AreEqual("xxx1\r\n", TestHost.Execute("'xxx' + 1"));
 }
예제 #2
0
        public void InstanceMemberAccess()
        {
            var result = TestHost.Execute(true, @"'xxx'.Length");

            Assert.AreEqual("3" + Environment.NewLine, result);
        }
예제 #3
0
        public void MemberCaseInsensitivy()
        {
            var result = TestHost.Execute(true, @"'xxx'.LENGTH");

            Assert.AreEqual("3" + Environment.NewLine, result);
        }
예제 #4
0
        public void NoParametersTest()
        {
            var result = TestHost.Execute(@"'a'.GetType().Name");

            Assert.AreEqual(typeof(System.String).Name + Environment.NewLine, result);
        }
예제 #5
0
        public void VariableAssignmentSubExpressionReturnsNull()
        {
            string result = TestHost.Execute("$($i = 10) -eq $null");

            Assert.AreEqual("True" + Environment.NewLine, result);
        }
예제 #6
0
        public void CallGetTypeMethodOnSystemEnvironmentOnWindows()
        {
            string result = TestHost.Execute("[Environment].GetType().FullName");

            Assert.AreEqual("System.RuntimeType" + Environment.NewLine, result);
        }
예제 #7
0
        public void StaticMethodOnBuiltinType()
        {
            var result = TestHost.Execute(true, @"[int]::Parse('7')");

            Assert.AreEqual("7" + Environment.NewLine, result);
        }
예제 #8
0
 public void VerbatimString()
 {
     Assert.AreEqual("xxx" + Environment.NewLine, TestHost.Execute("'xxx'"));
 }
예제 #9
0
        public void ParametersByPrefix()
        {
            var results = TestHost.Execute("$a = 10; (Get-Variable -Nam a).ToString()");

            Assert.AreEqual("$a = 10" + Environment.NewLine, results);
        }
예제 #10
0
 public void AddIntegers()
 {
     Assert.AreEqual("3" + Environment.NewLine, TestHost.Execute("1 + 2"));
 }
예제 #11
0
 public void ConcatStringInteger()
 {
     Assert.AreEqual("xxx1" + Environment.NewLine, TestHost.Execute("'xxx' + 1"));
 }
예제 #12
0
 public void AddReals(string input, string result)
 {
     Assert.AreEqual(result + Environment.NewLine, TestHost.Execute(input));
 }
예제 #13
0
 public void EmptyPSObjectDoesntThrow(string fmtCmd)
 {
     Assert.DoesNotThrow(delegate {
         TestHost.Execute("New-Object psobject | " + fmtCmd);
     });
 }
예제 #14
0
 public void VerbatimString()
 {
     Assert.AreEqual("xxx\r\n", TestHost.Execute("'xxx'"));
 }
예제 #15
0
 public void Section7_1_3_InvocationExpressions(params string[] input)
 {
     Assert.DoesNotThrow(delegate() {
         TestHost.Execute(input);
     });
 }
예제 #16
0
 public void ParametersByAliasPrefix()
 {
     Assert.DoesNotThrow(delegate() {
         TestHost.Execute("Get-Process -ProcessN mono");
     });
 }
예제 #17
0
        public void TypeFullNamePropertyOnSystemEnvironment()
        {
            string result = TestHost.Execute("[Environment].FullName");

            Assert.AreEqual("System.Environment" + Environment.NewLine, result);
        }
예제 #18
0
 public void ParametersBySingleCharacterPrefix()
 {
     Assert.DoesNotThrow(delegate() {
         TestHost.Execute("Start-Sleep -S 0");
     });
 }
예제 #19
0
        public void StaticMethodOnSystemType()
        {
            var result = TestHost.Execute(true, @"[System.Int32]::Parse('7')");

            Assert.AreEqual("7" + Environment.NewLine, result);
        }
예제 #20
0
 public void ParametersInvalid()
 {
     TestHost.Execute("Get-Process -Procecc mono");
 }
예제 #21
0
        public void StaticMethodAccessIsCaseInsensitive()
        {
            var result = TestHost.Execute(true, @"[Math]::abs(-15)");

            Assert.AreEqual("15" + Environment.NewLine, result);
        }
예제 #22
0
        public void SimpleIntegerLiteralVeryLargeNumberShouldBeDouble()
        {
            var result = TestHost.Execute(true, string.Format("({0}).GetType().Name", new string('9', 200)));

            Assert.AreEqual(typeof(System.Double).Name + Environment.NewLine, result);
        }
예제 #23
0
        //[TestCase("$()", "")] // Ignore. Works with PowerShell. From spec "If statement-list is omitted, the result is $null."
        public void SingleStatementInSubExpression(string input, string expectedResult)
        {
            var result = TestHost.Execute(true, input);

            Assert.AreEqual(expectedResult + Environment.NewLine, result);
        }
예제 #24
0
        public void SimpleIntegerLiteralVeryVeryVeryLargeNumberShouldThrow()
        {
            var result = TestHost.Execute(true, string.Format("({0}).GetType().Name", new string('9', 310)));

            StringAssert.Contains("Exception", result);
        }
예제 #25
0
 public void Section7_1_3_InvocationExpressions(params string[] input)
 {
     var result = TestHost.Execute(input);
 }
예제 #26
0
        public void LongIntegerLiteralLargeNumberShouldThrow(string typeSuffix)
        {
            var result = TestHost.Execute(true, string.Format("(9223372036854775808{0}).GetType()", typeSuffix));

            StringAssert.Contains("Exception", result);
        }
예제 #27
0
        public void FullNamePropertyOnType()
        {
            string result = TestHost.Execute("'abc'.GetType().FullName");

            Assert.AreEqual("System.String" + Environment.NewLine, result);
        }
예제 #28
0
        [TestCase("-9223372036854775808", typeof(System.Int64))] // long.MaxValue
        public void NegativeIntegerLiteralShouldBeOfType(string literal, Type expectedType)
        {
            var result = TestHost.Execute(true, string.Format("({0}).GetType().Name", literal));

            Assert.AreEqual(expectedType.Name + Environment.NewLine, result);
        }
예제 #29
0
        public void CallGetTypeOnTypeOnUnix()
        {
            string result = TestHost.Execute("'abc'.GetType().GetType().FullName");

            Assert.AreEqual("System.MonoType" + Environment.NewLine, result);
        }
예제 #30
0
 public void AddIntegers()
 {
     Assert.AreEqual("3\r\n", TestHost.Execute("1 + 2"));
 }