summaryrefslogtreecommitdiffstats
path: root/test/test-mock.c
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2014-08-08 10:08:52 +0200
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2014-08-13 14:50:05 +0200
commita389a30e57a038dcfc83dc2814d56a4a1c9a6084 (patch)
tree4ac0ac99502280cbed19c64c4040d60d960a253f /test/test-mock.c
parentdfa5d1b2fe44226092f87362ba1558df41efa4d6 (diff)
downloaduca-a389a30e57a038dcfc83dc2814d56a4a1c9a6084.tar.gz
uca-a389a30e57a038dcfc83dc2814d56a4a1c9a6084.tar.bz2
uca-a389a30e57a038dcfc83dc2814d56a4a1c9a6084.tar.xz
uca-a389a30e57a038dcfc83dc2814d56a4a1c9a6084.zip
Fix #41: add write accessibility API
Diffstat (limited to 'test/test-mock.c')
-rw-r--r--test/test-mock.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/test/test-mock.c b/test/test-mock.c
index 16ef30c..c0acc9c 100644
--- a/test/test-mock.c
+++ b/test/test-mock.c
@@ -225,6 +225,34 @@ test_overwriting_units (Fixture *fixture, gconstpointer data)
uca_camera_register_unit (fixture->camera, "sensor-width", UCA_UNIT_PIXEL);
}
+static void
+test_can_be_written (Fixture *fixture, gconstpointer data)
+{
+ GError *error = NULL;
+
+ /* read-only cannot ever be written */
+ g_assert (!uca_camera_is_writable_during_acquisition (fixture->camera, "name"));
+
+ /* unset properties cannot be written */
+ g_assert (!uca_camera_is_writable_during_acquisition (fixture->camera, "roi-width"));
+
+ /* check trivial cases */
+ uca_camera_set_writable (fixture->camera, "roi-width", TRUE);
+ g_assert (uca_camera_is_writable_during_acquisition (fixture->camera, "roi-width"));
+
+ uca_camera_set_writable (fixture->camera, "roi-height", FALSE);
+ g_assert (!uca_camera_is_writable_during_acquisition (fixture->camera, "roi-height"));
+
+ /* Now, do a real test */
+ uca_camera_set_writable (fixture->camera, "roi-height", TRUE);
+ uca_camera_start_recording (fixture->camera, &error);
+ g_assert_no_error (error);
+
+ g_object_set (fixture->camera, "roi-height", 128, NULL);
+ uca_camera_stop_recording (fixture->camera, &error);
+ g_assert_no_error (error);
+}
+
int main (int argc, char *argv[])
{
gsize n_tests;
@@ -251,7 +279,8 @@ int main (int argc, char *argv[])
{"/properties/binnings", test_binnings_properties},
{"/properties/frames-per-second", test_fps_property},
{"/properties/units", test_property_units},
- {"/properties/units/overwrite", test_overwriting_units}
+ {"/properties/units/overwrite", test_overwriting_units},
+ {"/properties/can-be-written", test_can_be_written},
};
n_tests = sizeof(tests) / sizeof(tests[0]);