Browse Source

Minor improvements to virtual dispatch tests

pull/1/head
Alex Corrado 14 years ago
parent
commit
9fb8aee0a9
  1. 10
      tests/Native/VirtualTests.cpp
  2. 4
      tests/Native/VirtualTests.h
  3. 3
      tests/VirtualTests.cs

10
tests/Native/VirtualTests.cpp

@ -11,7 +11,11 @@ int NumberClass::Number () const @@ -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) @@ -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 ();
}

4
tests/Native/VirtualTests.h

@ -4,8 +4,9 @@ protected: @@ -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: @@ -48,4 +49,5 @@ protected:
public:
ClassThatOverridesStuff (int num, int my);
virtual int Number () const;
virtual int BaseNumber () const;
};

3
tests/VirtualTests.cs

@ -74,7 +74,8 @@ namespace Tests { @@ -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");
}

Loading…
Cancel
Save