Beispiel #1
0
 def setUp(self):
     self.tcf = TestCaseFile()
     filectrl = TestCaseFileController(self.tcf)
     filectrl.resource_import_modified = Mock()
     resource_file_controller_mock = lambda:0
     resource_file_controller_mock.add_known_import = lambda *_:0
     resu_factory_mock = lambda:0
     resu_factory_mock.find_with_import = lambda *_: resource_file_controller_mock
     self.ctrl = ImportSettingsController(filectrl, self.tcf.setting_table, resu_factory_mock)
 def setUp(self):
     self._parent = lambda:0
     self._parent.mark_dirty = lambda:0
     self._parent.datafile_controller = self._parent
     self._parent.update_namespace = lambda:0
     self._table = TestCaseFileSettingTable(lambda:0)
     self.ctrl = ImportSettingsController(self._parent, self._table)
     self._lib1 = self.ctrl.add_library('libbi1', '', '')
     self._lib2 = self.ctrl.add_library('libbi2', '', '')
     self.assertEqual([self._lib1.name, self._lib2.name], [l.name for l in self.ctrl])
Beispiel #3
0
 def setUp(self):
     self.tcf = TestCaseFile()
     self.tcf.setting_table.add_library('somelib', ['foo', 'bar'])
     self.tcf.setting_table.add_resource('resu')
     self.tcf.setting_table.add_library('BuiltIn', ['WITH NAME', 'InBuilt'])
     self.tcf_ctrl = TestCaseFileController(self.tcf, ImportControllerTest.FakeParent())
     self.tcf_ctrl.data.directory = 'tmp'
     self.parent = ImportSettingsController(self.tcf_ctrl, self.tcf.setting_table,
         resource_file_controller_factory=self._resource_file_controller_factory_mock())
     self.add_import_listener = PublisherListener(RideImportSettingAdded)
     self.changed_import_listener = PublisherListener(RideImportSettingChanged)
     self.removed_import_listener = PublisherListener(RideImportSettingRemoved)
     self.import_listener = PublisherListener(RideImportSetting)
Beispiel #4
0
 def setUp(self):
     self.tcf = TestCaseFile()
     filectrl = TestCaseFileController(self.tcf)
     filectrl.resource_import_modified = Mock()
     resource_file_controller_mock = lambda:0
     resource_file_controller_mock.add_known_import = lambda *_:0
     resu_factory_mock = lambda:0
     resu_factory_mock.find_with_import = lambda *_: resource_file_controller_mock
     self.ctrl = ImportSettingsController(filectrl, self.tcf.setting_table, resu_factory_mock)
Beispiel #5
0
 def setUp(self):
     self._parent = lambda:0
     self._parent.mark_dirty = lambda:0
     self._parent.datafile_controller = self._parent
     self._parent.update_namespace = lambda:0
     self._table = TestCaseFileSettingTable(lambda:0)
     self.ctrl = ImportSettingsController(self._parent, self._table)
     self._lib1 = self.ctrl.add_library('libbi1', '', '')
     self._lib2 = self.ctrl.add_library('libbi2', '', '')
     self.assertEqual([self._lib1.name, self._lib2.name], [l.name for l in self.ctrl])
Beispiel #6
0
class LibraryImportListOperationsTest(unittest.TestCase):

    def setUp(self):
        self._parent = lambda:0
        self._parent.mark_dirty = lambda:0
        self._parent.datafile_controller = self._parent
        self._parent.update_namespace = lambda:0
        self._table = TestCaseFileSettingTable(lambda:0)
        self.ctrl = ImportSettingsController(self._parent, self._table)
        self._lib1 = self.ctrl.add_library('libbi1', '', '')
        self._lib2 = self.ctrl.add_library('libbi2', '', '')
        self.assertEqual([self._lib1.name, self._lib2.name], [l.name for l in self.ctrl])

    def test_move_up(self):
        self.ctrl.move_up(1)
        self.assertEqual([self._lib2.name, self._lib1.name], [l.name for l in self.ctrl])

    def test_move_down(self):
        self.ctrl.move_down(0)
        self.assertEqual([self._lib2.name, self._lib1.name], [l.name for l in self.ctrl])
class LibraryImportListOperationsTest(unittest.TestCase):

    def setUp(self):
        self._parent = lambda:0
        self._parent.mark_dirty = lambda:0
        self._parent.datafile_controller = self._parent
        self._parent.update_namespace = lambda:0
        self._table = TestCaseFileSettingTable(lambda:0)
        self.ctrl = ImportSettingsController(self._parent, self._table)
        self._lib1 = self.ctrl.add_library('libbi1', '', '')
        self._lib2 = self.ctrl.add_library('libbi2', '', '')
        self.assertEqual([self._lib1.name, self._lib2.name], [l.name for l in self.ctrl])

    def test_move_up(self):
        self.ctrl.move_up(1)
        self.assertEqual([self._lib2.name, self._lib1.name], [l.name for l in self.ctrl])

    def test_move_down(self):
        self.ctrl.move_down(0)
        self.assertEqual([self._lib2.name, self._lib1.name], [l.name for l in self.ctrl])
Beispiel #8
0
 def setUp(self):
     self.tcf = TestCaseFile()
     self.tcf.setting_table.add_library('somelib', ['foo', 'bar'])
     self.tcf.setting_table.add_resource('resu')
     self.tcf.setting_table.add_library('BuiltIn', ['WITH NAME', 'InBuilt'])
     self.tcf_ctrl = TestCaseFileController(self.tcf, ImportControllerTest.FakeParent())
     self.tcf_ctrl.data.directory = 'tmp'
     self.parent = ImportSettingsController(self.tcf_ctrl, self.tcf.setting_table)
     self.add_import_listener = PublisherListener(RideImportSettingAdded)
     self.changed_import_listener = PublisherListener(RideImportSettingChanged)
     self.removed_import_listener = PublisherListener(RideImportSettingRemoved)
     self.import_listener = PublisherListener(RideImportSetting)
Beispiel #9
0
class ImportSettingsControllerTest(unittest.TestCase):
    def setUp(self):
        self.tcf = TestCaseFile()
        filectrl = TestCaseFileController(self.tcf)
        filectrl.resource_import_modified = Mock()
        resource_file_controller_mock = lambda: 0
        resource_file_controller_mock.add_known_import = lambda *_: 0
        resu_factory_mock = lambda: 0
        resu_factory_mock.find_with_import = lambda *_: resource_file_controller_mock
        self.ctrl = ImportSettingsController(filectrl, self.tcf.setting_table, resu_factory_mock)

    def test_adding_library(self):
        self.ctrl.add_library("MyLib", "Some | argu | ments", "alias")
        self._assert_import("MyLib", ["Some", "argu", "ments"], "alias")

    def test_adding_resource(self):
        self.ctrl.add_resource("/a/path/to/file.txt")
        self._assert_import("/a/path/to/file.txt")

    def test_adding_variables(self):
        self.ctrl.add_variables("varfile.py", "an arg")
        self._assert_import("varfile.py", ["an arg"])

    def _assert_import(self, exp_name, exp_args=[], exp_alias=None):
        imp = self.tcf.setting_table.imports[-1]
        assert_equals(imp.name, exp_name)
        assert_equals(imp.args, exp_args)
        assert_true(self.ctrl.dirty)

    def test_creation(self):
        assert_true(self.ctrl._items is not None)
Beispiel #10
0
class ImportSettingsControllerTest(unittest.TestCase):

    def setUp(self):
        self.tcf = TestCaseFile()
        filectrl = TestCaseFileController(self.tcf)
        filectrl.resource_import_modified = Mock()
        self.ctrl = ImportSettingsController(filectrl, self.tcf.setting_table)

    def test_addding_library(self):
        self.ctrl.add_library('MyLib', 'Some | argu | ments', 'alias')
        self._assert_import('MyLib', ['Some', 'argu', 'ments'], 'alias')

    def test_adding_resource(self):
        self.ctrl.add_resource('/a/path/to/file.txt')
        self._assert_import('/a/path/to/file.txt')

    def test_adding_variables(self):
        self.ctrl.add_variables('varfile.py', 'an arg')
        self._assert_import('varfile.py', ['an arg'])

    def _assert_import(self, exp_name, exp_args=[], exp_alias=None):
        imp = self.tcf.setting_table.imports[-1]
        assert_equals(imp.name, exp_name)
        assert_equals(imp.args, exp_args)
        assert_true(self.ctrl.dirty)

    def test_creation(self):
        assert_true(self.ctrl._items is not None)
Beispiel #11
0
class ImportSettingsControllerTest(unittest.TestCase):

    def setUp(self):
        self.tcf = TestCaseFile()
        filectrl = TestCaseFileController(self.tcf)
        filectrl.resource_import_modified = Mock()
        resource_file_controller_mock = lambda:0
        resource_file_controller_mock.add_known_import = lambda *_:0
        resu_factory_mock = lambda:0
        resu_factory_mock.find_with_import = lambda *_: resource_file_controller_mock
        self.ctrl = ImportSettingsController(filectrl, self.tcf.setting_table, resu_factory_mock)

    def test_adding_library(self):
        self.ctrl.add_library('MyLib', 'Some | argu | ments', 'alias')
        self._assert_import('MyLib', ['Some', 'argu', 'ments'], 'alias')

    def test_adding_resource(self):
        self.ctrl.add_resource('/a/path/to/file.txt')
        self._assert_import('/a/path/to/file.txt')

    def test_adding_variables(self):
        self.ctrl.add_variables('varfile.py', 'an arg')
        self._assert_import('varfile.py', ['an arg'])

    def _assert_import(self, exp_name, exp_args=[], exp_alias=None):
        imp = self.tcf.setting_table.imports[-1]
        assert_equals(imp.name, exp_name)
        assert_equals(imp.args, exp_args)
        assert_true(self.ctrl.dirty)

    def test_creation(self):
        assert_true(self.ctrl._items is not None)
Beispiel #12
0
 def setUp(self):
     self.tcf = TestCaseFile()
     self.tcf.setting_table.add_library("somelib", ["foo", "bar"])
     self.tcf.setting_table.add_resource("resu")
     self.tcf.setting_table.add_library("BuiltIn", ["WITH NAME", "InBuilt"])
     self.tcf_ctrl = TestCaseFileController(self.tcf, ImportControllerTest.FakeParent())
     self.tcf_ctrl.data.directory = "tmp"
     self.parent = ImportSettingsController(
         self.tcf_ctrl,
         self.tcf.setting_table,
         resource_file_controller_factory=self._resource_file_controller_factory_mock(),
     )
     self.add_import_listener = PublisherListener(RideImportSettingAdded)
     self.changed_import_listener = PublisherListener(RideImportSettingChanged)
     self.removed_import_listener = PublisherListener(RideImportSettingRemoved)
     self.import_listener = PublisherListener(RideImportSetting)
Beispiel #13
0
class ImportControllerTest(unittest.TestCase):
    class FakeParent(_FakeChief):

        _namespace = None

        @property
        def directory(self):
            return 'tmp'

        def resource_import_modified(self, path, directory):
            pass

    def setUp(self):
        self.tcf = TestCaseFile()
        self.tcf.setting_table.add_library('somelib', ['foo', 'bar'])
        self.tcf.setting_table.add_resource('resu')
        self.tcf.setting_table.add_library('BuiltIn', ['WITH NAME', 'InBuilt'])
        self.tcf_ctrl = TestCaseFileController(self.tcf, ImportControllerTest.FakeParent())
        self.tcf_ctrl.data.directory = 'tmp'
        self.parent = ImportSettingsController(self.tcf_ctrl, self.tcf.setting_table)
        self.add_import_listener = PublisherListener(RideImportSettingAdded)
        self.changed_import_listener = PublisherListener(RideImportSettingChanged)
        self.removed_import_listener = PublisherListener(RideImportSettingRemoved)
        self.import_listener = PublisherListener(RideImportSetting)

    def tearDown(self):
        self.add_import_listener.unsubscribe()
        self.changed_import_listener.unsubscribe()
        self.import_listener.unsubscribe()

    def test_creation(self):
        self._assert_import(0, 'somelib', ['foo', 'bar'])
        self._assert_import(1, 'resu')
        self._assert_import(2, 'BuiltIn', exp_alias='InBuilt')

    def test_display_value(self):
        assert_equals(self.parent[0].display_value, 'foo | bar')
        assert_equals(self.parent[1].display_value, '')
        assert_equals(self.parent[2].display_value, 'WITH NAME | InBuilt')

    def test_editing(self):
        ctrl = ImportController(self.parent, self.parent[1]._import)
        ctrl.set_value('foo')
        self._assert_import(1, 'foo')
        assert_true(self.parent.dirty)

    def test_editing_with_args(self):
        ctrl = ImportController(self.parent, self.parent[0]._import)
        ctrl.set_value('bar', 'quux')
        self._assert_import(0, 'bar', ['quux'])
        assert_true(self.parent.dirty)
        ctrl.set_value('name', 'a1 | a2')
        self._assert_import(0, 'name', ['a1', 'a2'])

    def test_editing_with_alias(self):
        ctrl = ImportController(self.parent, self.parent[0]._import)
        ctrl.set_value('newname', '', 'namenew')
        self._assert_import(0, 'newname', exp_alias='namenew')
        ctrl.set_value('again')
        self._assert_import(0, 'again')

    def test_publishing_change(self):
        ctrl = ImportController(self.parent, self.parent[1]._import)
        ctrl.set_value('new name')
        self._test_listener('new name', 'resource', self.changed_import_listener)

    def test_publishing_remove(self):
        self.parent.delete(1)
        self._test_listener('resu', 'resource', self.removed_import_listener)
        self.parent.delete(0)
        self._test_listener('somelib', 'library', self.removed_import_listener, 1)

    def test_publish_adding_library(self):
        self.parent.add_library('name', 'argstr', None)
        self._test_listener('name', 'library', self.add_import_listener)

    def test_publish_adding_resource(self):
        self.parent.add_resource('path')
        self._test_listener('path', 'resource', self.add_import_listener)

    def test_publish_adding_variables(self):
        self.parent.add_variables('path', 'argstr')
        self._test_listener('path', 'variables', self.add_import_listener)

    def _test_listener(self, name, type, listener, index=0):
        data = listener.data[index]
        assert_equals(data.name, name)
        assert_equals(data.type, type)
        assert_equals(data.datafile, self.tcf_ctrl)
        assert_equals(self.import_listener.data[index].name, name)

    def _assert_import(self, index, exp_name, exp_args=[], exp_alias=''):
        item = self.parent[index]
        assert_equals(item.name, exp_name)
        assert_equals(item.args, exp_args)
        assert_equals(item.alias, exp_alias)
Beispiel #14
0
class ImportControllerTest(unittest.TestCase):
    class FakeParent(_FakeProject):

        _namespace = None

        @property
        def directory(self):
            return 'tmp'

        def resource_import_modified(self, path, directory):
            pass

    def setUp(self):
        self.tcf = TestCaseFile()
        self.tcf.setting_table.add_library('somelib', ['foo', 'bar'])
        self.tcf.setting_table.add_resource('resu')
        self.tcf.setting_table.add_library('BuiltIn', ['WITH NAME', 'InBuilt'])
        self.tcf_ctrl = TestCaseFileController(self.tcf, ImportControllerTest.FakeParent())
        self.tcf_ctrl.data.directory = 'tmp'
        self.parent = ImportSettingsController(self.tcf_ctrl, self.tcf.setting_table,
            resource_file_controller_factory=self._resource_file_controller_factory_mock())
        self.add_import_listener = PublisherListener(RideImportSettingAdded)
        self.changed_import_listener = PublisherListener(RideImportSettingChanged)
        self.removed_import_listener = PublisherListener(RideImportSettingRemoved)
        self.import_listener = PublisherListener(RideImportSetting)

    def _resource_file_controller_factory_mock(self):
        rfcfm = lambda:0
        rfcfm.find_with_import = lambda *_:None
        return rfcfm

    def tearDown(self):
        self.add_import_listener.unsubscribe()
        self.changed_import_listener.unsubscribe()
        self.import_listener.unsubscribe()

    def test_creation(self):
        self._assert_import(0, 'somelib', ['foo', 'bar'])
        self._assert_import(1, 'resu')
        self._assert_import(2, 'BuiltIn', exp_alias='InBuilt')

    def test_display_value(self):
        assert_equals(self.parent[0].display_value, 'foo | bar')
        assert_equals(self.parent[1].display_value, '')
        assert_equals(self.parent[2].display_value, 'WITH NAME | InBuilt')

    def test_editing(self):
        ctrl = ImportController(self.parent, self.parent[1]._import)
        ctrl.set_value('foo')
        self._assert_import(1, 'foo')
        assert_true(self.parent.dirty)

    def test_editing_with_args(self):
        ctrl = ImportController(self.parent, self.parent[0]._import)
        ctrl.set_value('bar', 'quux')
        self._assert_import(0, 'bar', ['quux'])
        assert_true(self.parent.dirty)
        ctrl.set_value('name', 'a1 | a2')
        self._assert_import(0, 'name', ['a1', 'a2'])

    def test_editing_with_alias(self):
        ctrl = ImportController(self.parent, self.parent[0]._import)
        ctrl.set_value('newname', '', 'namenew')
        self._assert_import(0, 'newname', exp_alias='namenew')
        ctrl.set_value('again')
        self._assert_import(0, 'again')

    def test_publishing_change(self):
        ctrl = ImportController(self.parent, self.parent[1]._import)
        ctrl.set_value('new name')
        self._test_listener('new name', 'resource', self.changed_import_listener)

    def test_publishing_remove(self):
        self.parent.delete(1)
        self._test_listener('resu', 'resource', self.removed_import_listener)
        self.parent.delete(0)
        self._test_listener('somelib', 'library', self.removed_import_listener, 1)

    def test_publish_adding_library(self):
        self.parent.add_library('name', 'argstr', None)
        self._test_listener('name', 'library', self.add_import_listener)

    def test_publish_adding_resource(self):
        self.parent.add_resource('path')
        self._test_listener('path', 'resource', self.add_import_listener)

    def test_publish_adding_variables(self):
        self.parent.add_variables('path', 'argstr')
        self._test_listener('path', 'variables', self.add_import_listener)

    def _test_listener(self, name, type, listener, index=0):
        data = listener.data[index]
        assert_equals(data.name, name)
        assert_equals(data.type, type)
        assert_equals(data.datafile, self.tcf_ctrl)
        assert_equals(self.import_listener.data[index].name, name)

    def _assert_import(self, index, exp_name, exp_args=[], exp_alias=''):
        item = self.parent[index]
        assert_equals(item.name, exp_name)
        assert_equals(item.args, exp_args)
        assert_equals(item.alias, exp_alias)
Beispiel #15
0
class ImportControllerTest(unittest.TestCase):
    class FakeParent(_FakeProject):

        _namespace = None

        @property
        def directory(self):
            return "tmp"

        def resource_import_modified(self, path, directory):
            pass

    def setUp(self):
        self.tcf = TestCaseFile()
        self.tcf.setting_table.add_library("somelib", ["foo", "bar"])
        self.tcf.setting_table.add_resource("resu")
        self.tcf.setting_table.add_library("BuiltIn", ["WITH NAME", "InBuilt"])
        self.tcf_ctrl = TestCaseFileController(self.tcf, ImportControllerTest.FakeParent())
        self.tcf_ctrl.data.directory = "tmp"
        self.parent = ImportSettingsController(
            self.tcf_ctrl,
            self.tcf.setting_table,
            resource_file_controller_factory=self._resource_file_controller_factory_mock(),
        )
        self.add_import_listener = PublisherListener(RideImportSettingAdded)
        self.changed_import_listener = PublisherListener(RideImportSettingChanged)
        self.removed_import_listener = PublisherListener(RideImportSettingRemoved)
        self.import_listener = PublisherListener(RideImportSetting)

    def _resource_file_controller_factory_mock(self):
        rfcfm = lambda: 0
        rfcfm.find_with_import = lambda *_: None
        return rfcfm

    def tearDown(self):
        self.add_import_listener.unsubscribe()
        self.changed_import_listener.unsubscribe()
        self.import_listener.unsubscribe()

    def test_creation(self):
        self._assert_import(0, "somelib", ["foo", "bar"])
        self._assert_import(1, "resu")
        self._assert_import(2, "BuiltIn", exp_alias="InBuilt")

    def test_display_value(self):
        assert_equals(self.parent[0].display_value, "foo | bar")
        assert_equals(self.parent[1].display_value, "")
        assert_equals(self.parent[2].display_value, "WITH NAME | InBuilt")

    def test_editing(self):
        ctrl = ImportController(self.parent, self.parent[1]._import)
        ctrl.set_value("foo")
        self._assert_import(1, "foo")
        assert_true(self.parent.dirty)

    def test_editing_with_args(self):
        ctrl = ImportController(self.parent, self.parent[0]._import)
        ctrl.set_value("bar", "quux")
        self._assert_import(0, "bar", ["quux"])
        assert_true(self.parent.dirty)
        ctrl.set_value("name", "a1 | a2")
        self._assert_import(0, "name", ["a1", "a2"])

    def test_editing_with_alias(self):
        ctrl = ImportController(self.parent, self.parent[0]._import)
        ctrl.set_value("newname", "", "namenew")
        self._assert_import(0, "newname", exp_alias="namenew")
        ctrl.set_value("again")
        self._assert_import(0, "again")

    def test_publishing_change(self):
        ctrl = ImportController(self.parent, self.parent[1]._import)
        ctrl.set_value("new name")
        self._test_listener("new name", "resource", self.changed_import_listener)

    def test_publishing_remove(self):
        self.parent.delete(1)
        self._test_listener("resu", "resource", self.removed_import_listener)
        self.parent.delete(0)
        self._test_listener("somelib", "library", self.removed_import_listener, 1)

    def test_publish_adding_library(self):
        self.parent.add_library("name", "argstr", None)
        self._test_listener("name", "library", self.add_import_listener)

    def test_publish_adding_resource(self):
        self.parent.add_resource("path")
        self._test_listener("path", "resource", self.add_import_listener)

    def test_publish_adding_variables(self):
        self.parent.add_variables("path", "argstr")
        self._test_listener("path", "variables", self.add_import_listener)

    def _test_listener(self, name, type, listener, index=0):
        data = listener.data[index]
        assert_equals(data.name, name)
        assert_equals(data.type, type)
        assert_equals(data.datafile, self.tcf_ctrl)
        assert_equals(self.import_listener.data[index].name, name)

    def _assert_import(self, index, exp_name, exp_args=[], exp_alias=""):
        item = self.parent[index]
        assert_equals(item.name, exp_name)
        assert_equals(item.args, exp_args)
        assert_equals(item.alias, exp_alias)
Beispiel #16
0
 def setUp(self):
     self.tcf = TestCaseFile()
     filectrl = TestCaseFileController(self.tcf)
     filectrl.resource_import_modified = Mock()
     self.ctrl = ImportSettingsController(filectrl, self.tcf.setting_table)
Beispiel #17
0
 def imports(self):
     if not self._imports:
         self._imports = ImportSettingsController(
             self, self.data.setting_table,
             self._resource_file_controller_factory)
     return self._imports