コード例 #1
0
        public void EvaluateUndefinedInstanceVar()
        {
            InstanceVarExpression expr = new InstanceVarExpression("foo");
            DynamicObject         obj  = new DynamicObject(null);
            Context context            = new Context(obj, null);

            Assert.IsNull(expr.Evaluate(context));
        }
コード例 #2
0
        public void EvaluateDefinedInstanceVar()
        {
            InstanceVarExpression expr = new InstanceVarExpression("one");
            DynamicObject         obj  = new DynamicObject(null);

            obj.SetValue("one", 1);
            Context context = new Context(obj, null);

            Assert.AreEqual(1, expr.Evaluate(context));
        }
コード例 #3
0
ファイル: ParserTests.cs プロジェクト: parhelia512/RubySharp
        public void ParseInstanceVariableExpression()
        {
            Parser parser   = new Parser("@a");
            var    expected = new InstanceVarExpression("a");

            var result = parser.ParseExpression();

            Assert.IsNotNull(result);
            Assert.AreEqual(expected, result);

            Assert.IsNull(parser.ParseExpression());
        }
コード例 #4
0
        public void Equals()
        {
            InstanceVarExpression expr1 = new InstanceVarExpression("one");
            InstanceVarExpression expr2 = new InstanceVarExpression("two");
            InstanceVarExpression expr3 = new InstanceVarExpression("one");

            Assert.IsTrue(expr1.Equals(expr3));
            Assert.IsTrue(expr3.Equals(expr1));
            Assert.AreEqual(expr1.GetHashCode(), expr3.GetHashCode());

            Assert.IsFalse(expr1.Equals(null));
            Assert.IsFalse(expr1.Equals(123));
            Assert.IsFalse(expr1.Equals(expr2));
            Assert.IsFalse(expr2.Equals(expr1));
        }