or

[TestClass]public class JustMockTest{ [TestMethod] public void TestMethod() { Mock.SetupStatic(typeof(Real)); IntPtr test; Mock.Arrange(() => Real.RealMethod(Arg.IsAny<int>(), out test)).IgnoreArguments().Returns((int a, IntPtr b) => Fake.FakeMethod(a, out b)); IntPtr expected; int result = Real.RealMethod(1, out expected); }}public static class Real{ public static int RealMethod(int a, out IntPtr b) { b = new IntPtr(222); return a*2; }}public static class Fake{ public static int FakeMethod(int a, out IntPtr b) { b = new IntPtr(111); return a * 4; }}01.using System;02.using System.Collections.Generic;03.using System.Linq;04.using System.Text;05.using System.Threading.Tasks;06.using Microsoft.Practices.EnterpriseLibrary.Data;07.using System.Data;08.using System.Data.Common;09.// Other using statements for Models10. 11.namespace Test.Repository12.{13. public class MyDatabaseRepo : IMyDatabaseRepo 14. {15. // Microsoft.Practices.EnterpriseLibrary.Data 'Database' object16. readonly Database _database;17. 18. public MyDatabaseRepo(Database dataSource)19. {20. _database = dataSource;21. }22. 23. public int InsertNewCustomer(ClientEntity client)24. {25. int ClientRecordId = 0;26. using (DbCommand dbCmd = _da.GetStoredProcCommand("usp_InsertNewCustomers"))27. {28. _database.AddInParameter(dbCmd, "@Address1", DbType.String, client.Address1);29. _database.AddInParameter(dbCmd, "@Address2", DbType.String, client.Address2);30. _database.AddInParameter(dbCmd, "@City", DbType.String, client.City);31. _database.AddInParameter(dbCmd, "@State", DbType.String, client.State);32. _database.AddInParameter(dbCmd, "PostalCode", DbType.String, client.PostalCode);33. _database.AddOutParameter(dbCmd, "@recordID", DbType.Int32, 0);34. 35. using (IDataReader reader = _database.ExecuteReader(dbCmd))36. {37. reader.Read();38. ClientRecordId = Convert.ToInt32(dbCmd.Parameters["@recordID"].Value);39. }40. }41. 42. return ClientRecordId;43. }44. }45.}
var actionContext = Mock.Create<HttpActionContext>();var actionDescriptor = Mock.Create<HttpActionDescriptor>();actionContext.ActionDescriptor = actionDescriptor;actionDescriptor.Arrange(a => a.GetCustomAttributes<AllowAnonymousAttribute>()) .Returns(new Collection<AllowAnonymousAttribute>());var controllerContext = Mock.Create<HttpControllerContext>();actionContext.ControllerContext = controllerContext;var controllerDescriptor = Mock.Create<HttpControllerDescriptor>();controllerContext.ControllerDescriptor = controllerDescriptor;controllerDescriptor.Arrange(a => a.GetCustomAttributes<AllowAnonymousAttribute>()) .Returns(new Collection<AllowAnonymousAttribute>());var requestContext = Mock.Create<HttpRequestContext>();controllerContext.RequestContext = requestContext;var request = Mock.Create<HttpRequestMessage>();request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());actionContext.Arrange(x => x.Request).Returns(request);var principal = Mock.Create<IPrincipal>();requestContext.Principal = principal;var identity = Mock.Create<IIdentity>();principal.Arrange(x => x.Identity).Returns(identity);identity.Arrange(x => x.IsAuthenticated).Returns(true);var attribute = new PermissionsAttribute("TEST_ROLE");attribute.OnAuthorization(actionContext);Assert.IsNotNull(actionContext.Response);Assert.AreEqual(HttpStatusCode.Forbidden, actionContext.Response.StatusCode);Test method Tests.Filters.PermissionsAttributeTests.Test_403 threw exception: <br>System.NullReferenceException: Object reference not set to an instance of an object.<br> at System.Net.Http.Headers.MediaTypeHeaderValue.GetHashCode()<br> at System.ValueType.GetHashCode()<br> at System.Collections.Generic.ObjectEqualityComparer`1.GetHashCode(T obj)<br> at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)<br> at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)<br> at Telerik.JustMock.Core.Behaviors.RecursiveMockingBehavior.Process(Invocation invocation)<br> at Telerik.JustMock.Core.MocksRepository.DispatchInvocation(Invocation invocation)<br> at Telerik.JustMock.Core.ProfilerInterceptor.Intercept(RuntimeTypeHandle typeHandle, RuntimeMethodHandle methodHandle, Object[] data)<br> at System.Net.Http.Headers.MediaTypeHeaderValue.get_MediaType()<br> at System.Net.Http.Formatting.ParsedMediaTypeHeaderValue..ctor(MediaTypeHeaderValue mediaType)<br> at System.Net.Http.Formatting.MediaTypeHeaderValueExtensions.IsSubsetOf(MediaTypeHeaderValue mediaType1, MediaTypeHeaderValue mediaType2, ref MediaTypeHeaderValueRange mediaType2Range)<br> at System.Net.Http.Formatting.MediaTypeHeaderValueExtensions.IsSubsetOf(MediaTypeHeaderValue mediaType1, MediaTypeHeaderValue mediaType2)<br> at System.Net.Http.Formatting.DefaultContentNegotiator.MatchRequestMediaType(HttpRequestMessage request, MediaTypeFormatter formatter)<br> at System.Net.Http.Formatting.DefaultContentNegotiator.ComputeFormatterMatches(Type type, HttpRequestMessage request, IEnumerable`1 formatters)<br> at System.Net.Http.Formatting.DefaultContentNegotiator.Negotiate(Type type, HttpRequestMessage request, IEnumerable`1 formatters)<br> at System.Web.Http.Results.NegotiatedContentResult`1.Execute(HttpStatusCode statusCode, T content, IContentNegotiator contentNegotiator, HttpRequestMessage request, IEnumerable`1 formatters)<br> at System.Net.Http.HttpRequestMessageExtensions.CreateResponse(HttpRequestMessage request, HttpStatusCode statusCode, T value, HttpConfiguration configuration)<br> at System.Net.Http.HttpRequestMessageExtensions.CreateErrorResponse(HttpRequestMessage request, HttpStatusCode statusCode, Func`2 errorCreator)<br> at System.Net.Http.HttpRequestMessageExtensions.CreateErrorResponse(HttpRequestMessage request, HttpStatusCode statusCode, HttpError error)<br> at System.Net.Http.HttpRequestMessageExtensions.CreateErrorResponse(HttpRequestMessage request, HttpStatusCode statusCode, String message)<br> at PermissionsAttribute.HandleUnauthorizedRequest(HttpActionContext actionContext) in PermissionsAttribute.cs: line 48<br> at System.Web.Http.AuthorizeAttribute.OnAuthorization(HttpActionContext actionContext)<br> at Tests.Filters.PermissionsAttributeTests.Test_403() in PermissionsAttributeTests.cs: line 91
var mock = Mock.Create<Thread>(Constructor.Mocked);Assert.IsNotNull(mock);Telerik.JustMock.MockException: Cannot create mock for sensitive types.AllowedMockableTypes.Add<Thread>();public IEnumerable<string>GetListTitles(){ClientContext ctx = new ClientContext(SiteUrl);ctx.Credentials = CredentialCache.DefaultCredentials; ListCollection lists = ctx.Web.Lists;ctx.Load(lists); foreach(List list in lists) { yield return list.Title; }}var mockCtx = Mock.Create<ClientContext>(Constructor.Mocked); var mockWeb = Mock.Create<Web>(); var mockLists = Mock.Create<ListCollection>(); var mockList = Mock.Create<List>(); Mock.Arrange( () => mockCtx.Web).Returns(mockWeb); Mock.Arrange( () => mockWeb.Lists).Returns(mockLists); Mock.Arrange( () => mockLists[Arg.AnyInt]).Returns(mockList); Mock.Arrange( () => mockList.Title)).Returnsa("fakeTitle"); Mock.Arrange( () => mockCtx.Load<ListCollection>(mockLists)).DoNothing(); Mock.Arrange( () => mockCtx.ExecuteQuery()).DoNothing(); var actual = SUT.GetListTitlesByCSOM(); Assert.AreEqual(expected, actual);
public ICollection<RawCatalog> ReadCatalog(string familyName){ // Root folder for the family string familyFolder = this.GetFamilyFolder(familyName); DirectoryInfo familyFolderInfo = new DirectoryInfo(familyFolder); foreach (DirectoryInfo subFamilyFolderInfo in familyFolderInfo.EnumerateDirectories()) { // Do stuff }}// ArrangeDirectoryInfo fakeDirectoryInfo = Mock.Create<DirectoryInfo>(Constructor.Mocked);Mock.Arrange(() => new DirectoryInfo(@"testRoot\DrivesData\TestFamily")).Returns(fakeDirectoryInfo);Mock.Arrange(() => directoryInfo.EnumerateDirectories()).Returns(new DirectoryInfo[] { });
using System;using System.Threading.Tasks;using Microsoft.VisualStudio.TestTools.UnitTesting;using Telerik.JustMock;namespace JustMockThreadIssue{ public class Helper { public static void DoSomething() { Console.WriteLine("DoSomething"); } } public class Worker { public void Do() { Task.Factory.StartNew(DoMyJob); //DoMyJob(); } private void DoMyJob() { Helper.DoSomething(); } } [TestClass] public class JustMockThreadIssueTest { [TestMethod] public void Worker_Do() { var called = false; Mock.Arrange(() => Helper.DoSomething()).DoInstead(() => called = true); var worker = new Worker(); worker.Do(); Assert.IsTrue(called); } }}