or
Imports System.Text
Imports Telerik.JustMock
Public Class User
Public Sub New()
MyBase.New()
End Sub
Public Shared Function Create() As User
Dim returnValue As New User
returnValue.UID = "TestUser"
returnValue.Roles.Add("Admin")
Return returnValue
End Function
Public Property UID As String
Public Property Roles As List(Of String)
Public Function IsAdministrator() As Boolean
Return _roles.Contains("Admin")
End Function
End Class
<
TestClass
()>
Public Class Mocking
<
TestMethod
()>
Public Sub Works()
Dim user As User = user.Create
Assert.IsTrue(user.IsAdministrator)
End Sub
<
TestMethod
()>
Public Sub DoesNotWork()
Dim user As User = Mock.Create(Of User)()
Dim roles As New List(Of String)
Mock.Arrange(Function() user.UID).Returns("SomeUser")
roles.Add("Admin")
Mock.Arrange(Function() user.Roles).Returns(roles)
Assert.AreEqual("SomeUser", user.UID)
Assert.AreEqual(roles.Count, user.Roles.Count)
Assert.AreEqual("Admin", user.Roles.Item(0))
Assert.IsTrue(user.IsAdministrator)
End Sub
End Class
I'm sure I'm just missing something obvious, so any help is greatly appreciated.
var first =
new
MyClass();
var second =
new
MyClass();
second.DoSomething();
Mock.Arrange(() => first.DoSomething()).Returns(
new
List<IDataItem>);
first.DoSomething();
var invalidType =
new
MyEnum();
Mock.Arrange(() => invalidType.ToType()).Returns((System.Type)
null
);
SPUser currentUser = Mock.Create<
SPUser
>();
Initialization method XX.Presentation.Tests.LicensedPatents.AssociatedPatentsPresenterTests.InitalizeTest threw exception. System.MissingMethodException: System.MissingMethodException: Constructor on type 'System.Object[,]' not found..
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
at System.Activator.CreateInstance(Type type, Object[] args)
at Telerik.JustMock.Utility.GetDefaultValue(Type target)
at Telerik.JustMock.Utility.ProcessArgument(Type target, BindingFlags flags, Object[] args)
at Telerik.JustMock.Utility.GetArgumentsWithDefaultValue(Type target)
at Telerik.JustMock.Utility.GetExtentedArguments(Type target, Object[] args)
at Telerik.JustMock.Mock.Create(Type target, Behavior behavior, Object[] args)
at Telerik.JustMock.Mock.Create(Type target, Object[] args)
at Telerik.JustMock.Mock.Create()
at XX.Presentation.Tests.LicensedPatents.AssociatedPatentsPresenterTests.InitalizeTest() in AssociatedPatentsPresenterTests.cs: line 88