コード例 #1
0
ファイル: MemoryTests.cs プロジェクト: OlegJakushkin/TestSWIG
 void TestScope()
 {
     var b = new CSharpB();
     {
         TestInnerScope(b);
         ClearGC();
         Assert.AreEqual( "C++ Call A:C# Hell!", b.CallA() );
     }
     ClearGC();
     Assert.AreEqual( "C++ Call A:C# Hell!", b.CallA() ); // How to keep shared_ptr passed object as long as C++ needs it?
 }
コード例 #2
0
ファイル: MemoryTests.cs プロジェクト: SaeedTaghavi/TestSWIG
        void TestScope()
        {
            var b = new CSharpB();

            {
                TestInnerScope(b);
                ClearGC();
                Assert.AreEqual("C++ Call A:C# Hell!", b.CallA());
            }
            ClearGC();
            Assert.AreEqual("C++ Call A:C# Hell!", b.CallA());   // How to keep shared_ptr passed object as long as C++ needs it?
        }
コード例 #3
0
ファイル: BasicTests.cs プロジェクト: OlegJakushkin/TestSWIG
 public void TestInheritedFunctionCallFromCpp()
 {
     var a = new CSharpA();
     var b = new CSharpB();
     a.SetName( "bob" );
     a.SayHello();
     b.SetA( a );
     Assert.AreEqual(  "C++ Call A:C# Hell!", b.CallA() );
 }
コード例 #4
0
        public void TestInheritedFunctionCallFromCpp()
        {
            var a = new CSharpA();
            var b = new CSharpB();

            a.SetName("bob");
            a.SayHello();
            b.SetA(a);
            Assert.AreEqual("C++ Call A:C# Hell!", b.CallA());
        }
コード例 #5
0
ファイル: MemoryTests.cs プロジェクト: OlegJakushkin/TestSWIG
        public void TestWithUsing()
        {
            using ( var a = new CSharpAwithDestructor() ) {
            using ( var b = new CSharpB() ) {
                    a.SetName( "rar" );
                    b.SetA( a );

                    Assert.AreEqual( "C++ Call A:C# Hell!", b.CallA() );
                }
            }
            ClearGC();
            Assert.AreEqual( CSharpAwithDestructor.State.Destroyed, CSharpAwithDestructor.LastState );
        }
コード例 #6
0
ファイル: MemoryTests.cs プロジェクト: SaeedTaghavi/TestSWIG
        public void TestWithUsing()
        {
            using (var a = new CSharpAwithDestructor()) {
                using (var b = new CSharpB()) {
                    a.SetName("rar");
                    b.SetA(a);

                    Assert.AreEqual("C++ Call A:C# Hell!", b.CallA());
                }
            }
            ClearGC();
            Assert.AreEqual(CSharpAwithDestructor.State.Destroyed, CSharpAwithDestructor.LastState);
        }