|
|
@@ -0,0 +1,64 @@
|
|
|
+import os.path as osp
|
|
|
+import shutil
|
|
|
+import tempfile
|
|
|
+
|
|
|
+import labelme.app
|
|
|
+import labelme.config
|
|
|
+import labelme.testing
|
|
|
+
|
|
|
+
|
|
|
+here = osp.dirname(osp.abspath(__file__))
|
|
|
+data_dir = osp.join(here, 'data')
|
|
|
+
|
|
|
+
|
|
|
+def test_MainWindow_open(qtbot):
|
|
|
+ win = labelme.app.MainWindow()
|
|
|
+ qtbot.addWidget(win)
|
|
|
+ win.show()
|
|
|
+ win.close()
|
|
|
+
|
|
|
+
|
|
|
+def test_MainWindow_open_json(qtbot):
|
|
|
+ filename = osp.join(data_dir, 'apc2016_obj3.json')
|
|
|
+ labelme.testing.assert_labelfile_sanity(filename)
|
|
|
+ win = labelme.app.MainWindow(filename=filename)
|
|
|
+ qtbot.addWidget(win)
|
|
|
+ win.show()
|
|
|
+ win.close()
|
|
|
+
|
|
|
+
|
|
|
+def test_MainWindow_annotate_jpg(qtbot):
|
|
|
+ tmp_dir = tempfile.mkdtemp()
|
|
|
+ filename = osp.join(tmp_dir, 'apc2016_obj3.jpg')
|
|
|
+ shutil.copy(osp.join(data_dir, 'apc2016_obj3.jpg'),
|
|
|
+ filename)
|
|
|
+ output_file = osp.join(tmp_dir, 'apc2016_obj3.json')
|
|
|
+
|
|
|
+ config = labelme.config.get_default_config()
|
|
|
+ win = labelme.app.MainWindow(
|
|
|
+ config=config,
|
|
|
+ filename=filename,
|
|
|
+ output_file=output_file,
|
|
|
+ )
|
|
|
+ qtbot.addWidget(win)
|
|
|
+ win.show()
|
|
|
+
|
|
|
+ def check_imageData():
|
|
|
+ assert hasattr(win, 'imageData')
|
|
|
+ assert win.imageData is not None
|
|
|
+
|
|
|
+ qtbot.waitUntil(check_imageData) # wait for loadFile
|
|
|
+
|
|
|
+ label = 'shelf'
|
|
|
+ points = [
|
|
|
+ (26, 70),
|
|
|
+ (176, 730),
|
|
|
+ (986, 742),
|
|
|
+ (1184, 102),
|
|
|
+ ]
|
|
|
+ shape = label, points, None, None, 'polygon', {}
|
|
|
+ shapes = [shape]
|
|
|
+ win.loadLabels(shapes)
|
|
|
+ win.saveFile()
|
|
|
+
|
|
|
+ labelme.testing.assert_labelfile_sanity(output_file)
|