Ejemplo n.º 1
0
        public void NotFailWhenMagicAPIErrorOccured()
        {
            var q = new APIObject(5);

            MagicAPI.Free(5);
            q.Dispose();
        }
Ejemplo n.º 2
0
 public void HaveFinalizer()
 {
     CreateApiObject(4);
     GC.Collect();
     Thread.Sleep(1000);
     Assert.False(MagicAPI.Contains(4));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Освободить память,
 /// выделенную API
 /// </summary>
 /// <param name="disposing">
 /// Флаг для указания
 /// откуда была вызвана функция:
 /// true - явным образом
 /// false - из финализатора
 /// </param>
 protected virtual void Dispose(bool disposing)
 {
     if (!disposedValue)
     {
         MagicAPI.Free(this.n);
         disposedValue = true;
     }
 }
Ejemplo n.º 4
0
 public void Dispose(int value)
 {
     if (!isDisposed)
     {
         MagicAPI.Free(value);
     }
     isDisposed = true;
 }
Ejemplo n.º 5
0
 private void MyOwnDispose()
 {
     if (_state != null)
     {
         MagicAPI.Free((int)_state);
         _state = null;
     }
 }
Ejemplo n.º 6
0
 public void DisposeDontCrashFinalizer()
 {
     CreateAndDisposeApiObject(42);
     GC.Collect();
     Thread.Sleep(1000);
     Assert.False(MagicAPI.Contains(42));
     Assert.False(MagicAPI.Contains(100500));
 }
Ejemplo n.º 7
0
 public void FreeResourcesInUsing()
 {
     using (var q = new APIObject(2))
     {
         Assert.True(MagicAPI.Contains(2));
     }
     Assert.False(MagicAPI.Contains(2));
 }
Ejemplo n.º 8
0
 public void Dispose()
 {
     foreach (var allocatedId in allocatedIds)
     {
         MagicAPI.Free(allocatedId);
     }
     allocatedIds.Clear();
 }
Ejemplo n.º 9
0
 public void Dispose()
 {
     if (!disposedValue)
     {
         MagicAPI.Free(pupaAndLupa);
         disposedValue = true;
     }
 }
Ejemplo n.º 10
0
        public void FreeResourcesWhenDisposeCalled()
        {
            var q = new APIObject(1);

            Assert.True(MagicAPI.Contains(1));
            q.Dispose();
            Assert.False(MagicAPI.Contains(1));
        }
 private void Dispose(bool fromDispose)
 {
     if (!_isDisposed)
     {
         MagicAPI.Free(_id);
         _isDisposed = true;
     }
 }
Ejemplo n.º 12
0
 public void Dispose()
 {
     if (!isDisposed)
     {
         MagicAPI.Free(value);
     }
     GC.SuppressFinalize(this);
     isDisposed = true;
 }
Ejemplo n.º 13
0
        public void DontFailWhenTwoDisposeAreCalled()
        {
            var q = new APIObject(3);

            Assert.True(MagicAPI.Contains(3));
            q.Dispose();
            q.Dispose();
            Assert.False(MagicAPI.Contains(3));
        }
Ejemplo n.º 14
0
 protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (MagicAPI.Contains(i))
         {
             MagicAPI.Free(i);
         }
     }
 }
Ejemplo n.º 15
0
        public void Dispose(bool disposing)
        {
            if (disposed)
            {
                return;
            }

            MagicAPI.Free(n);
            disposed = true;
        }
Ejemplo n.º 16
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    MagicAPI.Free(id);
                }

                disposedValue = true;
            }
        }
Ejemplo n.º 17
0
        protected virtual void Dispose(bool disposing)
        {
            if (!isDisposed)
            {
                if (disposing)
                {
                }

                MagicAPI.Free(id);
                isDisposed = true;
            }
        }
Ejemplo n.º 18
0
 protected virtual void Dispose(bool fromDisposeMethod)
 {
     if (!isDisposed)
     {
         try
         {
             MagicAPI.Free(resource);
             isDisposed = true;
         }
         catch (ArgumentException)
         {
         }
     }
 }
Ejemplo n.º 19
0
 public APIObject(int number)
 {
     allocatedIds.Add(number);
     MagicAPI.Allocate(number);
 }
Ejemplo n.º 20
0
 public APIObject(int i)
 {
     this.i = i;
     MagicAPI.Allocate(i);
 }
Ejemplo n.º 21
0
 public APIObject(int resource)
 {
     this.resource = resource;
     MagicAPI.Allocate(resource);
 }
Ejemplo n.º 22
0
 public APIObject(int x)
 {
     _state = x;
     MagicAPI.Allocate(x);
 }
Ejemplo n.º 23
0
        public APIObject(int n)
        {
            this.n = n;

            MagicAPI.Allocate(n);
        }
Ejemplo n.º 24
0
        private bool disposedValue = false; // Для определения избыточных вызовов

        public APIObject(int number)
        {
            this.pupaAndLupa = number;
            MagicAPI.Allocate(number);
        }
Ejemplo n.º 25
0
 public APIObject(int id)
 {
     this.id = id;
     MagicAPI.Allocate(id);
 }
Ejemplo n.º 26
0
 public APIObject(int value)
 {
     this.value = value;
     MagicAPI.Allocate(value);
 }