コード例 #1
0
    def test_assignment_name_boolean(self):
        script = 'Name = true'
        expected = [Assignment(Identifier(Name('Name')), Value(True))]
        actually = self.parser.parse(script)
        self.assertEqual(expected, actually)

        script = 'Name = false'
        expected = [Assignment(Identifier(Name('Name')), Value(False))]
        actually = self.parser.parse(script)
        self.assertEqual(expected, actually)
コード例 #2
0
    def test_assignment_uri_boolean(self):
        script = '<http://uri.org/> = true'
        expected = [
            Assignment(Identifier(Uri('http://uri.org/')), Value(True))
        ]
        actually = self.parser.parse(script)
        self.assertEqual(expected, actually)

        script = '<http://uri.org/> = false'
        expected = [
            Assignment(Identifier(Uri('http://uri.org/')), Value(False))
        ]
        actually = self.parser.parse(script)
        self.assertEqual(expected, actually)
コード例 #3
0
    def test_assignment_uri_uri(self):
        name = Identifier(Uri('http://variable/#v'))
        value = Identifier(Uri('http://variable/#value'))

        self.assertEqual(Assignment(name, value).evaluate(
            self.env), value.evaluate(self.env))
        self.assertEqual(name.evaluate(self.env), value.evaluate(self.env))
コード例 #4
0
    def test_assignment_name_name(self):
        name = Identifier(Name('variable'))
        value = Identifier(Name('value'))

        self.assertEqual(Assignment(name, value).evaluate(
            self.env), value.evaluate(self.env))
        self.assertEqual(name.evaluate(self.env), value.evaluate(self.env))
コード例 #5
0
    def test_assignment_self_name(self):
        name = Identifier(Self(), Name('v'))
        value = Identifier(Name('Name'))

        self.assertEqual(Assignment(name, value).evaluate(
            self.env), value.evaluate(self.env))
        self.assertEqual(name.evaluate(self.env), value.evaluate(self.env))
コード例 #6
0
 def test_assignment_uri_double(self):
     script = '<http://uri.org/> = 0.12345'
     expected = [
         Assignment(Identifier(Uri('http://uri.org/')), Value(0.12345))
     ]
     actually = self.parser.parse(script)
     self.assertEqual(expected, actually)
コード例 #7
0
 def test_assignment_uri_string(self):
     script = '<http://uri.org/> = "hello"'
     expected = [
         Assignment(Identifier(Uri('http://uri.org/')), Value("hello"))
     ]
     actually = self.parser.parse(script)
     self.assertEqual(expected, actually)
コード例 #8
0
 def test_assignment_name_name(self):
     script = 'Name = Name'
     expected = [
         Assignment(Identifier(Name('Name')), Identifier(Name('Name')))
     ]
     actually = self.parser.parse(script)
     self.assertEqual(expected, actually)
コード例 #9
0
 def test_assignment_name_uri(self):
     script = 'Name = <http://uri.org/>'
     expected = [
         Assignment(Identifier(Name('Name')),
                    Identifier(Uri('http://uri.org/')))
     ]
     actually = self.parser.parse(script)
     self.assertEqual(expected, actually)
コード例 #10
0
 def test_assignment_uri_uri(self):
     script = '<http://uri.org/> = <http://value.org>'
     expected = [
         Assignment(Identifier(Uri('http://uri.org/')),
                    Identifier(Uri('http://value.org')))
     ]
     actually = self.parser.parse(script)
     self.assertEqual(expected, actually)
コード例 #11
0
 def test_assignment_uri_expansion(self):
     script = '<expansion> = e is a t()'
     expected = [
         Assignment(
             Identifier(Uri('expansion')),
             Expansion(Identifier(Name('e')), Identifier(Name('t')), [],
                       []))
     ]
     actually = self.parser.parse(script)
     self.assertEqual(expected, actually)
コード例 #12
0
ファイル: include.py プロジェクト: intbio-ncl/shortbol
    def run(self, triplepack, env):
        self.import_pragma.evaluate(env)
        user_prefix = env.uri_for_prefix(env.prefix)
        
        for k in env._template_table.keys():
            if env.uri_for_prefix(self.namespace).uri in k.uri:
                name = Identifier(user_prefix,Uri(k.split()[-1]))
                assignment = Assignment(name,k)
                assignment.evaluate(env)
        
        to_evaulate = []
        for k,v in env._symbol_table.items():
            #if env.uri_for_prefix(self.namespace).uri in v.uri:
            name = Identifier(user_prefix,Uri(k.split()[-1]))
            assignment = Assignment(name,v)
            to_evaulate.append(Assignment(name,v))
        for assignment in to_evaulate:
            assignment.evaluate(env)

        # Triplepack is unchanged but its needed for the late binding that occurs with extensions.
        return triplepack
コード例 #13
0
 def test_assignment_name_double(self):
     script = 'Name = 0.12345'
     actually = self.parser.parse(script)
     expected = [Assignment(Identifier(Name('Name')), Value(0.12345))]
     self.assertEqual(expected, actually)
コード例 #14
0
 def test_assignment_name_integer(self):
     script = 'Name = 12345'
     expected = [Assignment(Identifier(Name('Name')), Value(12345))]
     actually = self.parser.parse(script)
     self.assertEqual(expected, actually)
コード例 #15
0
 def test_assignment_name_string(self):
     script = 'Name = "hello"'
     expected = [Assignment(Identifier(Name('Name')), Value("hello"))]
     actually = self.parser.parse(script)
     self.assertCountEqual(expected, actually)