def test_copy_of(self): scope = activity.Scope(None) scope.mark_read(QN('foo')) self.assertTrue(QN('foo') in activity.Scope.copy_of(scope).used) child_scope = activity.Scope(scope) child_scope.mark_read(QN('bar')) self.assertTrue(QN('bar') in activity.Scope.copy_of(child_scope).used)
def test_copy_of(self): scope = activity.Scope(None) scope.mark_read(QN('foo')) other = activity.Scope.copy_of(scope) self.assertReadOnly(QN('foo'), other) child_scope = activity.Scope(scope) child_scope.mark_read(QN('bar')) other = activity.Scope.copy_of(child_scope) self.assertReadOnly(QN('bar'), other)
def test_copy_from(self): scope = activity.Scope(None) scope.modified.add(QN('foo')) other = activity.Scope(None) other.copy_from(scope) self.assertWriteOnly(QN('foo'), other) scope.modified.add(QN('bar')) scope.copy_from(other) self.assertMissing(QN('bar'), scope)
def test_nesting(self): scope = activity.Scope(None) scope.mark_write(QN('foo')) scope.mark_read(QN('bar')) child = activity.Scope(scope) self.assertTrue(child.has(QN('foo'))) self.assertTrue(scope.has(QN('foo'))) child.mark_write(QN('bar')) self.assertTrue(child.has(QN('bar'))) self.assertFalse(scope.has(QN('bar')))
def test_referenced(self): scope = activity.Scope(None) scope.mark_read(QN('a')) child = activity.Scope(scope) child.mark_read(QN('b')) child2 = activity.Scope(child, isolated=False) child2.mark_read(QN('c')) self.assertTrue(QN('c') in child2.referenced) self.assertTrue(QN('b') in child2.referenced) self.assertFalse(QN('a') in child2.referenced) self.assertTrue(QN('c') in child.referenced) self.assertTrue(QN('b') in child.referenced) self.assertFalse(QN('a') in child.referenced)
def test_basic(self): scope = activity.Scope(None) self.assertMissing(QN('foo'), scope) scope.mark_read(QN('foo')) self.assertReadOnly(QN('foo'), scope) scope.mark_modified(QN('foo')) self.assertReadWrite(QN('foo'), scope)
def test_merge_from(self): scope = activity.Scope(None) other = activity.Scope(None) for col in (scope.modified, scope.read, scope.bound, scope.deleted): col.add(QN('foo')) for col in (other.modified, other.read, other.bound, other.deleted): col.add(QN('foo')) col.add(QN('bar')) scope.merge_from(other) self.assertReadWrite(QN('foo'), scope) self.assertReadWrite(QN('bar'), scope) self.assertIn(QN('foo'), scope.bound) self.assertIn(QN('bar'), scope.bound) self.assertIn(QN('foo'), scope.deleted) self.assertIn(QN('bar'), scope.deleted)
def test_copy_from(self): scope = activity.Scope(None) scope.mark_write(QN('foo')) other = activity.Scope(None) other.copy_from(scope) self.assertTrue(QN('foo') in other.modified) scope.mark_write(QN('bar')) scope.copy_from(other) self.assertFalse(QN('bar') in scope.modified) scope.mark_write(QN('bar')) scope.merge_from(other) self.assertTrue(QN('bar') in scope.modified) self.assertFalse(QN('bar') in other.modified)
def test_referenced(self): scope = activity.Scope(None) scope.read.add(QN('a')) child = activity.Scope(scope) child.read.add(QN('b')) child2 = activity.Scope(child, isolated=False) child2.read.add(QN('c')) child2.finalize() child.finalize() scope.finalize() self.assertIn(QN('c'), child2.referenced) self.assertIn(QN('b'), child2.referenced) self.assertIn(QN('a'), child2.referenced) self.assertIn(QN('c'), child.referenced) self.assertIn(QN('b'), child.referenced) self.assertIn(QN('a'), child.referenced)
def test_basic(self): scope = activity.Scope(None) self.assertFalse(scope.has(QN('foo'))) scope.mark_read(QN('foo')) self.assertFalse(scope.has(QN('foo'))) scope.mark_write(QN('foo')) self.assertTrue(scope.has(QN('foo'))) scope.mark_read(QN('bar')) self.assertFalse(scope.has(QN('bar')))