Beispiel #1
0
    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)
Beispiel #2
0
    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)
Beispiel #3
0
  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)
Beispiel #4
0
    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')))
Beispiel #5
0
    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)
Beispiel #6
0
    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)
Beispiel #7
0
  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)
Beispiel #8
0
    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)
Beispiel #9
0
  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)
Beispiel #10
0
    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')))