Ok, the following code worked in 2.2.1 and now fails the 2 mocking tests in 2.2.2
using System;
using System.Data.SqlClient;
using System.Xml;
using NUnit.Framework;
using TypeMock;
namespace ChristopheSQLMock.Test
{
[TestFixture]
public class CalculatorTest
{
private Calculator _calc;
[SetUp]
public void SetUp()
{
_calc = new Calculator();
MockManager.Init();
}
[Test]
public void Pass5And2Returns3()
{
Assert.AreEqual(_calc.f1(5,2), 3);
}
[Test]
public void Pass6And4Returns2()
{
Assert.AreEqual(_calc.f1(6,4), 2);
}
[Test]
public void Pass4And6Returns16()
{
Assert.AreEqual(_calc.f1(4,6), 16);
}
[Test]
public void Pass5And2AndXmlDocWithHelloReturnsM3()
{
Mock myMock = MockManager.Mock(typeof(XmlDocument));
myMock.ExpectConstructor();
myMock.ExpectGet("InnerXml", "<Hello />");
Assert.AreEqual(_calc.f2(5, 2), 3);
}
[Test]
public void Pass5And2AndXmlDocWithGoodbyeReturnsM3()
{
Mock myMock = MockManager.Mock(typeof(XmlDocument));
myMock.ExpectConstructor();
myMock.ExpectGet("InnerXml", "<Goodbye />");
Assert.AreEqual(_calc.f2(5, 2), -3);
}
[TearDown]
public void TearDown()
{
MockManager.Verify();
}
}
}
This is on class
using System;
using System.Xml;
namespace ChristopheSQLMock
{
/// <summary>
/// Summary description for Calculator.
/// </summary>
public class Calculator
{
public Calculator()
{
}
public int f1(int x, int y)
{
if(x>y)
return (x-y);
else
return (x+2*y);
}
public int f2(int x, int y)
{
XmlDocument doc = new XmlDocument();
if(doc.InnerXml == "<Hello />")
return f1(x, y);
else
return -f1(x,y);
}
}
}
------ Test started: Assembly: ChristopheSQLMock.dll ------
TestCase 'ChristopheSQLMock.Test.CalculatorTest.Pass5And2AndXmlDocWithHelloReturnsM3' failed:
expected:<-3>
but was:<3>
TearDown : TypeMock.VerifyException :
TypeMock Verification: Method System.Xml.XmlDocument.get_InnerXml() has 1 more expected calls
c:documents and settings
obpmy documentsisual studio projectschristophesqlmock estcalculatortest.cs(49,0): at ChristopheSQLMock.Test.CalculatorTest.Pass5And2AndXmlDocWithHelloReturnsM3()
--TearDown
at TypeMock.Mock.Verify()
at TypeMock.Expectations.Verify()
at TypeMock.MockManager.Verify()
c:documents and settings
obpmy documentsisual studio projectschristophesqlmock estcalculatortest.cs(66,0): at ChristopheSQLMock.Test.CalculatorTest.TearDown()
TestCase 'ChristopheSQLMock.Test.CalculatorTest.Pass5And2AndXmlDocWithGoodbyeReturnsM3' failed:
TearDown : TypeMock.VerifyException :
TypeMock Verification: Method System.Xml.XmlDocument.get_InnerXml() has 1 more expected calls
--TearDown
at TypeMock.Mock.Verify()
at TypeMock.Expectations.Verify()
at TypeMock.MockManager.Verify()
c:documents and settings
obpmy documentsisual studio projectschristophesqlmock estcalculatortest.cs(66,0): at ChristopheSQLMock.Test.CalculatorTest.TearDown()
5 succeeded, 2 failed, 0 skipped, took 0.16 seconds.
---------------------- Done ----------------------