diff --git a/tests/Native/VirtualTests.cpp b/tests/Native/VirtualTests.cpp index 085cf351..aeb536e6 100644 --- a/tests/Native/VirtualTests.cpp +++ b/tests/Native/VirtualTests.cpp @@ -11,7 +11,11 @@ int NumberClass::Number () const } int NumberClass::NegativeNumber () const { - return -(this->num); + return -(this->Number ()); +} +NumberClass::~NumberClass () +{ + this->num = 0; } @@ -60,4 +64,8 @@ ClassThatOverridesStuff::ClassThatOverridesStuff (int num, int my) int ClassThatOverridesStuff::Number () const { return this->myNum; +} +int ClassThatOverridesStuff::BaseNumber () const +{ + return this->NumberClass::Number (); } \ No newline at end of file diff --git a/tests/Native/VirtualTests.h b/tests/Native/VirtualTests.h index 85a75cd9..2a93664c 100644 --- a/tests/Native/VirtualTests.h +++ b/tests/Native/VirtualTests.h @@ -4,8 +4,9 @@ protected: int num; public: NumberClass (int n); - virtual int Number () const; virtual int NegativeNumber () const; + virtual int Number () const; + virtual ~NumberClass (); }; class AdderClass : public NumberClass { @@ -48,4 +49,5 @@ protected: public: ClassThatOverridesStuff (int num, int my); virtual int Number () const; + virtual int BaseNumber () const; }; \ No newline at end of file diff --git a/tests/VirtualTests.cs b/tests/VirtualTests.cs index e8c6b358..380ab8c0 100644 --- a/tests/VirtualTests.cs +++ b/tests/VirtualTests.cs @@ -74,7 +74,8 @@ namespace Tests { var cls = new ClassThatOverridesStuff (5, 3); Assert.AreEqual (3, cls.Number, "#1"); Assert.AreEqual (3, ((NumberClass)cls).Number, "#2"); - Assert.AreEqual (-5, cls.NegativeNumber, "#3"); + Assert.AreEqual (-3, cls.NegativeNumber, "#3"); + Assert.AreEqual (5, cls.BaseNumber, "#4"); }