def test_build_from_config(self): # Test rebuilding a sequence including twice the same template sequence conf = {'template_id': 'test', 'name': 'Template', 'template_vars': "{'b': '19'}"} seq = TemplateSequence.build_from_config(conf, self.dependecies) seq.context.channel_mapping = {'A': 'Ch1_L', 'B': 'Ch2_L', 'Ch1': 'Ch2_A', 'Ch2': 'Ch1_A'} conf = {'template_id': 'test', 'name': 'Template', 'template_vars': "{'b': '12'}"} seq2 = TemplateSequence.build_from_config(conf, self.dependecies) seq2.context.channel_mapping = {'A': 'Ch1_L', 'B': 'Ch2_L', 'Ch1': 'Ch1_A', 'Ch2': 'Ch2_A'} root = RootSequence() context = TestContext(sampling=0.5) root.context = context root.items = [seq, seq2] pref = root.preferences_from_members() new = RootSequence.build_from_config(pref, self.dependecies) assert_equal(new.items[0].index, 1) seq = new.items[0] assert_equal(seq.name, 'Template') assert_equal(seq.template_id, 'test') assert_equal(seq.template_vars, dict(b='19')) assert_equal(seq.local_vars, dict(a='1.5')) assert_equal(len(seq.items), 4) assert_equal(seq.items[3].index, 5) assert_equal(seq.docs, 'Basic user comment\nff') context = seq.context assert_equal(context.template, seq) assert_equal(context.logical_channels, ['A', 'B']) assert_equal(context.analogical_channels, ['Ch1', 'Ch2']) assert_equal(context.channel_mapping, {'A': 'Ch1_L', 'B': 'Ch2_L', 'Ch1': 'Ch2_A', 'Ch2': 'Ch1_A'}) assert_equal(new.items[1].index, 2) seq = new.items[1] assert_equal(seq.name, 'Template') assert_equal(seq.template_id, 'test') assert_equal(seq.template_vars, dict(b='12')) assert_equal(seq.local_vars, dict(a='1.5')) assert_equal(len(seq.items), 4) assert_equal(seq.items[3].index, 5) assert_equal(seq.docs, 'Basic user comment\nff') context = seq.context assert_equal(context.template, seq) assert_equal(context.logical_channels, ['A', 'B']) assert_equal(context.analogical_channels, ['Ch1', 'Ch2']) assert_equal(context.channel_mapping, {'A': 'Ch1_L', 'B': 'Ch2_L', 'Ch1': 'Ch1_A', 'Ch2': 'Ch2_A'})
def setup(self): pref = create_template_sequence() conf = ConfigObj() conf.update(pref) dep = {'Sequence': Sequence, 'Pulse': Pulse, 'TemplateSequence': TemplateSequence, 'shapes': {'SquareShape': SquareShape}, 'contexts': {'TemplateContext': TemplateContext, 'TestContext': TestContext}, 'templates': {'test': ('', conf, 'Basic user comment\nff')}} self.dependecies = {'pulses': dep} self.root = RootSequence() self.context = TestContext(sampling=0.5) self.root.context = self.context conf = {'template_id': 'test', 'name': 'Template', 'template_vars': "{'b': '19'}"} seq = TemplateSequence.build_from_config(conf, self.dependecies) seq.context.channel_mapping = {'A': 'Ch1_L', 'B': 'Ch2_L', 'Ch1': 'Ch2_A', 'Ch2': 'Ch1_A'} seq.def_1 = '1.0' seq.def_2 = '20.0' self.template = seq self.root.items = [seq]
def test_build_from_config1(self): # Test building a template sequence from only the template file. # No information is knwon about channel mapping of template_vars values conf = {'template_id': 'test', 'name': 'Template', 'template_vars': "{'b': '19', 'c': ''}"} seq = TemplateSequence.build_from_config(conf, self.dependecies) assert_equal(seq.name, 'Template') assert_equal(seq.template_id, 'test') assert_equal(seq.template_vars, dict(b='19')) assert_equal(seq.local_vars, dict(a='1.5')) assert_equal(len(seq.items), 4) assert_equal(seq.items[3].index, 5) assert_equal(seq.docs, 'Basic user comment\nff') context = seq.context assert_equal(context.template, seq) assert_equal(context.logical_channels, ['A', 'B']) assert_equal(context.analogical_channels, ['Ch1', 'Ch2']) assert_equal(context.channel_mapping, {'A': '', 'B': '', 'Ch1': '', 'Ch2': ''})