Ejemplo n.º 1
0
        /// <summary>
        /// Get a single value and attempt to format it
        /// </summary>
        public string ToString(string format, IFormatProvider formatProvider)
        {
            object value = Reference.Dereference();

            if (value == null)
            {
                return(string.Empty);
            }

            if (value is Iterator)
            {
                var items = (IList <object>)((Iterator)value).GetItem();

                if (items.Count != 1)
                {
                    return(string.Empty);
                }

                value = items[0];
            }

            if (value is ISource)
            {
                value = ((ISource)value).GetItem();
            }

            return(value is IFormattable
                    ? ((IFormattable)value).ToString(format, formatProvider)
                    : value.ToString());
        }
Ejemplo n.º 2
0
        public TupleValue(DataReference reference, int index)
        {
            var list = reference.Dereference();

            Source = list as ISource;

            Index = index;
        }
Ejemplo n.º 3
0
        public void ThenDerefernceMustResolveTheObject()
        {
            DataReference dataReference = new DataReference(Context, "testList");

            var deref = dataReference.Dereference();

            Assert.AreSame(deref, Context["testList"], "The context object was not resolved");
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Initialise
        /// </summary>
        /// <param name="refA"></param>
        /// <param name="refB"></param>
        public CrossJoin(DataReference refA, DataReference refB)
        {
            var a = refA.Dereference() as IList <object>;
            var b = refB.Dereference() as IList <object>;

            _list = a.Join(b, p => 1, p => 1, (l, r) => new List <object> {
                l, r
            }).Cast <object>().ToList();
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Initialise against a reference
 /// </summary>
 public ListSequence(DataReference reference)
 {
     ListItems = reference.Dereference() as IList <object>;
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Initialise against a reference
 /// </summary>
 public Switch(DataReference reference, IDictionary <object, object> map) : this(reference.Dereference() as ISource, map)
 {
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Initialise a new instance against a reference
 /// </summary>
 public When(DataReference reference, Op @operator, object rightHandSide)
     : this(reference.Dereference() as ISource, @operator, rightHandSide)
 {
 }
Ejemplo n.º 8
0
 public PadLeft(DataReference reference, int length, char character)
     : this(reference.Dereference() as ISource, length, character)
 {
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Initialise against a reference
 /// </summary>
 public Substring(DataReference reference, int start, int?length = null)
     : this(reference.Dereference() as ISource, start, length)
 {
 }