Exemple #1
0
        private static void TestLongRangeParam()
        {
            string paramName = "LongRangeParam";

            log.Info("Testing a RangeParamDesc<long>");
            Camera.IRangeParamDesc <long> desc = (Camera.IRangeParamDesc <long>)cam.GetParameter(paramName);
            long min     = desc.Min;
            long max     = desc.Max;
            long oobLow  = (long)min - 1L;
            long oobHigh = (long)max + 1L;

            // Test integer types
            SetParameterToValid(paramName, (byte)min);
            SetParameterToValid(paramName, (byte)max);
            SetParameterToValid(paramName, (short)min);
            SetParameterToValid(paramName, (short)max);
            SetParameterToValid(paramName, (int)min);
            SetParameterToValid(paramName, (int)max);
            SetParameterToValid(paramName, (long)min);
            SetParameterToValid(paramName, (long)max);
            // Test non-integer types
            SetParameterToValid(paramName, (float)min);
            SetParameterToValid(paramName, (float)max);
            SetParameterToValid(paramName, (double)min);
            SetParameterToValid(paramName, (double)max);
            //SetParameterToValid(paramName, (float)min); // disabled due to float rounding issues
            //SetParameterToValid(paramName, (float)max); // disabled due to float rounding issues
            //SetParameterToValid(paramName, (double)min); // disabled due to double rounding issues
            //SetParameterToValid(paramName, (double)max); // disabled due to double rounding issues
            //SetParameterToInvalid(paramName, (float)((float)min + 0.5f));
            //SetParameterToInvalid(paramName, (float)((float)max - 0.5f));
            //SetParameterToInvalid(paramName, (double)min + 0.5);
            //SetParameterToInvalid(paramName, (double)max - 0.5);

            // Test out-of-bounds
            SetParameterToInvalid(paramName, oobLow);
            SetParameterToInvalid(paramName, oobHigh);

            // Strings may be ok, but not if they contain a decimal separator
            SetParameterToValid(paramName, min.ToString());
            SetParameterToInvalid(paramName, min.ToString("D") + ".");
            SetParameterToInvalid(paramName, min.ToString("F1"));
            SetParameterToInvalid(paramName, min.ToString("F2"));
            SetParameterToValid(paramName, max.ToString());
            SetParameterToInvalid(paramName, max.ToString("D") + ".");
            SetParameterToInvalid(paramName, max.ToString("F1"));
            SetParameterToInvalid(paramName, max.ToString("F2"));
            // out-of-bounds
            SetParameterToInvalid(paramName, oobLow.ToString());
            SetParameterToInvalid(paramName, oobLow.ToString("D") + ".");
            SetParameterToInvalid(paramName, oobLow.ToString("F1"));
            SetParameterToInvalid(paramName, oobLow.ToString("F2"));
            SetParameterToInvalid(paramName, oobHigh.ToString());
            SetParameterToInvalid(paramName, oobHigh.ToString("D") + ".");
            SetParameterToInvalid(paramName, oobHigh.ToString("F1"));
            SetParameterToInvalid(paramName, oobHigh.ToString("F2"));
            // invalid values
            TestNonNumericValues(paramName);
        }
Exemple #2
0
        private static void TestDoubleRangeParam()
        {
            string paramName = "DoubleRangeParam";

            log.Info("Testing a RangeParamDesc<double>");
            Camera.IRangeParamDesc <double> desc = (Camera.IRangeParamDesc <double>)cam.GetParameter(paramName);
            double min     = desc.Min;
            double max     = desc.Max;
            double oobLow  = min - 0.1;
            double oobHigh = max + 0.1;

            // Test integer types
            SetParameterToValid(paramName, (byte)min);
            SetParameterToValid(paramName, (byte)max);
            SetParameterToValid(paramName, (short)min);
            SetParameterToValid(paramName, (short)max);
            SetParameterToValid(paramName, (int)min);
            SetParameterToValid(paramName, (int)max);
            SetParameterToValid(paramName, (long)min);
            SetParameterToValid(paramName, (long)max);
            // Test non-integer types
            SetParameterToValid(paramName, (float)min);
            SetParameterToValid(paramName, (float)max);
            SetParameterToValid(paramName, (double)min);
            SetParameterToValid(paramName, (double)max);
            SetParameterToValid(paramName, (double)min + 0.5);
            SetParameterToValid(paramName, (double)max - 0.5);

            // Test out-of-bounds
            SetParameterToInvalid(paramName, oobLow);
            SetParameterToInvalid(paramName, oobHigh);

            // Strings may be ok, but not if they contain a decimal separator
            // Extreme double values do not convert well with format specifier F or without a format specifier
            SetParameterToValid(paramName, min.ToString());
            SetParameterToValid(paramName, min.ToString("R"));
            SetParameterToValid(paramName, min.ToString("R") + ".");
            SetParameterToValid(paramName, min.ToString("F"));
            SetParameterToInvalid(paramName, min.ToString("F") + ".");
            SetParameterToValid(paramName, min.ToString("F1"));
            SetParameterToValid(paramName, min.ToString("F2"));
            SetParameterToValid(paramName, max.ToString());
            SetParameterToValid(paramName, max.ToString("R"));
            SetParameterToValid(paramName, max.ToString("R") + ".");
            SetParameterToValid(paramName, max.ToString("F"));
            SetParameterToInvalid(paramName, max.ToString("F") + ".");
            SetParameterToValid(paramName, max.ToString("F1"));
            SetParameterToValid(paramName, max.ToString("F2"));
            // out-of-bounds
            SetParameterToInvalid(paramName, oobLow.ToString());
            SetParameterToInvalid(paramName, oobLow.ToString("R"));
            SetParameterToInvalid(paramName, oobLow.ToString("R") + ".");
            SetParameterToInvalid(paramName, oobLow.ToString("F"));
            SetParameterToInvalid(paramName, oobLow.ToString("F") + ".");
            SetParameterToInvalid(paramName, oobLow.ToString("F1"));
            SetParameterToInvalid(paramName, oobLow.ToString("F2"));
            SetParameterToInvalid(paramName, oobHigh.ToString());
            SetParameterToInvalid(paramName, oobHigh.ToString("R"));
            SetParameterToInvalid(paramName, oobHigh.ToString("R") + ".");
            SetParameterToInvalid(paramName, oobHigh.ToString("F"));
            SetParameterToInvalid(paramName, oobHigh.ToString("F") + ".");
            SetParameterToInvalid(paramName, oobHigh.ToString("F1"));
            SetParameterToInvalid(paramName, oobHigh.ToString("F2"));
            // invalid values
            TestNonNumericValues(paramName);
        }
Exemple #3
0
        private static void TestFloatRangeParam()
        {
            string paramName = "FloatRangeParam";

            log.Info("Testing a RangeParamDesc<float>");
            Camera.IRangeParamDesc <float> desc = (Camera.IRangeParamDesc <float>)cam.GetParameter(paramName);
            float min     = desc.Min;
            float max     = desc.Max;
            float oobLow  = min - 0.1f;
            float oobHigh = max + 0.1f;

            // Test integer types
            SetParameterToValid(paramName, (byte)min);
            SetParameterToValid(paramName, (byte)max);
            SetParameterToValid(paramName, (short)min);
            SetParameterToValid(paramName, (short)max);
            SetParameterToValid(paramName, (int)min);
            SetParameterToValid(paramName, (int)max);
            SetParameterToValid(paramName, (long)min);
            SetParameterToValid(paramName, (long)max);
            // Test non-integer types
            SetParameterToValid(paramName, (float)min);
            SetParameterToValid(paramName, (float)max);
            SetParameterToValid(paramName, (double)min);
            SetParameterToValid(paramName, (double)max);
            SetParameterToValid(paramName, (float)(min + 0.5f));
            SetParameterToValid(paramName, (float)(max - 0.5f));
            SetParameterToValid(paramName, (double)min + 0.5);
            SetParameterToValid(paramName, (double)max - 0.5);

            // Test out-of-bounds
            SetParameterToInvalid(paramName, oobLow);
            SetParameterToInvalid(paramName, oobHigh);

            // Strings may be ok, but not if they contain a decimal separator
            SetParameterToValid(paramName, min.ToString());
            SetParameterToValid(paramName, min.ToString("R"));
            SetParameterToValid(paramName, min.ToString("R") + ".");
            SetParameterToValid(paramName, min.ToString("F"));
            SetParameterToInvalid(paramName, min.ToString("F") + ".");
            SetParameterToValid(paramName, min.ToString("F1"));
            SetParameterToValid(paramName, min.ToString("F2"));
            SetParameterToValid(paramName, max.ToString());
            SetParameterToValid(paramName, max.ToString("R"));
            SetParameterToValid(paramName, max.ToString("R") + ".");
            SetParameterToValid(paramName, max.ToString("F"));
            SetParameterToInvalid(paramName, max.ToString("F") + ".");
            SetParameterToValid(paramName, max.ToString("F1"));
            SetParameterToValid(paramName, max.ToString("F2"));
            // out-of-bounds
            SetParameterToInvalid(paramName, oobLow.ToString());
            SetParameterToInvalid(paramName, oobLow.ToString("R"));
            SetParameterToInvalid(paramName, oobLow.ToString("R") + ".");
            SetParameterToInvalid(paramName, oobLow.ToString("F"));
            SetParameterToInvalid(paramName, oobLow.ToString("F") + ".");
            SetParameterToInvalid(paramName, oobLow.ToString("F1"));
            SetParameterToInvalid(paramName, oobLow.ToString("F2"));
            SetParameterToInvalid(paramName, oobHigh.ToString());
            SetParameterToInvalid(paramName, oobHigh.ToString("R"));
            SetParameterToInvalid(paramName, oobHigh.ToString("R") + ".");
            SetParameterToInvalid(paramName, oobHigh.ToString("F"));
            SetParameterToInvalid(paramName, oobHigh.ToString("F") + ".");
            SetParameterToInvalid(paramName, oobHigh.ToString("F1"));
            SetParameterToInvalid(paramName, oobHigh.ToString("F2"));
            // invalid values
            TestNonNumericValues(paramName);
        }