예제 #1
0
        public static int Main()
        {
            var valueTupleFixture = new EqualityComparerFixture <ValueTuple <byte, E, int> >();
            var v0 = new ValueTuple <byte, E, int>(3, E.RED, 11);

            bool vtCompare        = valueTupleFixture.Compare(ref v0, ref v0);
            bool vtCompareNoOpt   = valueTupleFixture.CompareNoOpt(ref v0, ref v0);
            bool vtCompareCached  = valueTupleFixture.CompareCached(ref v0, ref v0);
            bool vtCompareWrapped = valueTupleFixture.CompareWrapped(ref v0, ref v0);

            bool vtOk = vtCompare & vtCompareNoOpt & vtCompareCached & vtCompareWrapped;

            return(vtOk ? 100 : 0);
        }
예제 #2
0
        public static void ValueTupleCompareWrapped()
        {
            var valueTupleFixture = new EqualityComparerFixture <ValueTuple <byte, E, int> >();
            var v0     = new ValueTuple <byte, E, int>(3, E.RED, 11);
            var result = true;

            foreach (var iteration in Benchmark.Iterations)
            {
                using (iteration.StartMeasurement())
                {
                    result &= valueTupleFixture.BenchCompareWrapped(ref v0, Benchmark.InnerIterationCount);
                }
            }

            Consume(result);
        }