or
ReturnsCollection
[TestClass]
public
class
SPM150ControllerTestBase
{
public
IAssetsService AssetsServiceMock {
get
;
set
; }
public
INavigationService NavigationServiceMock {
get
;
set
; }
public
ISPM150Service SPM150ServiceMock {
get
;
set
; }
public
IGlobalData GlobalDataMock {
get
;
set
; }
public
SPM150Controller Target {
get
;
set
; }
[TestInitialize]
public
void
TestInit()
{
AssetsServiceMock = Mock.Create<IAssetsService>();
SPM150ServiceMock = Mock.Create<ISPM150Service>();
NavigationServiceMock = Mock.Create<INavigationService>();
GlobalDataMock = Mock.Create<IGlobalData>();
Target = Mock.Create<SPM150Controller>(Behavior.CallOriginal,
new
object
[] { AssetsServiceMock, SPM150ServiceMock, NavigationServiceMock, GlobalDataMock,
null
});
OnInitialize();
}
protected
virtual
void
OnInitialize()
{ }
}
[TestClass]
public
class
UpdateEquipmentTest : SPM150ControllerTestBase
{
public
IEquipmentListItem UpdateItemMock {
get
;
set
; }
public
IEquipmentListItem ExistingItemMock {
get
;
set
; }
//[TestInitialize]
//public void OnInit()
//{
// base.TestInit();
//}
protected
override
void
OnInitialize()
{
UpdateItemMock = Mock.Create<IEquipmentListItem>();
ExistingItemMock = Mock.Create<IEquipmentListItem>();
//Mock.Arrange(() => UpdateItemMock.BenchmarkValue).Returns(100);
//Mock.Arrange(() => UpdateItemMock.Classification).Returns("No Class");
//Mock.Arrange(() => UpdateItemMock.DeviceName).Returns("A Device");
//Mock.Arrange(() => UpdateItemMock.IPAddress).Returns("000.000.000.000");
//Mock.Arrange(() => UpdateItemMock.Request).Returns(0);
//Mock.Arrange(() => ExistingItemMock.BenchmarkValue).Returns(100);
//Mock.Arrange(() => ExistingItemMock.Classification).Returns("No Class");
//Mock.Arrange(() => ExistingItemMock.DeviceName).Returns("A Device");
//Mock.Arrange(() => ExistingItemMock.IPAddress).Returns("000.000.000.000");
//Mock.Arrange(() => ExistingItemMock.Request).Returns(0);
UpdateItemMock.BenchmarkValue = 100.0;
UpdateItemMock.Classification =
"No Class"
;
UpdateItemMock.DeviceName =
"A Device"
;
UpdateItemMock.IPAddress =
"000.000.000.000"
;
UpdateItemMock.ModbusUnitId = 100;
UpdateItemMock.Request = 0;
//set with default values can change if needed...
ExistingItemMock.BenchmarkValue = 100.0;
ExistingItemMock.DeviceName =
"A Device"
;
ExistingItemMock.ModbusUnitId = 100;
ExistingItemMock.IPAddress =
"000.000.000.000"
;
ExistingItemMock.Request = 0;
Mock.Arrange(() => Target.LogBenchmarkValueChange(Arg.AnyString, Arg.AnyDouble, Arg.AnyString, Arg.AnyString, Arg.AnyDouble)).DoNothing();
Mock.Arrange(() => Target.LogIPChange(Arg.AnyString, Arg.AnyString, Arg.AnyString, Arg.AnyString, Arg.AnyString)).DoNothing();
Mock.Arrange(() => Target.LogModBusUnitIdChange(Arg.AnyString, Arg.AnyInt, Arg.AnyString, Arg.AnyString, Arg.AnyInt)).DoNothing();
Mock.Arrange(() => Target.LogDeviceNameChange(Arg.AnyString, Arg.AnyString, Arg.AnyString, Arg.AnyString, Arg.AnyString)).DoNothing();
}
[TestMethod]
public
void
Test0020CheckForSiteAndUserCalledCorrectParametersVersion1()
{
Mock.Arrange(() => Target.CheckForSiteNumberAndUserName(Arg.AnyString, Arg.AnyString)).DoNothing().OccursOnce();
Mock.Arrange(() => SPM150ServiceMock.GetEquipmentDetails(Arg.AnyInt)).Returns(ExistingItemMock);
Target.UpdateEquipment(
"12345"
, UpdateItemMock,
"Hi Bob!"
);
//Target.Assert();
//Target.Assert(x => x.CheckForSiteNumberAndUserName("12345", "Hi Bob!"));
Mock.Assert(() => Target.CheckForSiteNumberAndUserName(
"12345"
,
"Hi Bob!"
));
}
}
Test method SPM150.Test.LogBenchmarkValueChangeTest.Test0020LogTransactionCalledWhenValuesDifferentCorrectParmetersVersion1 threw exception:
Telerik.JustMock.MockException: Profiler must be enabled to mock/assert target SPM150ControllerTestBase.get_AssetsServiceMock() method.
at Telerik.JustMock.Handlers.InterceptorHandler.Create(Object target, MethodInfo methodInfo, Boolean privateMethod)
at Telerik.JustMock.MockContext`1.SetupMock(MockExpression`1 expression)
at Telerik.JustMock.Mock.<>c__DisplayClass13.<
Assert
>b__12(MockContext`1 x)
at Telerik.JustMock.MockContext.Setup(Instruction instruction, Action`1 action)
at Telerik.JustMock.Mock.Assert(Expression`1 expression, Args args, Occurs occurs)
at Telerik.JustMock.Mock.Assert(Expression`1 expression)
at SPM150.Test.LogBenchmarkValueChangeTest.Test0020LogTransactionCalledWhenValuesDifferentCorrectParmetersVersion1() in SPM150ControllerTest.cs: line 545
public
abstract
class
AbstractStateMachine
{
public
void
DoClose()
{
//do something
close();
}
public
abstract
void
close();
}
[TestMethod]
public
void
TestMethod1()
{
AbstractStateMachine sm = Mock.Create<AbstractStateMachine>(Behavior.CallOriginal);
Mock.Arrange(() => sm.close()).DoNothing().MustBeCalled();
sm.DoClose();
}
public
class
MyClass
{
public
long
AddOne(
long
number)
{
return
number + 1;
}
}
[TestMethod]
public
void
MyClass_AddOne_mock_test_int()
{
// Arrange
int
number = 5;
int
expectedResult = 42;
var myClass = Mock.Create<MyClass>();
Mock.Arrange(() => myClass.AddOne(number))
.Returns(expectedResult);
// Act
var result = myClass.AddOne(number);
// Assert
Assert.AreEqual(expectedResult, result); // result = 0
}
Mock.Assert(() => myClass.AddOne(number), Occurs.Once());
[TestMethod]
public
void
Assert_int_vs_long()
{
int
intNumber = 5;
long
longNumber = 5;
Assert.AreEqual(intNumber, longNumber);
}
public
static
bool
DirectoryExists(
string
directory)
{
return
DirectoryExists(
new
DirectoryInfo(directory));
}
private
static
bool
DirectoryExists(DirectoryInfo directory)
{
bool
value = Directory.Exists(directory.FullName);
return
value;
}
[TestMethod]
public
void
JustMockTest_String_Arrays()
{
// Arrange
Mock.SetupStatic(
typeof
(System.IO.File));
string
[] sourceFiles =
new
string
[] { @
"X:\source\file1.txt"
};
string
[] destinationFiles =
new
string
[] { @
"X:\destination\file1.txt"
};
// Act
System.IO.File.Copy(sourceFiles[0], destinationFiles[0]);
// Assert
Mock.Assert(() => System.IO.File.Copy(sourceFiles[0], destinationFiles[0]), Occurs.Once());
}
[TestMethod]
public
void
JustMockTest_String_Arrays_ToString()
{
// Arrange
Mock.SetupStatic(
typeof
(System.IO.File));
string
[] sourceFiles =
new
string
[] { @
"X:\source\file1.txt"
};
string
[] destinationFiles =
new
string
[] { @
"X:\destination\file1.txt"
};
// Act
System.IO.File.Copy(sourceFiles[0], destinationFiles[0]);
// Assert
Mock.Assert(() => System.IO.File.Copy(sourceFiles[0].ToString(), destinationFiles[0].ToString()), Occurs.Once());
}
var Dte = Mock.Create<
DTE
>();
var activeProject = Mock.Create<
Project
>();
var solution = Mock.Create<
Solution
>();
Mock.SetupStatic(typeof(RazorTemplateExtensions));
Mock.Arrange(() => Dte.Solution).Returns(solution);
Mock.Arrange(() => RazorTemplateExtensions.Dte).Returns(Dte);
Mock.Arrange(() => Solution.FileName).Returns("SolutionNameTest");
Mock.Arrange(() => ActiveProject.RootNamespace()).Returns("DefaultNamespace");
Mock.Arrange(() => Solution.ActiveProject()).Returns(ActiveProject);
public static String DirectoryPath(this RazorTemplate razorTemplate)
{
var solution = Dte.Solution;
// while breaking here this solution is null
// In the immediate window the Dte.Solution returns proxy object.
...
}