Exemplo n.º 1
0
        public void AllFloats_Static()
        {
            var e           = _AllFloats();
            var partitioner = new _AllFloatsPartitioner(e);

            var options = new ParallelOptions();

            options.MaxDegreeOfParallelism = Environment.ProcessorCount - 1;

            Parallel.ForEach(
                partitioner,
                options,
                part =>
            {
                try
                {
                    var i      = part.I;
                    var format = part.Format;
                    var asStr  = part.AsString;
                    var res    = JSON.Deserialize <float>(asStr);
                    var reStr  = res.ToString(format);

                    var delta = Math.Abs((float.Parse(asStr) - float.Parse(reStr)));

                    var closeEnough = asStr == reStr || delta <= float.Epsilon;

                    Assert.True(closeEnough, "For i=" + i + " format=" + format + " delta=" + delta + " epsilon=" + float.Epsilon);
                }
                catch (Exception x)
                {
                    throw new Exception(part.AsString, x);
                }
            }
                );
        }
Exemplo n.º 2
0
        public void AllFloats_Dynamic()
        {
            var e           = _AllFloats();
            var partitioner = new _AllFloatsPartitioner(e);

            var options = new ParallelOptions();

            options.MaxDegreeOfParallelism = Environment.ProcessorCount - 1;

            Parallel.ForEach(
                partitioner,
                options,
                part =>
            {
                try
                {
                    DeserializeDynamicTests.CheckFloat(part);
                }
                catch (Exception x)
                {
                    throw new Exception(part.AsString, x);
                }
            }
                );
        }