Best JustMockLite code snippet using Telerik.JustMock.Tests.FooInternal.Test
MiscFixture.cs
Source:MiscFixture.cs
...19using Telerik.JustMock.Core;20#if !COREFX21using Telerik.JustMock.DemoLib;22#endif23#region JustMock Test Attributes24#if NUNIT25using NUnit.Framework;26using TestCategory = NUnit.Framework.CategoryAttribute;27using TestClass = NUnit.Framework.TestFixtureAttribute;28using TestMethod = NUnit.Framework.TestAttribute;29using TestInitialize = NUnit.Framework.SetUpAttribute;30using TestCleanup = NUnit.Framework.TearDownAttribute;31using AssertionException = NUnit.Framework.AssertionException;32#elif XUNIT33using Xunit;34using Telerik.JustMock.XUnit.Test.Attributes;35using TestCategory = Telerik.JustMock.XUnit.Test.Attributes.XUnitCategoryAttribute;36using TestClass = Telerik.JustMock.XUnit.Test.Attributes.EmptyTestClassAttribute;37using TestMethod = Xunit.FactAttribute;38using TestInitialize = Telerik.JustMock.XUnit.Test.Attributes.EmptyTestInitializeAttribute;39using TestCleanup = Telerik.JustMock.XUnit.Test.Attributes.EmptyTestCleanupAttribute;40using AssertionException = Telerik.JustMock.XUnit.AssertFailedException;41#elif VSTEST_PORTABLE42using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;43using AssertionException = Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssertFailedException;44#else45using Microsoft.VisualStudio.TestTools.UnitTesting;46using AssertionException = Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException;47#endif48#endregion49namespace Telerik.JustMock.Tests50{51 [TestClass]52 public class MiscFixture53 {54 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]55 public void ShouldReturnForDateTimeUsedAsArg()56 {57 var items = new List<string>() { "Foo", "Bar" };58 var myClass = Mock.Create<IMyClass>(Behavior.Strict);59 Mock.Arrange(() => myClass.GetValuesSince(Arg.IsAny<DateTime>())).Returns(items);60 var actual = myClass.GetValuesSince(DateTime.Now).ToList();61 Assert.Equal(items.Count, actual.Count);62 }63 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]64 public void ShouldAssertInPtrAsReturnValue()65 {66 var fooPtr = Mock.Create<IFooPtr>(Behavior.Strict);67 IntPtr ret = new IntPtr(3);68 Mock.Arrange(() => fooPtr.Get("a")).Returns(ret);69 IntPtr actual = fooPtr.Get("a");70 Assert.Equal(ret, actual);71 }72 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]73 public void ShouldAssertArgumentPassedByImplictConversation()74 {75 const string s = "XYZ";76 var foo = Mock.Create<IFoo>();77 Mock.Arrange(() => foo.Get(s)).Returns(10);78 Assert.Throws<AssertionException>(() => Mock.Assert(() => foo.Get(s)));79 int ret = foo.Get(s);80 Mock.Assert(() => foo.Get(s));81 Assert.Equal(10, ret);82 }83 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]84 public void ShouldAssertArgumentPassedByExplictConversation()85 {86 const string s = "XYZ";87 var foo = Mock.Create<IFoo>();88 Mock.Arrange(() => foo.Get(SomeClass<string>.From(s))).Returns(10);89 Assert.Throws<AssertionException>(() => Mock.Assert(() => foo.Get(SomeClass<string>.From(s))));90 int ret = foo.Get(SomeClass<string>.From(s));91 Mock.Assert(() => foo.Get(SomeClass<string>.From(s)));92 Assert.Equal(10, ret);93 }94 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]95 public void ShouldCreateMockWithGenericConstraints()96 {97 var target = Mock.Create<ISomething<int>>();98 Assert.NotNull(target);99 }100 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]101 public void ShoudlAssertCallWithGenericConstraint()102 {103 var target = Mock.Create<ISomething<int>>();104 // the following line should not throw any exception.105 target.DoSomething<int>();106 }107 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]108 public void ShouldAssertInterfaceForGenericConstaint()109 {110 var target = Mock.Create<ISomething<IDummy>>();111 // the following line should not throw any exception.112 target.DoSomething<IDummy>();113 }114 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]115 public void ShouldAssertImplicitInterface()116 {117 var bar = Mock.Create<IBar>();118 var barSUT = new Bar(bar);119 barSUT.Do(new Foo());120 Mock.Assert(() => bar.Do(Arg.IsAny<Foo>()));121 }122 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]123 public void ShouldBeAddRemoveConcreteMockItemsFromCollection()124 {125 var foo = Mock.Create<Foo>();126 IList<Foo> list = new List<Foo>();127 list.Add(foo);128 if (list.Contains(foo))129 {130 list.Remove(foo);131 }132 Assert.True(list.Count == 0);133 }134 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]135 public void ShouldBeAbleToCallBaseForGenericMethod()136 {137 var facade = Mock.Create<TestFacade>();138 Mock.Arrange(() => facade.Done<ContentItem>()).CallOriginal();139 Assert.Throws<ArgumentException>(() => facade.Done<ContentItem>());140 }141 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]142 public void ShouldBeAbleToCallOrignalForOutArgMethod()143 {144 var foo = Mock.Create<FooOut>();145 int expected = 0;146 Mock.Arrange(() => foo.EchoOut(out expected)).CallOriginal();147 foo.EchoOut(out expected);148 Assert.Equal(10, expected);149 }150 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]151 public void ShouldAssertCallOrignalForMethodWithGenericParameter()152 {153 var foo = Mock.Create<FooGeneric>();154 Mock.Arrange(() => foo.Echo<int>(10)).CallOriginal();155 foo.Echo<int>(10);156 }157 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]158 public void ShouldPickCorrectGenericVarientInCaseOfCallOriginal()159 {160 var foo = Mock.Create<FooGeneric>();161 Mock.Arrange(() => foo.Echo<int, int>(10)).CallOriginal();162 Assert.Throws<ArgumentException>(() => foo.Echo<int, int>(10));163 }164 [TestMethod, TestCategory("Lite")]165 public void ShouldAssertInvocationFromInsideAMockedEvent()166 {167 var @interface = Mock.Create<IInterface>();168 Mock.Arrange(() => @interface.TheFunc()).Returns(true);169 var target = new EventContainer(@interface);170 Mock.Raise(() => @interface.TheEvent += null, EventArgs.Empty);171 Assert.True(target.Result);172 }173 [TestMethod, TestCategory("Lite")]174 public void ShouldAssertRaiseEventAfterAMethodCallFromDifferentMock()175 {176 var @interface = Mock.Create<IInterface>();177 var @extended = Mock.Create<IInterfaceExtended>();178 var target = new EventContainer(@interface);179 Mock.Arrange(() => @interface.TheFunc()).Returns(true);180 Mock.Raise(() => @interface.TheEvent += null, EventArgs.Empty);181 @extended.TheFunc();182 Mock.Raise(() => @interface.TheEvent += null, EventArgs.Empty);183 Assert.True(target.NumberOfTimesCalled == 2);184 }185 [TestMethod, TestCategory("Lite"),]186 public void ShouldBeToSubscribeEventForStrictMock()187 {188 new EventContainer(Mock.Create<IInterface>(Behavior.Strict));189 }190 [TestMethod, TestCategory("Lite")]191 public void ShouldNotThrowExceptionForDecimalTypeThatHasMultipleImplicitMethods()192 {193 var foo = Mock.Create<TestBase>();194 decimal value = 1;195 Mock.Arrange(() => foo.SetValue(value)).MustBeCalled();196 foo.SetValue(value);197 Mock.Assert(foo);198 }199 public abstract class TestBase200 {201 public virtual decimal Value { get; set; }202 public virtual void SetValue(decimal newValue)203 {204 Value = newValue;205 }206 }207 public class EventContainer208 {209 public bool Result = false;210 private IInterface @interface = null;211 public int NumberOfTimesCalled { get; set; }212 public EventContainer(IInterface i)213 {214 this.@interface = i;215 this.@interface.TheEvent += new EventHandler(i_TheEvent);216 }217 void i_TheEvent(object sender, EventArgs e)218 {219 this.Result = this.@interface.TheFunc();220 this.NumberOfTimesCalled++;221 }222 }223 public interface IInterface224 {225 event EventHandler TheEvent;226 bool TheFunc();227 }228 public interface IInterfaceExtended229 {230 bool TheFunc();231 }232 public class FooOut233 {234 public virtual void EchoOut(out int argOut)235 {236 argOut = 10;237 }238 }239 public class FooGeneric240 {241 public virtual void Echo<TKey>(TKey key)242 {243 }244 public virtual void Echo<TKey, TKey2>(TKey key)245 {246 throw new ArgumentException();247 }248 }249 public class ContentItem : IFacade<ContentItem>250 {251 }252 public interface IFacade<TParaentFacade> { }253 public class TestFacade254 {255 public virtual TParentFacade Done<TParentFacade>() where TParentFacade : class, IFacade<TParentFacade>256 {257 throw new ArgumentException("My custom error");258 }259 }260#if !COREFX261 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]262 public void ShouldNotImplementInternalVirtualMemberUsingProxyWhenNotVisible()263 {264 var context = Mock.Create<Telerik.JustMock.DemoLibSigned.DummyContext>();265 Assert.NotNull(context);266 }267 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]268 public void ShouldCreateMockForFrameWorkClassWithInternalCtor()269 {270 var downloadDateCompleted = Mock.Create<DownloadDataCompletedEventArgs>();271 Assert.NotNull(downloadDateCompleted != null);272 }273 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]274 public void ShouldAssertStreamMocking()275 {276#if NETCORE277 Telerik.JustMock.Setup.AllowedMockableTypes.Add<System.IO.Stream>();278#endif279 var stream = Mock.Create<Stream>();280 Mock.Arrange(() => stream.Seek(0, SeekOrigin.Begin)).Returns(0L);281 var position = stream.Seek(0, SeekOrigin.Begin);282 Assert.Equal(0, position);283 Mock.Arrange(() => stream.Flush()).MustBeCalled();284 Mock.Arrange(() => stream.SetLength(100)).MustBeCalled();285 Assert.Throws<AssertionException>(() => Mock.Assert(stream));286 stream.Flush();287 stream.SetLength(100);288 Mock.Assert(stream);289 }290#endif291 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]292 public void ShouldMockMultipleInterfaceOnASingleMock()293 {294 var foo = Mock.Create<IFooDispose>();295 var iDisposable = foo as IDisposable;296 bool called = false;297 Mock.Arrange(() => iDisposable.Dispose()).DoInstead(() => called = true);298 iDisposable.Dispose();299 Assert.True(called);300 }301 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]302 public void ShouldMockClassWithInterfaceConstraints()303 {304 var container = Mock.Create<FakeContainer<Product>>();305 Mock.Arrange(() => container.Do<Product>()).MustBeCalled();306 container.Do<Product>();307 }308 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]309 public void ShouldMockMethodCallWithObjectArgumentWithMatcher()310 {311 var container = Mock.Create<IContainer>();312 var called = false;313 Mock.Arrange(() => container.Resolve(Arg.IsAny<IDatabase>())).DoInstead(() => called = true);314 var database = Mock.Create<IDatabase>();315 container.Resolve(database);316 Assert.True(called);317 }318 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]319 public void ShouldBeAbleToAssertNestedSetupDirectly()320 {321 var outer = Mock.Create<FooOuter>();322 var inner = Mock.Create<FooInter>();323 Mock.Arrange(() => outer.GetInnerClass()).Returns(inner);324 Mock.Arrange(() => inner.Value).Returns(10).MustBeCalled();325 Assert.Throws<AssertionException>(() => Mock.Assert(() => outer.GetInnerClass().Value));326 }327 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]328 public void ShouldNotCreateNestedMockWhenReturningCallBackForGenericCall()329 {330 Product product1 = new Product();331 Product product2 = new Product();332 Queue<Product> products = new Queue<Product>();333 products.Enqueue(product1);334 products.Enqueue(product2);335 var context = Mock.Create<IDataContext>();336 Mock.Arrange(() => context.Get<Product>()).Returns(() => products.Dequeue());337 Assert.True(context.Get<Product>().Equals(product1));338 Assert.True(context.Get<Product>().Equals(product2));339 }340 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]341 public void ShouldReturnNullWhenSpecifiedByReturn()342 {343 var exmpleMock = Mock.Create<IExampleInterface>();344 Mock.Arrange(() => exmpleMock.GetMeAllFoos()).Returns((IList<IFoo>)null);345 Assert.Null(exmpleMock.GetMeAllFoos());346 }347#if !COREFX348 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]349 public void ShouldMockInternalMemberFromBaseClass()350 {351 var id = Guid.NewGuid();352 var manager = Mock.Create<IContentManager>();353 var facade = Mock.Create<BlogFacade>(Behavior.CallOriginal);354 Mock.Arrange(() => facade.ContentManager).Returns(manager);355 Mock.Arrange(() => manager.GetItem(Arg.IsAny<Type>(), Arg.AnyGuid))356 .Returns(new Product()).MustBeCalled();357 facade.LoadItem(id);358 Mock.Assert(facade.ContentManager);359 }360#endif361 [TestMethod, TestCategory("Lite")]362 public void ShouldAssertSetupWithObjectArrayAsParams()363 {364 var foo = Mock.Create<Foo<Product>>();365 const int expected = 1;366 Mock.Arrange(() => foo.GetByKey(expected)).Returns(() => null).MustBeCalled();367 foo.GetByKey(expected);368 Mock.Assert(foo);369 }370 [TestMethod, TestCategory("Lite")]371 public void ShouldNotInstantiatePropertyWhenSetExplicitly()372 {373 var foo = Mock.Create<NestedFoo>();374 var actual = new FooThatFails(string.Empty);375 Mock.Arrange(() => foo.FooThatFailsOnCtor).Returns(actual);376 Assert.Equal(foo.FooThatFailsOnCtor, actual);377 }378 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]379 public void ShouldBeAbleToCreateMockWithInternalCtor()380 {381 var expected = "hello";382 var foo = Mock.Create<FooInternal>(x =>383 {384 x.CallConstructor(() => new FooInternal("hello"));385 x.SetBehavior(Behavior.CallOriginal);386 });387 Assert.Equal(foo.Name, expected);388 }389 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]390 public void ShouldExecuteEqualsDuringAssertWithMockArgument()391 {392 var foo = Mock.Create<FooAbstract>();393 var fooWork = Mock.Create<FooWork>();394 fooWork.DoWork(foo);395 Mock.Assert(() => fooWork.DoWork(foo));396 }397 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]398 public void ShouldAssertMultipleOccurrencesSeparatelyForAssertAll()399 {400 IFileReader fileReader = Mock.Create<IFileReader>(Behavior.Strict);401 Mock.Arrange(() => fileReader.FileExists(@"C:\Foo\Categories.txt")).Returns(false).OccursOnce();402 Mock.Arrange(() => fileReader.ReadFile(@"C:\Foo\Categories.txt")).IgnoreArguments().OccursNever();403 fileReader.FileExists(@"C:\Foo\Categories.txt");404 Mock.Assert(fileReader);405 }406 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]407 public void ShouldAssertOccurenceWhenCombinedWithNoSetupCalls()408 {409 string userName = "Bob";410 string password = "Password";411 ILoginService service = Mock.Create<ILoginService>();412 Mock.Arrange(() => service.ValidateUser(userName, password)).Returns(5).OccursOnce();413 Mock.Arrange(() => service.ValidateUser("foo", "bar")).OccursNever();414 SecurityHandler handler = new SecurityHandler(service);415 bool loggedIn = handler.LoginUser(userName, password);416 Assert.True(loggedIn);417 Assert.Equal(handler.UserID, 5);418 Mock.Assert(service);419 }420 public class NestedFoo421 {422 public virtual FooThatFails FooThatFailsOnCtor { get; set; }423 }424 public class FooThatFails425 {426 public FooThatFails(string message)427 {428 }429 public FooThatFails()430 {431 throw new ArgumentException("Failed");432 }433 }434 public class SecurityHandler435 {436 private readonly ILoginService _service;437 public int UserID { get; internal set; }438 public SecurityHandler(ILoginService service)439 {440 _service = service;441 _service.DatabaseName = "NorthWind";442 }443 public bool LoginUser(string userName, string password)444 {445 UserID = _service.ValidateUser(userName, password);446 return (UserID != 0);447 }448 }449 public interface ILoginService450 {451 int ValidateUser(string userName, string password);452 string DatabaseName { get; set; }453 event EventHandler UserLoggedOnEvent;454 event EventHandler DatabaseChangedEvent;455 }456 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]457 public void ShouldAssertCallOriginalOnOverloadsViaProxy()458 {459 var dummyExpression = Mock.Create<DummyExpression>(Behavior.CallOriginal);460 dummyExpression.Evaluate(10);461 }462 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]463 public void ShouldAssertSetPropertyOccurenceForAnyValue()464 {465 var foo = Mock.Create<IFoo>();466 Mock.ArrangeSet<IFoo>(() => foo.EffectiveFrom = DateTime.Now).IgnoreArguments();467 foo.EffectiveFrom = DateTime.Now;468 Assert.Throws<AssertionException>(() => Mock.AssertSet(() => foo.EffectiveFrom = Arg.IsAny<DateTime>(), Occurs.Never()));469 }470 [TestMethod, TestCategory("Lite")]471 public void ShouldAssertWithByteArrayArguments()472 {473 ITestInterface ti = Mock.Create<ITestInterface>();474 byte[] newimagebytes = new byte[1] { 4 };475 ti.DoStuff(newimagebytes);476 Mock.Assert(() => ti.DoStuff(newimagebytes), Occurs.AtLeastOnce());477 }478 [TestMethod, TestCategory("Lite"), TestCategory("Misc")]479 public void UsingShouldNotInterfereWithPreOccurrence()480 {481 var fakereader = Mock.Create<IXmlReader>();482 Mock.Arrange(() => fakereader.EOF).Returns(true).OccursOnce();483 Mock.Arrange(() => fakereader.ReadOuterXml()).Returns("aaa").OccursNever();484 using (fakereader)485 {486 if (!fakereader.EOF)487 {488 string s = fakereader.ReadOuterXml();489 }490 }491 Mock.Assert(fakereader);492 }493 [TestMethod, TestCategory("Lite")]494 public void ShouldAssertNewGuIdArgumentForSpecificValue()495 {496 var localPersister = Mock.Create<IProcessDataPersister>();497 Mock.Arrange(() => localPersister.GetTaskWarnings(new Guid("{00000000-0000-0000-0001-000000000003}")))498 .Returns(new List<TaskWarning>() { new TaskWarning(new Guid("{00000000-0000-0000-0001-000000000003}")) { EscalationLevel = 0 } })499 .MustBeCalled();500 var list = localPersister.GetTaskWarnings(new Guid("{00000000-0000-0000-0001-000000000003}"));501 Assert.NotNull(list);502 Mock.Assert(localPersister);503 }504 [TestMethod, TestCategory("Lite"),]505 public void ShouldConfirmMockingClassWithMethodHidingItsVirtualBase()506 {507 var child = Mock.Create<ChildClass>();508 Assert.NotNull(child);509 }510 public class ChildClass : ParentClass, IElement511 {512 public new bool CanWriteProperty(string propertyName)513 {514 throw new NotImplementedException();515 }516 }517 public interface IElement518 {519 bool CanWriteProperty(string propertyName);520 }521 public class ParentClass522 {523 public virtual bool CanWriteProperty(string propertyName)524 {525 return false;526 }527 }528 public class TaskWarning529 {530 private Guid guid;531 public TaskWarning(Guid guid)532 {533 this.guid = guid;534 }535 public int EscalationLevel { get; set; }536 }537 public interface IProcessDataPersister538 {539 List<TaskWarning> GetTaskWarnings(Guid taskId);540 }541 public interface ITestInterface542 {543 void DoStuff(byte[] bytes);544 }545 public class Foo<TEntity>546 {547 public virtual TEntity GetByKey(params object[] keyValues)548 {549 return default(TEntity);550 }551 }552 public class ContentFacade<TItem>553 {554 public virtual IContentManager ContentManager { get; set; }555 internal virtual void LoadItem(Guid guid)...
NonPublicFixture.cs
Source:NonPublicFixture.cs
...15using System.Collections.Generic;16using System.Linq;17using System.Reflection;18using System.Text;19#region JustMock Test Attributes20#if NUNIT21using NUnit.Framework;22using TestCategory = NUnit.Framework.CategoryAttribute;23using TestClass = NUnit.Framework.TestFixtureAttribute;24using TestMethod = NUnit.Framework.TestAttribute;25using TestInitialize = NUnit.Framework.SetUpAttribute;26using TestCleanup = NUnit.Framework.TearDownAttribute;27using AssertionException = NUnit.Framework.AssertionException;28#elif XUNIT29using Xunit;30using Telerik.JustMock.XUnit.Test.Attributes;31using TestCategory = Telerik.JustMock.XUnit.Test.Attributes.XUnitCategoryAttribute;32using TestClass = Telerik.JustMock.XUnit.Test.Attributes.EmptyTestClassAttribute;33using TestMethod = Xunit.FactAttribute;34using TestInitialize = Telerik.JustMock.XUnit.Test.Attributes.EmptyTestInitializeAttribute;35using TestCleanup = Telerik.JustMock.XUnit.Test.Attributes.EmptyTestCleanupAttribute;36using AssertionException = Telerik.JustMock.XUnit.AssertFailedException;37#elif VSTEST_PORTABLE38using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;39using AssertionException = Microsoft.VisualStudio.TestPlatform.UnitTestFramework.AssertFailedException;40#else41using Microsoft.VisualStudio.TestTools.UnitTesting;42using AssertionException = Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException;43#endif44#endregion45namespace Telerik.JustMock.Tests46{47 [TestClass]48 public class NonPublicFixture49 {50 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]51 public void ShouldMockProtectedVirtualMembers()52 {53 var foo = Mock.Create<Foo>(Behavior.CallOriginal);54 Mock.NonPublic.Arrange(foo, "Load").MustBeCalled();55 foo.Init();56 Mock.Assert(foo);57 }58 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]59 public void ShouldMockProtectedProperty()60 {61 var foo = Mock.Create<Foo>(Behavior.CallOriginal);62 Mock.NonPublic.Arrange<int>(foo, "IntValue").Returns(10);63 int ret = foo.GetMultipleOfIntValue();64 Assert.Equal(20, ret);65 }66 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]67 public void ShouldMockOverloadUsingMatchers()68 {69 var foo = Mock.Create<Foo>(Behavior.CallOriginal);70 bool called = false;71 Mock.NonPublic72 .Arrange(foo, "ExecuteProtected", Arg.Expr.IsAny<int>(), Arg.Expr.IsNull<Foo>())73 .DoInstead(() => called = true);74 foo.Execute(10, null);75 Assert.True(called);76 }77 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]78 public void ShouldMockOverloadUsingConcreteValues()79 {80 var foo = Mock.Create<Foo>(Behavior.CallOriginal);81 bool called = false, called2 = false;82 Mock.NonPublic83 .Arrange(foo, "ExecuteProtected", 10, Arg.Expr.IsNull<FooDerived>())84 .DoInstead(() => called = true);85 Mock.NonPublic86 .Arrange(foo, "ExecuteProtected", Arg.Expr.IsNull<FooDerived>(), 10)87 .DoInstead(() => called2 = true);88 foo.Execute(10, null);89 foo.Execute(null, 10);90 Assert.True(called);91 Assert.True(called2);92 }93 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]94 public void ShouldThrowArgumentExpectionForNullArguments()95 {96 var foo = Mock.Create<Foo>(Behavior.CallOriginal);97 Assert.Throws<ArgumentException>(() => Mock.NonPublic.Arrange(foo, "ExecuteProtected", 0, null));98 }99 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]100 public void ShouldAssertNonPublicActions()101 {102 var foo = Mock.Create<Foo>(Behavior.CallOriginal);103 Mock.NonPublic.Arrange(foo, "ExecuteProtected", 10);104 foo.Execute(10);105 // assert if called as expected.106 Mock.NonPublic.Assert(foo, "ExecuteProtected", 10);107 }108 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]109 public void ShouldAssertNonPublicFunctions()110 {111 var foo = Mock.Create<Foo>(Behavior.CallOriginal);112 Mock.NonPublic.Arrange<int>(foo, "IntValue").Returns(10);113 foo.GetMultipleOfIntValue();114 Mock.NonPublic.Assert<int>(foo, "IntValue");115 }116 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]117 public void ShouldThrowForAssertingCallsThatWereNotInvoked()118 {119 var foo = Mock.Create<Foo>(Behavior.CallOriginal);120 Mock.NonPublic.Arrange(foo, "ExecuteProtected", 10);121 // assert if called as expected.122 Assert.Throws<AssertionException>(() => Mock.NonPublic.Assert(foo, "ExecuteProtected", 10));123 }124 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]125 public void ShouldAssertOccrenceForNonPublicFunction()126 {127 var foo = Mock.Create<Foo>(Behavior.CallOriginal);128 Mock.NonPublic.Assert<int>(foo, "IntValue", Occurs.Never());129 }130 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]131 public void ShouldAssertOccurenceForNonPublicAction()132 {133 var foo = Mock.Create<Foo>(Behavior.CallOriginal);134 Mock.NonPublic.Arrange(foo, "ExecuteProtected", 10);135 foo.Execute(10);136 Mock.NonPublic.Assert(foo, "ExecuteProtected", Occurs.Exactly(1), 10);137 }138 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]139 public void ShouldThrowMissingMethodExceptionForMethodSpecification()140 {141 var foo = Mock.Create<Foo>(Behavior.CallOriginal);142 Assert.Throws<MissingMemberException>(() => Mock.NonPublic.Arrange(foo, "ExecuteProtected"));143 }144#if !SILVERLIGHT145 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]146 public void ShouldCreateMockFromClassHavingAbstractInternalMethodInBase()147 {148 var foo = Mock.Create<FooAbstract2>();149 foo.TryCreateToken(string.Empty);150 }151 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]152 public void ShouldMockTypeWithInternalCtorWhenInternalVisibleToIsApplied()153 {154 // Provided that InternalsVisibleTo attribute is included in assemblyinfo.cs.155 var foo = Mock.Create<FooInternal>(Behavior.CallOriginal);156 Assert.NotNull(foo.Builder);157 }158 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]159 public void ShouldAssertNonPublicMethodFromBase()160 {161 var baz = Mock.Create<Baz>(Behavior.CallOriginal);162 const string targetMethod = "MethodToMock";163 Mock.NonPublic.Arrange(baz, targetMethod).DoNothing();164 baz.MethodToTest();165 Mock.NonPublic.Assert(baz, targetMethod);166 }167#if !PORTABLE168 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]169 public void ShouldAssertNonPublicCallWhenOccurrenceIsApplied()170 {171 var baz = Mock.Create<Bar>(Behavior.CallOriginal);172 const string targetMethod = "MethodToMock";173 Mock.NonPublic.Arrange(baz, targetMethod).OccursOnce();174 baz.GetType().GetMethod(targetMethod, BindingFlags.NonPublic | BindingFlags.Instance).Invoke(baz, null);175 Mock.NonPublic.Assert(baz, targetMethod);176 }177 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic"), TestCategory("Assertion")]178 public void ShouldGetTimesCalledOfNonPublicMethod()179 {180 var mock = Mock.Create<Bar>();181 Mock.NonPublic.MakePrivateAccessor(mock).CallMethod("MethodToMock");182 Assert.Equal(1, Mock.NonPublic.GetTimesCalled(mock, "MethodToMock"));183 Assert.Equal(1, Mock.NonPublic.GetTimesCalled(mock, typeof(Bar).GetMethod("MethodToMock", BindingFlags.NonPublic | BindingFlags.Instance)));184 }185#endif186 public class Bar187 {188 protected virtual void MethodToMock()189 {190 throw new ArgumentException("Base method Invoked");191 }192 }193 public class Baz : Bar194 {195 public virtual void MethodToTest()196 {197 MethodToMock();198 }199 }200 internal class FooInternal201 {202 internal FooInternal()203 {204 builder = new StringBuilder();205 }206 public StringBuilder Builder207 {208 get209 {210 return builder;211 }212 }213 private StringBuilder builder;214 }215#endif216 internal abstract class FooAbstract217 {218 protected internal abstract bool TryCreateToken(string literal);219 }220 internal abstract class FooAbstract2 : FooAbstract221 {222 }223 public class Foo224 {225 protected virtual void ExecuteProtected(Foo foo, int arg1)226 {227 throw new NotImplementedException();228 }229 protected virtual void ExecuteProtected(int arg1, Foo foo)230 {231 throw new NotImplementedException();232 }233 protected virtual void ExecuteProtected(int arg1)234 {235 throw new NotImplementedException();236 }237 public virtual void Execute(int arg1)238 {239 ExecuteProtected(arg1);240 }241 public virtual void Execute(int arg1, Foo foo)242 {243 ExecuteProtected(arg1, foo);244 }245 public virtual void Execute(Foo foo, int arg1)246 {247 ExecuteProtected(foo, arg1);248 }249 protected virtual void Load()250 {251 throw new NotImplementedException();252 }253 protected virtual int IntValue254 {255 get256 {257 throw new NotImplementedException();258 }259 }260 public virtual void Init()261 {262 Load();263 }264 public virtual int GetMultipleOfIntValue()265 {266 return IntValue * 2;267 }268 }269 public class FooDerived : Foo270 {271 }272 public class RefTest273 {274 protected virtual void Test(string arg1, ref string asd)275 {276 }277 public void ExecuteTest(ref string asd)278 {279 this.Test("test1", ref asd);280 }281 }282 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]283 public void ShouldArrangeNonPublicUsingByRefArgumentWithMatcher()284 {285 var foo = Mock.Create<RefTest>(Behavior.CallOriginal);286 Mock.NonPublic.Arrange(foo, "Test", Arg.Expr.IsAny<string>(), Arg.Expr.Ref(Arg.Expr.IsAny<string>())).MustBeCalled();287 string asd = "asd";288 foo.ExecuteTest(ref asd);289 Mock.Assert(foo);290 }291 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]292 public void ShouldArrangeNonPublicUsingByRefArgumentWithConstant()293 {294 int call = 1;295 int callA = 0, callB = 0;296 var foo = Mock.Create<RefTest>(Behavior.CallOriginal);297 Mock.NonPublic.Arrange(foo, "Test", Arg.Expr.IsAny<string>(), Arg.Expr.Ref(Arg.Expr.IsAny<string>())).DoInstead(() => callB = call++);298 Mock.NonPublic.Arrange(foo, "Test", Arg.Expr.IsAny<string>(), Arg.Expr.Ref("asd")).DoInstead(() => callA = call++);299 string input = "asd";300 foo.ExecuteTest(ref input);301 input = "foo";302 foo.ExecuteTest(ref input);303 Assert.Equal(1, callA);304 Assert.Equal(2, callB);305 }306 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]307 public void ShouldArrangeNonPublicUsingByRefArgumentAsOutputParameter()308 {309 var foo = Mock.Create<RefTest>(Behavior.CallOriginal);310 Mock.NonPublic.Arrange(foo, "Test", Arg.Expr.IsAny<string>(), Arg.Expr.Out("asd"));311 string input = "";312 foo.ExecuteTest(ref input);313 Assert.Equal("asd", input);314 }315 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]316 public void ShouldNotArrangeNonPublicUsingConstantArgumentWhereByRefIsExpected()317 {318 var foo = Mock.Create<RefTest>(Behavior.CallOriginal);319 Assert.Throws<MissingMemberException>(() => Mock.NonPublic.Arrange(foo, "Test", Arg.Expr.IsAny<string>(), "asd"));320 }321 public abstract class WeirdSignature322 {323 protected abstract int Do(int a, string b, ref object c, IEnumerable<int> d);324 protected abstract void Do(bool b);325 protected abstract DateTime Do(DateTime dateTime);326 protected static void Do(int d) { }327 protected static int Do(char e) { return 0; }328 }329 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]330 public void ShouldProvideHelpfulExceptionMessageWhenNonPublicMethodIsMissing()331 {332 var foo = Mock.Create<WeirdSignature>();333 var exception = Assert.Throws<MissingMemberException>(() => Mock.NonPublic.Arrange(foo, "Do"));334 var message = exception.Message;335 Assert.Equal(("Method 'Do' with the given signature was not found on type Telerik.JustMock.Tests.NonPublicFixture+WeirdSignature\r\n" +336"Review the available methods in the message below and optionally paste the appropriate arrangement snippet.\r\n" +337"----------\r\n" +338"Method 1: Int32 Do(Int32, System.String, System.Object ByRef, System.Collections.Generic.IEnumerable`1[System.Int32])\r\n" +339"C#: Mock.NonPublic.Arrange<int>(mock, \"Do\", Arg.Expr.IsAny<int>(), Arg.Expr.IsAny<string>(), Arg.Expr.Ref(Arg.Expr.IsAny<object>()), Arg.Expr.IsAny<IEnumerable<int>>());\r\n" +340"VB: Mock.NonPublic.Arrange(Of Integer)(mock, \"Do\", Arg.Expr.IsAny(Of Integer)(), Arg.Expr.IsAny(Of String)(), Arg.Expr.Ref(Arg.Expr.IsAny(Of Object)()), Arg.Expr.IsAny(Of IEnumerable(Of Integer))())\r\n" +341"----------\r\n" +342"Method 2: Void Do(Boolean)\r\n" +343"C#: Mock.NonPublic.Arrange(mock, \"Do\", Arg.Expr.IsAny<bool>());\r\n" +344"VB: Mock.NonPublic.Arrange(mock, \"Do\", Arg.Expr.IsAny(Of Boolean)())\r\n" +345"----------\r\n" +346"Method 3: System.DateTime Do(System.DateTime)\r\n" +347"C#: Mock.NonPublic.Arrange<DateTime>(mock, \"Do\", Arg.Expr.IsAny<DateTime>());\r\n" +348"VB: Mock.NonPublic.Arrange(Of Date)(mock, \"Do\", Arg.Expr.IsAny(Of Date)())\r\n" +349"----------\r\n" +350"Method 4: Void Do(Int32)\r\n" +351"C#: Mock.NonPublic.Arrange(\"Do\", Arg.Expr.IsAny<int>());\r\n" +352"VB: Mock.NonPublic.Arrange(\"Do\", Arg.Expr.IsAny(Of Integer)())\r\n" +353"----------\r\n" +354"Method 5: Int32 Do(Char)\r\n" +355"C#: Mock.NonPublic.Arrange<int>(\"Do\", Arg.Expr.IsAny<char>());\r\n" +356"VB: Mock.NonPublic.Arrange(Of Integer)(\"Do\", Arg.Expr.IsAny(Of Char)())\r\n").Replace("\r\n", Environment.NewLine), message);357 var exception2 = Assert.Throws<MissingMemberException>(() => Mock.NonPublic.Arrange(foo, "Dont"));358 var message2 = exception2.Message;359 Assert.Equal(("Method 'Dont' with the given signature was not found on type Telerik.JustMock.Tests.NonPublicFixture+WeirdSignature\r\n" +360 "No methods or properties found with the given name.\r\n").Replace("\r\n", Environment.NewLine), message2);361 }362 public abstract class NonPublicOverloads363 {364 protected abstract int NotOverloaded(int a, out object b);365 protected abstract int Overloaded(int a);366 protected abstract int Overloaded(string a);367 protected abstract int Prop { set; }368 public int CallNotOverloaded(int a, out object b)369 {370 return NotOverloaded(a, out b);371 }372 public int SetProp373 {374 set { Prop = value; }375 }376 }377 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]378 public void ShouldQuickArrangeNonPublicNonOverloadedMethod()379 {380 var mock = Mock.Create<NonPublicOverloads>(Behavior.CallOriginal);381 Mock.NonPublic.Arrange<int>(mock, "NotOverloaded").Returns(5);382 object b;383 var result = mock.CallNotOverloaded(5, out b);384 Assert.Equal(5, result);385 }386 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]387 public void ShouldQuickArrangeNonPublicSetter()388 {389 var mock = Mock.Create<NonPublicOverloads>(Behavior.CallOriginal);390 bool called = false;391 Mock.NonPublic.Arrange(mock, "Prop").DoInstead(() => called = true);392 mock.SetProp = 5;393 Assert.True(called);394 }395 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]396 public void ShouldFailToQuickArrangeNonPublicOverloadedMethods()397 {398 var mock = Mock.Create<NonPublicOverloads>();399 Assert.Throws<MissingMemberException>(() => Mock.NonPublic.Arrange<int>(mock, "Overloaded"));400 }401 public abstract class GenericTest402 {403 protected abstract T Do<T>(T x);404 protected abstract IEnumerable<T> Enumerate<T>();405 public int TestDo()406 {407 return Do(10);408 }409 public IEnumerable<int> TestEnumerate()410 {411 return Enumerate<int>();412 }413 }414 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]415 public void ShouldArrangeNonPublicMethodReturningGenericValue()416 {417 var mock = Mock.Create<GenericTest>(Behavior.CallOriginal);418 Mock.NonPublic.Arrange<int>(mock, "Do", Arg.Expr.IsAny<int>()).Returns(123);419 Assert.Equal(123, mock.TestDo());420 }421 [TestMethod, TestCategory("Lite"), TestCategory("NonPublic")]422 public void ShouldArrangeNonPublicMethodReturningGenericValueComplexType()423 {424 var mock = Mock.Create<GenericTest>(Behavior.CallOriginal);425 Mock.NonPublic.Arrange<IEnumerable<int>>(mock, "Enumerate").Returns(new[] { 123 });426 var actual = mock.TestEnumerate().ToArray();427 Assert.Equal(1, actual.Length);428 Assert.Equal(123, actual[0]);429 }430 }431}...
Test
Using AI Code Generation
1FooInternal foo = new FooInternal();2foo.Test();3FooInternal foo = new FooInternal();4foo.Test();5FooInternal foo = new FooInternal();6foo.Test();7FooInternal foo = new FooInternal();8foo.Test();9FooInternal foo = new FooInternal();10foo.Test();11FooInternal foo = new FooInternal();12foo.Test();13FooInternal foo = new FooInternal();14foo.Test();15FooInternal foo = new FooInternal();16foo.Test();17FooInternal foo = new FooInternal();18foo.Test();19FooInternal foo = new FooInternal();20foo.Test();21FooInternal foo = new FooInternal();22foo.Test();23FooInternal foo = new FooInternal();24foo.Test();25FooInternal foo = new FooInternal();26foo.Test();27FooInternal foo = new FooInternal();28foo.Test();29FooInternal foo = new FooInternal();
Test
Using AI Code Generation
1var foo = new FooInternal();2foo.Test();3var foo = new FooInternal();4foo.Test();5var foo = new FooInternal();6foo.Test();7var foo = new FooInternal();8foo.Test();9var foo = new FooInternal();10foo.Test();11var foo = new FooInternal();12foo.Test();13var foo = new FooInternal();14foo.Test();15var foo = new FooInternal();16foo.Test();17var foo = new FooInternal();18foo.Test();19var foo = new FooInternal();20foo.Test();21var foo = new FooInternal();22foo.Test();23var foo = new FooInternal();24foo.Test();25var foo = new FooInternal();26foo.Test();27var foo = new FooInternal();28foo.Test();29var foo = new FooInternal();30foo.Test();
Test
Using AI Code Generation
1var foo = Mock.Create<FooInternal>();2Mock.Arrange(() => foo.Test()).Returns(1);3Assert.AreEqual(1, foo.Test());4var foo = Mock.Create<FooInternal>();5Mock.Arrange(() => foo.Test()).Returns(1);6Assert.AreEqual(1, foo.Test());7var foo = Mock.Create<Foo>();8Mock.Arrange(() => foo.Test()).Returns(1);9Assert.AreEqual(1, foo.Test());10var foo = Mock.Create<Foo>();11Mock.Arrange(() => foo.Test()).Returns(1);12Assert.AreEqual(1, foo.Test());
Test
Using AI Code Generation
1var mock = Mock.Create<FooInternal>();2Mock.Arrange(() => mock.Test()).Returns("hello");3Assert.AreEqual("hello", mock.Test());4var mock = Mock.Create<FooInternal>();5Mock.Arrange(() => mock.Test()).Returns("hello");6Assert.AreEqual("hello", mock.Test());7Error 1 The type or namespace name 'FooInternal' could not be found (are you missing a using directive or an assembly reference?) C:\Users\me\Desktop\test\1.cs 6 24 test8var mock = Mock.Create<Telerik.JustMock.Tests.FooInternal>();9I have tested the scenario with the latest version of Telerik JustMock (2012.1.1206.1) and I was able to reproduce the issue. I have logged it in our feedback portal and you can track its progress through this link:
Test
Using AI Code Generation
1public void TestMethod1()2{3 var foo = new FooInternal();4 Mock.Arrange(() => foo.Test()).Returns("test");5 Assert.AreEqual("test", foo.Test());6}7public void TestMethod2()8{9 var foo = new FooInternal();10 Mock.Arrange(() => foo.Test()).Returns("test");11 Assert.AreEqual("test", foo.Test());12}13public void TestMethod3()14{15 var foo = new FooInternal();16 Mock.Arrange(() => foo.Test()).Returns("test");17 Assert.AreEqual("test", foo.Test());18}19public void TestMethod4()20{21 var foo = new FooInternal();22 Mock.Arrange(() => foo.Test()).Returns("test");23 Assert.AreEqual("test", foo.Test());24}25public void TestMethod5()26{27 var foo = new FooInternal();28 Mock.Arrange(() => foo.Test()).Returns("test");29 Assert.AreEqual("test", foo.Test());30}31public void TestMethod6()32{33 var foo = new FooInternal();34 Mock.Arrange(() => foo.Test()).Returns("test");35 Assert.AreEqual("test", foo.Test());36}37public void TestMethod7()38{39 var foo = new FooInternal();40 Mock.Arrange(() => foo.Test()).Returns("test");41 Assert.AreEqual("test", foo.Test());42}43public void TestMethod8()44{45 var foo = new FooInternal();46 Mock.Arrange(() => foo.Test()).Returns("test");47 Assert.AreEqual("
Test
Using AI Code Generation
1using Telerik.JustMock.Tests;2{3 static void Main(string[] args)4 {5 FooInternal.InternalTest();6 }7}8I am getting the error "The type or namespace name 'FooInternal' does not exist in the namespace 'Telerik.JustMock.Tests' (are you missing an assembly reference?)"9using Telerik.JustMock.Tests.FooInternal;10{11 static void Main(string[] args)12 {13 FooInternal.InternalTest();14 }15}16But I am getting the error "The type or namespace name 'FooInternal' could not be found (are you missing a using directive or an assembly reference?)"17I have added a reference to the assembly where the FooInternal class is declared. But I am still getting the error "The type or namespace name 'FooInternal' does not exist in the namespace 'Telerik.JustMock.Tests' (are you missing an assembly reference?)"18using Telerik.JustMock.Tests.FooInternal;19{20 static void Main(string[] args)21 {22 FooInternal.InternalTest();23 }24}25But I am getting the error "The type or namespace name 'FooInternal' could not be found (are you missing a using directive or an assembly reference?)"
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!