public void TestAllocAssignGetAndRelease()
 {
     var Pool = new ILInstanceHolderPool(typeof(int), 16);
     var Item = Pool.Alloc();
     Item.Value = 10;
     Assert.AreEqual(10, Item.Value);
     Assert.AreEqual(15, Pool.FreeCount);
     Item.Free();
     Assert.AreEqual(16, Pool.FreeCount);
 }
 public void TestMethod3()
 {
     var Pool1 = new ILInstanceHolderPool(typeof(int), 16);
     var Pool2 = new ILInstanceHolderPool(typeof(int), 16);
     var Item1 = Pool1.Alloc();
     var Item2 = Pool2.Alloc();
     Item1.Value = 11;
     Item2.Value = 22;
     Assert.AreEqual(11, Item1.Value);
     Assert.AreEqual(22, Item2.Value);
 }
Пример #3
0
        public void TestAllocAssignGetAndRelease()
        {
            var Pool = new ILInstanceHolderPool(typeof(int), 16);
            var Item = Pool.Alloc();

            Item.Value = 10;
            Assert.AreEqual(10, Item.Value);
            Assert.AreEqual(15, Pool.FreeCount);
            Item.Free();
            Assert.AreEqual(16, Pool.FreeCount);
        }
Пример #4
0
        public void TestMethod3()
        {
            var Pool1 = new ILInstanceHolderPool(typeof(int), 16);
            var Pool2 = new ILInstanceHolderPool(typeof(int), 16);
            var Item1 = Pool1.Alloc();
            var Item2 = Pool2.Alloc();

            Item1.Value = 11;
            Item2.Value = 22;
            Assert.AreEqual(11, Item1.Value);
            Assert.AreEqual(22, Item2.Value);
        }
 public void TestMethod2()
 {
     var Pool = new ILInstanceHolderPool(typeof(int), 16);
     var Item = Pool.Alloc();
     var AstNode = ast.Statements(
         ast.Assign(ast.StaticFieldAccess(Item.FieldInfo), ast.Argument<int>(0, "Value")),
         ast.Return()
     );
     Console.WriteLine(GeneratorCSharp.GenerateString<GeneratorCSharp>(AstNode));
     var GeneratorIL = new GeneratorIL();
     var ItemSet = GeneratorIL.GenerateDelegate<Action<int>>("ItemSet", AstNode);
     ItemSet(10);
     Assert.AreEqual(10, Item.Value);
 }
Пример #6
0
        public void TestMethod2()
        {
            var Pool    = new ILInstanceHolderPool(typeof(int), 16);
            var Item    = Pool.Alloc();
            var AstNode = ast.Statements(
                ast.Assign(ast.StaticFieldAccess(Item.FieldInfo), ast.Argument <int>(0, "Value")),
                ast.Return()
                );

            Console.WriteLine(GeneratorCSharp.GenerateString <GeneratorCSharp>(AstNode));
            var GeneratorIL = new GeneratorIL();
            var ItemSet     = GeneratorIL.GenerateDelegate <Action <int> >("ItemSet", AstNode);

            ItemSet(10);
            Assert.AreEqual(10, Item.Value);
        }