示例#1
0
        public static void Constructor()
        {
            TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan> tupleDriverA;

            //Tuple-1
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MaxValue);
            tupleDriverA.Ctor(short.MaxValue);
            //Tuple-2
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue, int.MaxValue);
            tupleDriverA.Ctor(short.MinValue, int.MaxValue);
            //Tuple-3
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)0, (int)0, long.MaxValue);
            tupleDriverA.Ctor((short)0, (int)0, long.MaxValue);
            //Tuple-4
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)1, (int)1, long.MinValue, "This");
            tupleDriverA.Ctor((short)1, (int)1, long.MinValue, "This");
            //Tuple-5
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-1), (int)(-1), (long)0, "is", 'A');
            tupleDriverA.Ctor((short)(-1), (int)(-1), (long)0, "is", 'A');
            //Tuple-6
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10, (int)100, (long)1, "testing", 'Z', Single.MaxValue);
            tupleDriverA.Ctor((short)10, (int)100, (long)1, "testing", 'Z', Single.MaxValue);
            //Tuple-7
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-100), (int)(-1000), (long)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);
            tupleDriverA.Ctor((short)(-100), (int)(-1000), (long)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);

            object myObj = new object();
            //Tuple-10
            DateTime now = DateTime.Now;

            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
            tupleDriverA.Ctor((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
        }
示例#2
0
        public static void IncomparableTypes()
        {
            TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, bool, TimeSpan> tupleDriverA;

            //Tuple-1
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, bool, TimeSpan>((short)10000);
            tupleDriverA.CompareToThrows();
            // This is for code coverage purposes
            //Tuple-2
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, bool, TimeSpan>((short)10000, (int)1000000);
            tupleDriverA.CompareToThrows();
            //Tuple-3
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, bool, TimeSpan>((short)10000, (int)1000000, (long)10000000);
            tupleDriverA.CompareToThrows();
            //Tuple-4
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, bool, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?");
            tupleDriverA.CompareToThrows();
            //Tuple-5
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, bool, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0');
            tupleDriverA.CompareToThrows();
            //Tuple-6
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, bool, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', Single.NaN);
            tupleDriverA.CompareToThrows();
            //Tuple-7
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, bool, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', Single.NaN, Double.NegativeInfinity);
            tupleDriverA.CompareToThrows();
            //Tuple-8, extended tuple
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, bool, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', Single.NaN, Double.NegativeInfinity, DateTime.Now);
            tupleDriverA.CompareToThrows();
            //Tuple-9 and Tuple-10 are not necessary because they use the same code path as Tuple-8
        }
示例#3
0
        public static void ToStringTest()
        {
            TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan> tupleDriverA;

            //Tuple-1
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MaxValue);
            tupleDriverA.ToString("(" + short.MaxValue + ")");
            //Tuple-2
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue, int.MaxValue);
            tupleDriverA.ToString("(" + short.MinValue + ", " + int.MaxValue + ")");
            //Tuple-3
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)0, (int)0, long.MaxValue);
            tupleDriverA.ToString("(" + ((short)0) + ", " + ((int)0) + ", " + long.MaxValue + ")");
            //Tuple-4
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)1, (int)1, long.MinValue, "This");
            tupleDriverA.Ctor((short)1, (int)1, long.MinValue, "This");
            tupleDriverA.ToString("(" + ((short)1) + ", " + ((int)1) + ", " + long.MinValue + ", This)");
            //Tuple-5
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-1), (int)(-1), (long)0, "is", 'A');
            tupleDriverA.ToString("(" + ((short)(-1)) + ", " + ((int)(-1)) + ", " + ((long)0) + ", is, A)");
            //Tuple-6
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10, (int)100, (long)1, "testing", 'Z', Single.MaxValue);
            tupleDriverA.ToString("(" + ((short)10) + ", " + ((int)100) + ", " + ((long)1) + ", testing, Z, " + Single.MaxValue + ")");
            //Tuple-7
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-100), (int)(-1000), (long)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);
            tupleDriverA.ToString("(" + ((short)(-100)) + ", " + ((int)(-1000)) + ", " + ((long)(-1)) + ", Tuples,  , " + Single.MinValue + ", " + Double.MaxValue + ")");

            object myObj = new object();
            //Tuple-10
            DateTime now = DateTime.Now;

            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
            // .NET Native bug 438149 - object.ToString in incorrect
            tupleDriverA.ToString("(" + ((short)10000) + ", " + ((int)1000000) + ", " + ((long)10000000) + ", 2008?7?2?, 0, " + ((Single)0.0001) + ", " + ((Double)0.0000001) + ", " + now + ", (False, System.Object), " + TimeSpan.Zero + ")");
        }
示例#4
0
            public void Equals_GetHashCode(TupleTestDriver <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> other, bool expectEqual, bool expectStructuallyEqual)
            {
                if (expectEqual)
                {
                    Assert.True(Tuple.Equals(other.Tuple));
                    Assert.Equal(Tuple.GetHashCode(), other.Tuple.GetHashCode());
                }
                else
                {
                    Assert.False(Tuple.Equals(other.Tuple));
                    Assert.NotEqual(Tuple.GetHashCode(), other.Tuple.GetHashCode());
                }

                if (expectStructuallyEqual)
                {
                    var equatable      = ((IStructuralEquatable)Tuple);
                    var otherEquatable = ((IStructuralEquatable)other.Tuple);
                    Assert.True(equatable.Equals(other.Tuple, TestEqualityComparer.Instance));
                    Assert.Equal(equatable.GetHashCode(TestEqualityComparer.Instance), otherEquatable.GetHashCode(TestEqualityComparer.Instance));
                }
                else
                {
                    var equatable      = ((IStructuralEquatable)Tuple);
                    var otherEquatable = ((IStructuralEquatable)other.Tuple);
                    Assert.False(equatable.Equals(other.Tuple, TestEqualityComparer.Instance));
                    Assert.NotEqual(equatable.GetHashCode(TestEqualityComparer.Instance), otherEquatable.GetHashCode(TestEqualityComparer.Instance));
                }

                Assert.False(Tuple.Equals(null));
                Assert.False(((IStructuralEquatable)Tuple).Equals(null));

                IStructuralEquatable_Equals_NullComparer_ThrowsNullReferenceException();
                IStructuralEquatable_GetHashCode_NullComparer_ThrowsNullReferenceException();
            }
示例#5
0
    public static void IncomparableTypes()
    {
        TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Boolean, TimeSpan> tupleDriverA;

        //Tuple-1
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Boolean, TimeSpan>((Int16)10000);
        tupleDriverA.TestCompareToThrows();
        // This is for code coverage purposes
        //Tuple-2
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Boolean, TimeSpan>((Int16)10000, (Int32)1000000);
        tupleDriverA.TestCompareToThrows();
        //Tuple-3
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Boolean, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000);
        tupleDriverA.TestCompareToThrows();
        //Tuple-4
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Boolean, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日");
        tupleDriverA.TestCompareToThrows();
        //Tuple-5
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Boolean, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日", '0');
        tupleDriverA.TestCompareToThrows();
        //Tuple-6
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Boolean, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日", '0', Single.NaN);
        tupleDriverA.TestCompareToThrows();
        //Tuple-7
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Boolean, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日", '0', Single.NaN, Double.NegativeInfinity);
        tupleDriverA.TestCompareToThrows();
        //Tuple-8, extended tuple
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Boolean, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日", '0', Single.NaN, Double.NegativeInfinity, DateTime.Now);
        tupleDriverA.TestCompareToThrows();
        //Tuple-9 and Tuple-10 are not necesary because they use the same code path as Tuple-8
    }
示例#6
0
    public static void TestToString()
    {
        TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan> tupleDriverA;

        //Tuple-1
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MaxValue);
        tupleDriverA.TestToString("(" + Int16.MaxValue + ")");
        //Tuple-2
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MinValue, Int32.MaxValue);
        tupleDriverA.TestToString("(" + Int16.MinValue + ", " + Int32.MaxValue + ")");
        //Tuple-3
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)0, (Int32)0, Int64.MaxValue);
        tupleDriverA.TestToString("(" + ((Int16)0) + ", " + ((Int32)0) + ", " + Int64.MaxValue + ")");
        //Tuple-4
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)1, (Int32)1, Int64.MinValue, "This");
        tupleDriverA.TestConstructor((Int16)1, (Int32)1, Int64.MinValue, "This");
        tupleDriverA.TestToString("(" + ((Int16)1) + ", " + ((Int32)1) + ", " + Int64.MinValue + ", This)");
        //Tuple-5
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-1), (Int32)(-1), (Int64)0, "is", 'A');
        tupleDriverA.TestToString("(" + ((Int16)(-1)) + ", " + ((Int32)(-1)) + ", " + ((Int64)0) + ", is, A)");
        //Tuple-6
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10, (Int32)100, (Int64)1, "testing", 'Z', Single.MaxValue);
        tupleDriverA.TestToString("(" + ((Int16)10) + ", " + ((Int32)100) + ", " + ((Int64)1) + ", testing, Z, " + Single.MaxValue + ")");
        //Tuple-7
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-100), (Int32)(-1000), (Int64)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);
        tupleDriverA.TestToString("(" + ((Int16)(-100)) + ", " + ((Int32)(-1000)) + ", " + ((Int64)(-1)) + ", Tuples,  , " + Single.MinValue + ", " + Double.MaxValue + ")");

        Object myObj = new Object();
        //Tuple-10
        DateTime now = DateTime.Now;

        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
        // .NET Native bug 438149 - object.ToString in incorrect
        tupleDriverA.TestToString("(" + ((Int16)10000) + ", " + ((Int32)1000000) + ", " + ((Int64)10000000) + ", 2008年7月2日, 0, " + ((Single)0.0001) + ", " + ((Double)0.0000001) + ", " + now + ", (False, System.Object), " + TimeSpan.Zero + ")");
    }
示例#7
0
    public static void TestConstructor()
    {
        TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan> tupleDriverA;

        //Tuple-1
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MaxValue);
        tupleDriverA.TestConstructor(Int16.MaxValue);
        //Tuple-2
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MinValue, Int32.MaxValue);
        tupleDriverA.TestConstructor(Int16.MinValue, Int32.MaxValue);
        //Tuple-3
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)0, (Int32)0, Int64.MaxValue);
        tupleDriverA.TestConstructor((Int16)0, (Int32)0, Int64.MaxValue);
        //Tuple-4
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)1, (Int32)1, Int64.MinValue, "This");
        tupleDriverA.TestConstructor((Int16)1, (Int32)1, Int64.MinValue, "This");
        //Tuple-5
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-1), (Int32)(-1), (Int64)0, "is", 'A');
        tupleDriverA.TestConstructor((Int16)(-1), (Int32)(-1), (Int64)0, "is", 'A');
        //Tuple-6
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10, (Int32)100, (Int64)1, "testing", 'Z', Single.MaxValue);
        tupleDriverA.TestConstructor((Int16)10, (Int32)100, (Int64)1, "testing", 'Z', Single.MaxValue);
        //Tuple-7
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-100), (Int32)(-1000), (Int64)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);
        tupleDriverA.TestConstructor((Int16)(-100), (Int32)(-1000), (Int64)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);

        Object myObj = new Object();
        //Tuple-10
        DateTime now = DateTime.Now;

        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
        tupleDriverA.TestConstructor((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
    }
示例#8
0
            public void CompareTo(TupleTestDriver <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> other, int expectedResult, int expectedStructuralResult)
            {
                Assert.Equal(expectedResult, ((IComparable)Tuple).CompareTo(other.Tuple));
                Assert.Equal(expectedStructuralResult, ((IStructuralComparable)Tuple).CompareTo(other.Tuple, TestComparer.Instance));
                Assert.Equal(1, ((IComparable)Tuple).CompareTo(null));

                IStructuralComparable_NullComparer_ThrowsNullReferenceException();
            }
示例#9
0
        public static void CompareTo()
        {
            TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan> tupleDriverA, tupleDriverB, tupleDriverC;

            //Tuple-1
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue);
            tupleDriverA.CompareTo(tupleDriverB, 0, 5);
            tupleDriverA.CompareTo(tupleDriverC, 65535, 5);
            //Tuple-2
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue, int.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue, int.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue, int.MinValue);
            tupleDriverA.CompareTo(tupleDriverB, 0, 5);
            tupleDriverA.CompareTo(tupleDriverC, 1, 5);
            //Tuple-3
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)0, (int)0, long.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)0, (int)0, long.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-1), (int)(-1), long.MinValue);
            tupleDriverA.CompareTo(tupleDriverB, 0, 5);
            tupleDriverA.CompareTo(tupleDriverC, 1, 5);
            //Tuple-4
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)1, (int)1, long.MinValue, "This");
            tupleDriverB = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)1, (int)1, long.MinValue, "This");
            tupleDriverC = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)1, (int)1, long.MinValue, "this");
            tupleDriverA.CompareTo(tupleDriverB, 0, 5);
            tupleDriverA.CompareTo(tupleDriverC, 1, 5);
            //Tuple-5
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-1), (int)(-1), (long)0, "is", 'A');
            tupleDriverB = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-1), (int)(-1), (long)0, "is", 'A');
            tupleDriverC = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)0, (int)0, (long)1, "IS", 'a');
            tupleDriverA.CompareTo(tupleDriverB, 0, 5);
            tupleDriverA.CompareTo(tupleDriverC, -1, 5);
            //Tuple-6
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10, (int)100, (long)1, "testing", 'Z', Single.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10, (int)100, (long)1, "testing", 'Z', Single.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10, (int)100, (long)1, "testing", 'Z', Single.MinValue);
            tupleDriverA.CompareTo(tupleDriverB, 0, 5);
            tupleDriverA.CompareTo(tupleDriverC, 1, 5);
            //Tuple-7
            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-100), (int)(-1000), (long)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-100), (int)(-1000), (long)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-101), (int)(-1001), (long)(-2), "tuples", ' ', Single.MinValue, (Double)0.0);
            tupleDriverA.CompareTo(tupleDriverB, 0, 5);
            tupleDriverA.CompareTo(tupleDriverC, 1, 5);

            object myObj = new object();
            //Tuple-10
            DateTime now = DateTime.Now;

            tupleDriverA = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
            tupleDriverB = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
            tupleDriverC = new TupleTestDriver <short, int, long, string, Char, Single, Double, DateTime, Tuple <bool, object>, TimeSpan>((short)10001, (int)1000001, (long)10000001, "2008?7?3?", '1', (Single)0.0002, (Double)0.0000002, now.AddMilliseconds(1), Tuple.Create(true, myObj), TimeSpan.MaxValue);
            tupleDriverA.CompareTo(tupleDriverB, 0, 5);
            tupleDriverA.CompareTo(tupleDriverC, -1, 5);
        }
示例#10
0
    public static void TestCompareTo()
    {
        TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan> tupleDriverA, tupleDriverB, tupleDriverC;

        //Tuple-1
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MaxValue);
        tupleDriverB = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MaxValue);
        tupleDriverC = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MinValue);
        tupleDriverA.TestCompareTo(tupleDriverB, 0, 5);
        tupleDriverA.TestCompareTo(tupleDriverC, 65535, 5);
        //Tuple-2
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MinValue, Int32.MaxValue);
        tupleDriverB = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MinValue, Int32.MaxValue);
        tupleDriverC = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>(Int16.MinValue, Int32.MinValue);
        tupleDriverA.TestCompareTo(tupleDriverB, 0, 5);
        tupleDriverA.TestCompareTo(tupleDriverC, 1, 5);
        //Tuple-3
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)0, (Int32)0, Int64.MaxValue);
        tupleDriverB = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)0, (Int32)0, Int64.MaxValue);
        tupleDriverC = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-1), (Int32)(-1), Int64.MinValue);
        tupleDriverA.TestCompareTo(tupleDriverB, 0, 5);
        tupleDriverA.TestCompareTo(tupleDriverC, 1, 5);
        //Tuple-4
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)1, (Int32)1, Int64.MinValue, "This");
        tupleDriverB = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)1, (Int32)1, Int64.MinValue, "This");
        tupleDriverC = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)1, (Int32)1, Int64.MinValue, "this");
        tupleDriverA.TestCompareTo(tupleDriverB, 0, 5);
        tupleDriverA.TestCompareTo(tupleDriverC, 1, 5);
        //Tuple-5
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-1), (Int32)(-1), (Int64)0, "is", 'A');
        tupleDriverB = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-1), (Int32)(-1), (Int64)0, "is", 'A');
        tupleDriverC = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)0, (Int32)0, (Int64)1, "IS", 'a');
        tupleDriverA.TestCompareTo(tupleDriverB, 0, 5);
        tupleDriverA.TestCompareTo(tupleDriverC, -1, 5);
        //Tuple-6
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10, (Int32)100, (Int64)1, "testing", 'Z', Single.MaxValue);
        tupleDriverB = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10, (Int32)100, (Int64)1, "testing", 'Z', Single.MaxValue);
        tupleDriverC = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10, (Int32)100, (Int64)1, "testing", 'Z', Single.MinValue);
        tupleDriverA.TestCompareTo(tupleDriverB, 0, 5);
        tupleDriverA.TestCompareTo(tupleDriverC, 1, 5);
        //Tuple-7
        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-100), (Int32)(-1000), (Int64)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);
        tupleDriverB = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-100), (Int32)(-1000), (Int64)(-1), "Tuples", ' ', Single.MinValue, Double.MaxValue);
        tupleDriverC = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)(-101), (Int32)(-1001), (Int64)(-2), "tuples", ' ', Single.MinValue, (Double)0.0);
        tupleDriverA.TestCompareTo(tupleDriverB, 0, 5);
        tupleDriverA.TestCompareTo(tupleDriverC, 1, 5);

        Object myObj = new Object();
        //Tuple-10
        DateTime now = DateTime.Now;

        tupleDriverA = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
        tupleDriverB = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10000, (Int32)1000000, (Int64)10000000, "2008年7月2日", '0', (Single)0.0001, (Double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
        tupleDriverC = new TupleTestDriver <Int16, Int32, Int64, String, Char, Single, Double, DateTime, Tuple <Boolean, Object>, TimeSpan>((Int16)10001, (Int32)1000001, (Int64)10000001, "2008年7月3日", '1', (Single)0.0002, (Double)0.0000002, now.AddMilliseconds(1), Tuple.Create(true, myObj), TimeSpan.MaxValue);
        tupleDriverA.TestCompareTo(tupleDriverB, 0, 5);
        tupleDriverA.TestCompareTo(tupleDriverC, -1, 5);
    }
示例#11
0
        public void TestEquals_GetHashCode(TupleTestDriver <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> other, bool expectEqual, bool expectStructuallyEqual)
        {
            if (expectEqual)
            {
                Assert.True(Tuple.Equals(other.Tuple));
                Assert.Equal(Tuple.GetHashCode(), other.Tuple.GetHashCode());
            }

            if (expectStructuallyEqual)
            {
                var equatable      = ((IStructuralEquatable)Tuple);
                var otherEquatable = ((IStructuralEquatable)other.Tuple);
                Assert.True(equatable.Equals(other.Tuple, TestEqualityComparer.Instance));
                Assert.Equal(equatable.GetHashCode(TestEqualityComparer.Instance), otherEquatable.GetHashCode(TestEqualityComparer.Instance));
            }

            Assert.False(Tuple.Equals(null));
        }
示例#12
0
        public static void Equals_GetHashCode()
        {
            TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan> tupleDriverA, tupleDriverB, tupleDriverC, tupleDriverD;

            //Tuple-1
            tupleDriverA = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>(short.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>(short.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue);
            tupleDriverD = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>(short.MaxValue, int.MaxValue);
            tupleDriverA.Equals_GetHashCode(tupleDriverB, true, true);
            tupleDriverA.Equals_GetHashCode(tupleDriverC, false, false);
            tupleDriverA.Equals_GetHashCode(tupleDriverD, false, false);
            //Tuple-2
            tupleDriverA = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue, int.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue, int.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>(short.MinValue, int.MinValue);
            tupleDriverD = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-1), (int)(-1), long.MinValue);
            tupleDriverA.Equals_GetHashCode(tupleDriverB, true, true);
            tupleDriverA.Equals_GetHashCode(tupleDriverC, false, false);
            tupleDriverA.Equals_GetHashCode(tupleDriverD, false, false);
            //Tuple-3
            tupleDriverA = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)0, (int)0, long.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)0, (int)0, long.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-1), (int)(-1), long.MinValue);
            tupleDriverD = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)1, (int)1, long.MinValue, "this");
            tupleDriverA.Equals_GetHashCode(tupleDriverB, true, true);
            tupleDriverA.Equals_GetHashCode(tupleDriverC, false, false);
            tupleDriverA.Equals_GetHashCode(tupleDriverD, false, false);
            //Tuple-4
            tupleDriverA = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)1, (int)1, long.MinValue, "This");
            tupleDriverB = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)1, (int)1, long.MinValue, "This");
            tupleDriverC = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)1, (int)1, long.MinValue, "this");
            tupleDriverD = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)0, (int)0, (long)1, "IS", 'a');
            tupleDriverA.Equals_GetHashCode(tupleDriverB, true, true);
            tupleDriverA.Equals_GetHashCode(tupleDriverC, false, false);
            tupleDriverA.Equals_GetHashCode(tupleDriverD, false, false);
            //Tuple-5
            tupleDriverA = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-1), (int)(-1), (long)0, "is", 'A');
            tupleDriverB = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-1), (int)(-1), (long)0, "is", 'A');
            tupleDriverC = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)0, (int)0, (long)1, "IS", 'a');
            tupleDriverD = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)10, (int)100, (long)1, "testing", 'Z', float.MinValue);
            tupleDriverA.Equals_GetHashCode(tupleDriverB, true, true);
            tupleDriverA.Equals_GetHashCode(tupleDriverC, false, false);
            tupleDriverA.Equals_GetHashCode(tupleDriverD, false, false);
            //Tuple-6
            tupleDriverA = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)10, (int)100, (long)1, "testing", 'Z', float.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)10, (int)100, (long)1, "testing", 'Z', float.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)10, (int)100, (long)1, "testing", 'Z', float.MinValue);
            tupleDriverD = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-101), (int)(-1001), (long)(-2), "tuples", ' ', float.MinValue, (double)0.0);
            tupleDriverA.Equals_GetHashCode(tupleDriverB, true, true);
            tupleDriverA.Equals_GetHashCode(tupleDriverC, false, false);
            tupleDriverA.Equals_GetHashCode(tupleDriverD, false, false);
            //Tuple-7
            tupleDriverA = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-100), (int)(-1000), (long)(-1), "Tuples", ' ', float.MinValue, double.MaxValue);
            tupleDriverB = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-100), (int)(-1000), (long)(-1), "Tuples", ' ', float.MinValue, double.MaxValue);
            tupleDriverC = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)(-101), (int)(-1001), (long)(-2), "tuples", ' ', float.MinValue, (double)0.0);
            tupleDriverD = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)10001, (int)1000001, (long)10000001, "2008?7?3?", '1', (float)0.0002, (double)0.0000002, DateTime.Now.AddMilliseconds(1));
            tupleDriverA.Equals_GetHashCode(tupleDriverB, true, true);
            tupleDriverA.Equals_GetHashCode(tupleDriverC, false, false);
            tupleDriverA.Equals_GetHashCode(tupleDriverD, false, false);

            object myObj = new object();
            //Tuple-10
            DateTime now = DateTime.Now;

            tupleDriverA = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', (float)0.0001, (double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
            tupleDriverB = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)10000, (int)1000000, (long)10000000, "2008?7?2?", '0', (float)0.0001, (double)0.0000001, now, Tuple.Create(false, myObj), TimeSpan.Zero);
            tupleDriverC = new TupleTestDriver <short, int, long, string, char, float, double, DateTime, Tuple <bool, object>, TimeSpan>((short)10001, (int)1000001, (long)10000001, "2008?7?3?", '1', (float)0.0002, (double)0.0000002, now.AddMilliseconds(1), Tuple.Create(true, myObj), TimeSpan.MaxValue);
            tupleDriverA.Equals_GetHashCode(tupleDriverB, true, true);
            tupleDriverA.Equals_GetHashCode(tupleDriverC, false, false);
        }
示例#13
0
 public void TestCompareTo(TupleTestDriver <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> other, int expectedResult, int expectedStructuralResult)
 {
     Assert.AreEqual(expectedResult, ((IComparable)Tuple).CompareTo(other.Tuple));
     Assert.AreEqual(expectedStructuralResult, ((IStructuralComparable)Tuple).CompareTo(other.Tuple, TestComparer.Instance));
     Assert.AreEqual(1, ((IComparable)Tuple).CompareTo(null));
 }