Exemple #1
0
        public void SetValue_SingleIdExpressionNullSetterAction_UpdatesValue()
        {
            var person = _fixture.Create <Person>();
            Expression <Func <Person, int> > idExpr = a => a.ID;
            var identifierInfo = new ExpressionAndSetterIdentifierInfo <Person>(idExpr, null, false);

            identifierInfo.SetValue(person, "123");

            Assert.Equal(123, person.ID);
        }
Exemple #2
0
        public void GetValue_SingleIdExpression_Correct()
        {
            var person = _fixture.Create <Person>();
            Expression <Func <Person, int> > idExpr = a => a.ID;
            var identifierInfo = new ExpressionAndSetterIdentifierInfo <Person>(idExpr, null, false);

            var result = identifierInfo.GetValue(person);

            Assert.Equal(person.ID, result);
        }
Exemple #3
0
        public void SetValue_SingleIdExpressionSetterActionAddsOne_UpdatesValueWithAddedOne()
        {
            var person = _fixture.Create <Person>();
            Expression <Func <Person, int> > idExpr = a => a.ID;
            Action <Person, string>          setter = (p, s) => p.ID = int.Parse(s) + 1;
            var identifierInfo = new ExpressionAndSetterIdentifierInfo <Person>(idExpr, setter, false);

            identifierInfo.SetValue(person, "123");

            Assert.Equal(124, person.ID);
        }
Exemple #4
0
        public void GetValue_MultiIdExpression_Correct()
        {
            var person = _fixture.Create <Person>();
            Expression <Func <Person, IEnumerable <string> > > namesExpr = a => a.Names;
            var identifierInfo = new ExpressionAndSetterIdentifierInfo <Person>(namesExpr, null, true);

            var result = identifierInfo.GetValue(person);

            var enumerable = Assert.IsAssignableFrom <IEnumerable <string> >(result);

            Assert.True(person.Names.SequenceEqual(enumerable));
        }
Exemple #5
0
        public void GetPredicate_SingleIdExpression_DoesntFilterCorrectID()
        {
            var person = _fixture.Create <Person>();
            Expression <Func <Person, int> > idExpr = a => a.ID;
            var identifierInfo = new ExpressionAndSetterIdentifierInfo <Person>(idExpr, null, false);

            Expression <Func <Person, bool> > predicate = identifierInfo.GetPredicate(person.ID.ToString());

            var filtered = (new[] { person }).AsQueryable().Where(predicate);

            Assert.Equal(1, filtered.Count());
        }