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))
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))
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))
def test_identifier_evaluate_double_bound_prefix_not_uri(self): i = Identifier(Name('first'), Name('second'), Name('third')) value = Value(12345) prefix_part = Identifier(Name('first'), Name('second')) self.env.assign(prefix_part.evaluate(self.env), value) expected = Uri('prefixfirstsecondthird') actually = i.evaluate(self.env) self.assertEqual(expected, actually)
def test_identifier_evaluate_uri_and_symbol_parts(self): i = Identifier(Uri('first'), Name('second')) expected = Value(1) uri = Uri('firstsecond') self.assertEqual(i.evaluate(self.env), uri) self.env.assign(i.evaluate(self.env), expected) actually = i.evaluate(self.env) self.assertEqual(expected, actually)
def test_identifier_evaluate_bound_prefix(self): i = Identifier(Name('first'), Name('second')) prefix = Uri('http://first.org/#') self.env.assign(Identifier(Name('first')).evaluate(self.env), prefix) expected = Uri('http://first.org/#second') actually = i.evaluate(self.env) self.assertEqual(expected, actually)
def test_identifier_evaluate_bound_multiple_parts(self): i = Identifier(Name('first'), Name('second'), Name('third'), Name('fourth')) expected = Value(1) self.env.assign(i.evaluate(self.env), expected) actually = i.evaluate(self.env) self.assertEqual(expected, actually)
def test_identifier_evaluate_bound_prefixed(self): i = Identifier(Name('first'), Name('second')) expected = Value(1) self.env.assign(i.evaluate(self.env), expected) actually = i.evaluate(self.env) self.assertEqual(expected, actually)
def test_identifier_evaluate_multiple_unbound(self): i = Identifier(Name('n1'), Name('n2'), Name('n3'), Name('n4')) expected = Uri('prefixn1n2n3n4') actually = i.evaluate(self.env) self.assertEqual(expected, actually)
def test_identifier_evaluate_unbound_self_as_prefix(self): i = Identifier(Self(), Name('n')) expected = Identifier(Self(), Name('n')) actually = i.evaluate(self.env) self.assertEqual(expected, actually)
def test_identifier_evaluate_unbound_two_names(self): i = Identifier(Name('first'), Name('second')) expected = Uri('prefixfirstsecond') actually = i.evaluate(self.env) self.assertEqual(expected, actually)
def test_identifier_uri_first_unbound(self): i = Identifier(Uri('http://literal.eg/'), Name('literal')) expected = Uri('http://literal.eg/literal') actually = i.evaluate(self.env) self.assertEqual(expected, actually)