Пример #1
0
 /// <summary>Return true iff the tuple is full (all data sources contain this key).</summary>
 protected internal override bool Combine(object[] srcs, TupleWritable dst)
 {
     System.Diagnostics.Debug.Assert(srcs.Length == dst.Size());
     for (int i = 0; i < srcs.Length; ++i)
     {
         if (!dst.Has(i))
         {
             return(false);
         }
     }
     return(true);
 }
Пример #2
0
        private void ValidateInnerKeyValue(IntWritable k, TupleWritable v, int tupleSize,
                                           bool firstTuple, bool secondTuple)
        {
            string kvstr = "Unexpected tuple: " + Stringify(k, v);

            NUnit.Framework.Assert.IsTrue(kvstr, v.Size() == tupleSize);
            int          key  = k.Get();
            IntWritable  val0 = null;
            IntWritable  val1 = null;
            LongWritable val2 = null;

            NUnit.Framework.Assert.IsTrue(kvstr, key % 2 == 0 && key / 2 <= Items);
            NUnit.Framework.Assert.IsTrue(kvstr, key % 3 == 0 && key / 3 <= Items);
            NUnit.Framework.Assert.IsTrue(kvstr, key % 4 == 0 && key / 4 <= Items);
            if (firstTuple)
            {
                TupleWritable v0 = ((TupleWritable)v.Get(0));
                val0 = (IntWritable)v0.Get(0);
                val1 = (IntWritable)v0.Get(1);
                val2 = (LongWritable)v.Get(1);
            }
            else
            {
                if (secondTuple)
                {
                    val0 = (IntWritable)v.Get(0);
                    TupleWritable v1 = ((TupleWritable)v.Get(1));
                    val1 = (IntWritable)v1.Get(0);
                    val2 = (LongWritable)v1.Get(1);
                }
                else
                {
                    val0 = (IntWritable)v.Get(0);
                    val1 = (IntWritable)v.Get(1);
                    val2 = (LongWritable)v.Get(2);
                }
            }
            NUnit.Framework.Assert.IsTrue(kvstr, val0.Get() == 0);
            NUnit.Framework.Assert.IsTrue(kvstr, val1.Get() == 1);
            NUnit.Framework.Assert.IsTrue(kvstr, val2.Get() == 2);
        }
Пример #3
0
        /// <summary>Tests that we can write more than 64 values.</summary>
        /// <exception cref="System.Exception"/>
        public virtual void TestWideTupleBoundary()
        {
            Text emptyText = new Text("Should not be set written");

            Writable[] values = new Writable[65];
            Arrays.Fill(values, emptyText);
            values[64] = new Text("Should be the only value set written");
            TupleWritable tuple = new TupleWritable(values);

            tuple.SetWritten(64);
            for (int pos = 0; pos < tuple.Size(); pos++)
            {
                bool has = tuple.Has(pos);
                if (pos == 64)
                {
                    NUnit.Framework.Assert.IsTrue(has);
                }
                else
                {
                    NUnit.Framework.Assert.IsFalse("Tuple position is incorrectly labelled as set: "
                                                   + pos, has);
                }
            }
        }
Пример #4
0
        /// <exception cref="System.Exception"/>
        public virtual void TestWideTuple2()
        {
            Text emptyText = new Text("Should be empty");

            Writable[] values = new Writable[64];
            Arrays.Fill(values, emptyText);
            values[9] = new Text("Number 9");
            TupleWritable tuple = new TupleWritable(values);

            tuple.SetWritten(9);
            for (int pos = 0; pos < tuple.Size(); pos++)
            {
                bool has = tuple.Has(pos);
                if (pos == 9)
                {
                    NUnit.Framework.Assert.IsTrue(has);
                }
                else
                {
                    NUnit.Framework.Assert.IsFalse("Tuple position is incorrectly labelled as set: "
                                                   + pos, has);
                }
            }
        }
Пример #5
0
 /// <summary>Emit everything from the collector.</summary>
 protected internal override bool Combine(object[] srcs, TupleWritable dst)
 {
     System.Diagnostics.Debug.Assert(srcs.Length == dst.Size());
     return(true);
 }