diff options
Diffstat (limited to 'test/controls/control_range.cpp')
-rw-r--r-- | test/controls/control_range.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/test/controls/control_range.cpp b/test/controls/control_range.cpp new file mode 100644 index 00000000..06ec3506 --- /dev/null +++ b/test/controls/control_range.cpp @@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2019, Google Inc. + * + * control_range.cpp - ControlRange tests + */ + +#include <iostream> + +#include <libcamera/control_ids.h> +#include <libcamera/controls.h> + +#include "test.h" + +using namespace std; +using namespace libcamera; + +class ControlRangeTest : public Test +{ +protected: + int run() + { + /* + * Test information retrieval from a range with no minimum and + * maximum. + */ + ControlRange brightness; + + if (brightness.min().get<int32_t>() != 0 || + brightness.max().get<int32_t>() != 0) { + cout << "Invalid control range for Brightness" << endl; + return TestFail; + } + + /* + * Test information retrieval from a control with a minimum and + * a maximum value. + */ + ControlRange contrast(10, 200); + + if (contrast.min().get<int32_t>() != 10 || + contrast.max().get<int32_t>() != 200) { + cout << "Invalid control range for Contrast" << endl; + return TestFail; + } + + return TestPass; + } +}; + +TEST_REGISTER(ControlRangeTest) |