Best JustMockLite code snippet using Telerik.JustMock.Tests.FooResult.Echo
AssertionFixture.cs
Source:AssertionFixture.cs
...75 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]76 public void ShouldAssertOnlyTheOnesMarkedAsMustBeCalled()77 {78 var foo = Mock.Create<Foo>();79 Mock.Arrange(() => foo.Echo(1)).Returns(10).MustBeCalled();80 Mock.Arrange(() => foo.Echo(2)).Returns(11);81 Assert.Equal(foo.Echo(1), 10);82 Assert.Equal(foo.Echo(2), 11);83 Mock.Assert(foo);84 }85 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]86 public void ShouldThrowForRequiredCallThatIsNotInvoked()87 {88 var foo = Mock.Create<Foo>();89 Mock.Arrange(() => foo.Echo(1)).Returns(10).MustBeCalled();90 Mock.Arrange(() => foo.Echo(2)).Returns(11).MustBeCalled();91 Assert.Equal(foo.Echo(1), 10);92 Assert.Throws<AssertionException>(() => Mock.Assert(foo));93 }94 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]95 public void ShouldAssertOnlyTheSpecifiedOne()96 {97 var foo = Mock.Create<Foo>();98 Mock.Arrange(() => foo.Echo(1)).Returns(10).MustBeCalled();99 Mock.Arrange(() => foo.Echo(2)).Returns(11).MustBeCalled();100 // calling Echo 1101 Assert.Equal(foo.Echo(1), 10);102 // asserting Echo 2103 Mock.Assert(() => foo.Echo(1));104 }105 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]106 public void ShouldPassWhenExpectedSetupIsInvokedForAssertAll()107 {108 var foo = Mock.Create<Foo>();109 Mock.Arrange(() => foo.Echo(1)).Returns(10);110 foo.Echo(1);111 Mock.AssertAll(foo);112 }113 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]114 public void ShouldNotRaiseForAssertAllWhenProperyIsAutoArranged()115 {116 var foo = Mock.Create<Foo>();117 foo.Value = true;118 Mock.AssertAll(foo);119 }120 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]121 public void ShouldNotRaiseForAssertAllWhenArrangeSetIsApplied()122 {123 var foo = Mock.Create<Foo>();124 Mock.ArrangeSet<Foo>(() => foo.Value = true);125 foo.Value = true;126 Mock.AssertAll(foo);127 }128 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]129 public void ShouldThrowWheMockedSetupIsNotInvokedForAssertAll()130 {131 var foo = Mock.Create<Foo>();132 Mock.Arrange(() => foo.Echo(1)).Returns(10);133 Assert.Throws<AssertionException>(() => Mock.AssertAll(foo));134 }135 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]136 public void ShouldFailAssertionForOtherThanTheOneSpecified()137 {138 var foo = Mock.Create<Foo>();139 Mock.Arrange(() => foo.Echo(1)).Returns(10).MustBeCalled();140 Mock.Arrange(() => foo.Echo(2)).Returns(11).MustBeCalled();141 Assert.Equal(foo.Echo(1), 10);142 Assert.Throws<AssertionException>(() => { Mock.Assert(() => foo.Echo(2)); });143 }144 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]145 public void ShouldAssertExpecationRecursively()146 {147 var bar = Mock.Create<Bar>();148 Mock.Arrange(() => bar.Echo(1)).Returns(2).MustBeCalled();149 var foo = Mock.Create<Foo>();150 Mock.Arrange(() => foo.GetBar()).Returns(bar);151 Assert.Equal(foo.GetBar().Echo(1), 2);152 //asserts bar.153 Mock.Assert(foo.GetBar());154 }155 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]156 public void ShouldAssertAssertablesRecursively()157 {158 var bar = Mock.Create<Bar>();159 Mock.Arrange(() => bar.Echo(1)).Returns(2).MustBeCalled();160 Mock.Arrange(() => bar.Echo(2)).Returns(3).MustBeCalled();161 var foo = Mock.Create<Foo>();162 Mock.Arrange(() => foo.GetBar()).Returns(bar);163 Assert.Equal(foo.GetBar().Echo(1), 2);164 Assert.Throws<AssertionException>(() => Mock.Assert(foo));165 Assert.Equal(foo.GetBar().Echo(2), 3);166 Mock.Assert(foo);167 }168 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]169 public void ShouldAssertMethodWihtMultipleParameters()170 {171 var foo = Mock.Create<Foo>();172 // first call wont be asserted.173 Mock.Arrange(() => foo.Sum(1, 3)).Returns(1);174 // second call will be asserted.175 Mock.Arrange(() => foo.Sum(1, 2)).Returns(1);176 Assert.Equal(foo.Sum(1, 2), 1);177 Mock.Assert(() => foo.Sum(1, 2));178 }179 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]180 public void ShouldAssertMethodWithOutputParam()181 {182 var foo = Mock.Create<IFoo>();183 bool expected = true;184 Mock.Arrange(() => foo.EchoOut(out expected)).DoNothing();185 Assert.Throws<AssertionException>(() => Mock.Assert(() => foo.EchoOut(out expected)));186 foo.EchoOut(out expected);187 Mock.Assert(() => foo.EchoOut(out expected));188 Assert.True(expected);189 }190 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]191 public void ShouldThrowForUnUsedSetup()192 {193 var foo = Mock.Create<IFoo>();194 Mock.Arrange(() => foo.Echo(1)).Returns(10);195 Assert.Throws<AssertionException>(() => Mock.Assert(() => foo.Echo(1)));196 }197 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]198 public void ShouldAssertPropertyGetCall()199 {200 var foo = Mock.Create<IFoo>();201 Mock.Arrange(() => foo.Value).Returns(10);202 Assert.Throws<AssertionException>(() => Mock.Assert(() => foo.Value));203 }204 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]205 public void ShouldAssertCallWithMatchers()206 {207 var foo = Mock.Create<IFoo>();208 Mock.Arrange(() => foo.Echo(Arg.IsAny<int>())).Returns((int i) => i);209 Assert.Equal(foo.Echo(10), 10);210 Mock.Assert(() => foo.Echo(Arg.Matches<int>(x => x == 10)));211 Assert.Throws<AssertionException>(() => Mock.Assert(() => foo.Echo(Arg.Matches<int>(x => x == 11))));212 }213 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]214 public void ShouldAssertMatherWithAnyInAssertion()215 {216 var foo = Mock.Create<IFoo>();217 Mock.Arrange(() => foo.Echo(Arg.Matches<int>(x => x == 10))).Returns((int i) => i);218 Assert.Equal(foo.Echo(10), 10);219 Mock.Assert(() => foo.Echo(Arg.IsAny<int>()));220 }221 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]222 public void ShouldAssertCallHavingMultipleArgsWithMatchers()223 {224 var foo = Mock.Create<IFoo>();225 Mock.Arrange(() => foo.Execute(Arg.IsAny<int>(), Arg.IsAny<int>())).Returns((int id, int i) => i);226 Assert.Equal(foo.Execute(100, 10), 10);227 Mock.Assert(() => foo.Execute(Arg.IsAny<int>(), Arg.Matches<int>(x => x == 10)));228 }229 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]230 public void ShouldAssertMatcherWithRealValueArguments()231 {232 var foo = Mock.Create<IFoo>();233 Mock.Arrange(() => foo.Execute(Arg.IsAny<int>(), Arg.IsAny<int>())).Returns((int id, int i) => i);234 Assert.Equal(foo.Execute(100, 10), 10);235 Mock.Assert(() => foo.Execute(100, Arg.Matches<int>(x => x == 10)));236 }237 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]238 public void ShouldThrowForInvalidAssertionWithMatcher()239 {240 var foo = Mock.Create<IFoo>();241 Mock.Arrange(() => foo.Execute(Arg.IsAny<int>(), Arg.IsAny<int>())).Returns((int id, int i) => i);242 Assert.Equal(foo.Execute(100, 10), 10);243 Assert.Throws<AssertionException>(() =>244 {245 Mock.Assert(() => foo.Execute(Arg.Matches<int>(x => x == 4), Arg.Matches<int>(x => x == 10)));246 });247 }248 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]249 public void ShouldThrowForNonSpecificLambdaCallsOnAssert()250 {251 var foo = Mock.Create<IFoo>();252 Mock.Arrange(() => foo.Echo(1)).Returns(2);253 foo.Echo(1);254 Assert.Throws<MockException>(() => Mock.Assert(() => foo));255 Mock.Assert(foo);256 }257 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]258 public void ShouldAssertPropertySetUsingAssertable()259 {260 var foo = Mock.Create<IFoo>();261 Mock.ArrangeSet<IFoo>(() => { foo.Value = 1; }).DoNothing().MustBeCalled();262 Assert.Throws<AssertionException>(() => Mock.Assert(foo));263 foo.Value = 1;264 Mock.Assert(foo);265 }266 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]267 public void ShouldAssertSpecificPropertySet()268 {269 var foo = Mock.Create<IFoo>();270 Mock.ArrangeSet<IFoo>(() => { foo.Value = 1; });271 Assert.Throws<AssertionException>(() => Mock.AssertSet(() => foo.Value = 1));272 foo.Value = 1;273 Mock.AssertSet(() => foo.Value = 1);274 }275 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]276 public void ShouldBeAbleToSpecifyOccurenceForAssertSet()277 {278 var foo = Mock.Create<IFoo>();279 foo.Value = 1;280 foo.Value = 2;281 Mock.AssertSet(() => foo.Value = Arg.AnyInt, Occurs.Exactly(2));282 }283 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]284 public void ShouldAssertSetWithMatcherWhenItInvokesAnotherMethodDuringSet()285 {286 var foo = Mock.Create<Foo>(Behavior.CallOriginal);287 // invokes OnFooValueChanged.288 foo.FooValue = Mock.Create<IFoo>(Behavior.CallOriginal);289 Mock.AssertSet(() => foo.FooValue = Arg.IsAny<IFoo>(), Occurs.Once());290 }291 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]292 public void ShouldNotThrowDuringAssertForCallOriginalWhenNoArrangeSpecified()293 {294 var foo = Mock.Create<FooWithSetThatThows>(Behavior.CallOriginal);295 Mock.AssertSet(() => foo.Value = Arg.AnyInt, Occurs.Never());296 }297 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]298 public void ShouldAssertMethodCallWithOutputParam()299 {300 var foo = Mock.Create<IFoo>();301 bool expected = true;302 Mock.Arrange(() => foo.EchoOut(out expected)).DoNothing();303 Assert.Throws<AssertionException>(() => Mock.Assert(() => foo.EchoOut(out expected)));304 bool actual = false;305 foo.EchoOut(out actual);306 Mock.Assert(() => foo.EchoOut(out expected));307 }308 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]309 public void ShoudThrowForUninitializedIndexedSet()310 {311 var foo = Mock.Create<IFooIndexed>();312 Mock.ArrangeSet<IFooIndexed>(() => foo[0] = "ping");313 Assert.Throws<AssertionException>(() => Mock.AssertSet(() => foo[0] = "ping"));314 }315 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]316 public void ShouldAssertIndexerSet()317 {318 var foo = Mock.Create<IFooIndexed>();319 Mock.ArrangeSet<IFooIndexed>(() => foo[0] = "ping");320 foo[0] = "ping";321 Mock.AssertSet(() => foo[0] = "ping");322 }323 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]324 public void ShouldAssertSetWithIndexerWithMatcher()325 {326 var foo = Mock.Create<IFooIndexed>();327 Mock.ArrangeSet<IFooIndexed>(() => foo[0] = "ping");328 foo[0] = "ping";329 Mock.AssertSet(() => foo[0] = Arg.Matches<string>(x => x.StartsWith("p")));330 }331 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]332 public void ShouldThrowSetIndexerWithMatcherThatIsNotCalled()333 {334 var foo = Mock.Create<IFooIndexed>();335 Mock.ArrangeSet<IFooIndexed>(() => foo[0] = "ping");336 Assert.Throws<AssertionException>(() =>337 {338 Mock.AssertSet(() => foo[0] = Arg.Matches<string>(x => x.StartsWith("p")));339 });340 }341 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]342 public void ShouldAssertMatcherSetupWithMatcherForIndexer()343 {344 var foo = Mock.Create<IFooIndexed>();345 Mock.ArrangeSet<IFooIndexed>(() => foo[0] = Arg.IsAny<string>());346 foo[0] = "ping";347 Mock.AssertSet(() => foo[0] = Arg.Matches<string>(x => string.Compare("ping", x) == 0));348 }349 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]350 public void ShouldEnsureMockAssertionAfterThrows()351 {352 var foo = Mock.Create<IFoo>();353 Mock.Arrange(() => foo.Execute(Arg.IsAny<string>())).Throws(new InvalidOperationException()).MustBeCalled();354 Assert.Throws<InvalidOperationException>(() => foo.Execute(string.Empty));355 // should not throw any exception.356 Mock.Assert(foo);357 }358 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]359 public void ShouldAssertCallsHavingListAsReturn()360 {361 var repository = Mock.Create<IFooRepository>();362 Mock.Arrange(() => repository.GetFoos()).Returns(new List<Foo>363 {364 new Foo(),365 new Foo(),366 new Foo(),367 new Foo(),368 new Foo()369 })370 .MustBeCalled();371 IList<Foo> foos = repository.GetFoos();372 var expected = 5;373 var actual = foos.Count;374 Assert.Equal(expected, actual);375 Mock.Assert(repository);376 }377 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]378 public void ShouldAssertSetupWithIgnoreArguments()379 {380 var foo = Mock.Create<IFoo>();381 Mock.Arrange(() => foo.Execute(0, 0)).IgnoreArguments().Returns(10);382 foo.Execute(1, 1);383 Mock.Assert(() => foo.Execute(Arg.AnyInt, Arg.AnyInt));384 }385 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]386 public void ShouldAssertCallWithMockAsArgument()387 {388 FooResult result = Mock.Create<FooResult>();389 var data = Mock.Create<IDataAccess>();390 data.ProcessFilterResult(result, "a", "b");391 Mock.Assert(() => data.ProcessFilterResult(result, "a", "b"), Occurs.Once());392 }393 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]394 public void ShoudIgnoreExecptionForReturnDuringAssert()395 {396 var foo = Mock.Create<IFoo>();397 Mock.Arrange(() => foo.Echo(Arg.AnyInt))398 .Returns((int value) =>399 {400 if (value == default(int))401 {402 throw new InvalidOperationException();403 }404 return value;405 });406 foo.Echo(10);407 Mock.Assert(() => foo.Echo(Arg.AnyInt), Occurs.Once());408 }409 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]410 public void ShouldNotResursivelyAssertForSetupThatReturnItSelf()411 {412 var foo = Mock.Create<IFoo>();413 Mock.Arrange(() => foo.GetFoo()).Returns(foo).MustBeCalled();414 foo.GetFoo();415 Mock.Assert(foo);416 }417 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]418 public void ShouldAssertCallWithArrayArguments()419 {420 var expression = Mock.Create<FooExrepssion>();421 var expected = new[] { "x", "y" };422 expression.Update(expected);423 Mock.Assert(() => expression.Update(expected));424 }425 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]426 public void ShouldFailCallWithArrayArgumentsHavingDifferentValues()427 {428 var expression = Mock.Create<FooExrepssion>();429 var expected = new[] { "x", "y" };430 var assert = new[] { "x", "z" };431 expression.Update(expected);432 Assert.Throws<AssertionException>(() =>433 {434 Mock.Assert(() => expression.Update(assert));435 });436 }437 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]438 public void ShouldAssertCallWithArrayOfValueTypeArguments()439 {440 var expression = Mock.Create<FooExrepssion>();441 expression.Update(new[] { 1, 2 });442 Mock.Assert(() => expression.Update(new[] { 1, 2 }));443 }444 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]445 public void ShouldAssertCallWithNullValuedArgument()446 {447 var expression = Mock.Create<FooExrepssion>();448 expression.UpdateIt(null);449 Mock.Assert(() => expression.UpdateIt(null));450 }451 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]452 public void ShouldBeAbleToAssertOccursUsingMatcherForSimilarCallAtOnce()453 {454 var foo = Mock.Create<Foo>();455 Mock.Arrange(() => foo.Echo(1)).Returns((int arg) => arg);456 Mock.Arrange(() => foo.Echo(2)).Returns((int arg) => arg);457 Mock.Arrange(() => foo.Echo(3)).Returns((int arg) => arg);458 foo.Echo(1);459 foo.Echo(2);460 foo.Echo(3);461 Mock.Assert(() => foo.Echo(Arg.AnyInt), Occurs.Exactly(3));462 }463 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]464 public void ShouldFailForOccursUsingMatcherForSimilarCallWhenNotExpected()465 {466 var foo = Mock.Create<Foo>();467 Mock.Arrange(() => foo.Echo(1)).Returns((int arg) => arg);468 Mock.Arrange(() => foo.Echo(2)).Returns((int arg) => arg);469 Mock.Arrange(() => foo.Echo(3)).Returns((int arg) => arg);470 foo.Echo(1);471 foo.Echo(2);472 Assert.Throws<AssertionException>(() =>473 {474 Mock.Assert(() => foo.Echo(Arg.AnyInt), Occurs.Exactly(3));475 });476 }477 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]478 public void ShouldAssertWithAnyAssertForExpectedInvocationOfSetupWithOccursFollowedBySimilarSetup()479 {480 var foo = Mock.Create<Foo>();481 Mock.Arrange(() => foo.Echo(1)).Returns((int arg) => arg).Occurs(2);482 Mock.Arrange(() => foo.Echo(2)).Returns((int arg) => arg);483 foo.Echo(1);484 foo.Echo(2);485 foo.Echo(1);486 Mock.Assert(() => foo.Echo(Arg.AnyInt));487 }488 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]489 public void ShouldFailAnyAssertWhenNumberOfTimesExecutedIsNotSameAsExpected()490 {491 var foo = Mock.Create<Foo>();492 Mock.Arrange(() => foo.Echo(1)).Returns((int arg) => arg).Occurs(2);493 foo.Echo(1);494 Assert.Throws<AssertionException>(() => Mock.Assert(() => foo.Echo(Arg.AnyInt)));495 }496 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]497 public void ShouldFailPreOccursForAnyAssertIfNotExpectedAsReqThatIsFollowedBySimilarSetup()498 {499 var foo = Mock.Create<Foo>();500 Mock.Arrange(() => foo.Echo(1)).Returns((int arg) => arg).Occurs(2);501 Mock.Arrange(() => foo.Echo(2)).Returns((int arg) => arg);502 foo.Echo(1);503 foo.Echo(2);504 Assert.Throws<AssertionException>(() =>505 {506 Mock.Assert(() => foo.Echo(Arg.AnyInt));507 });508 }509 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]510 public void ShouldAssertCallWhenCombinedWithEnumFollowedByAnyTypeArgs()511 {512 var region = Mock.Create<IRegionManager>();513 region.RequestNavigate(RegionNames.OperationsEditRegion, new FooExrepssion());514 Mock.Assert(() => region.RequestNavigate(RegionNames.OperationsEditRegion, Arg.IsAny<FooExrepssion>()), Occurs.Once());515 }516 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]517 public void ShouldAssertForAnyArgumentsWhenIgnoreSwitchIsSpecified()518 {519 var region = Mock.Create<IRegionManager>();520 region.RequestNavigate(RegionNames.OperationsEditRegion, new FooExrepssion());521 Mock.Assert(() => region.RequestNavigate(RegionNames.OperationsEditRegion, null), Args.Ignore());522 }523 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]524 public void ShouldAssertForAnyArgumentsWhenIgnoreSwitchAndOccursSpecified()525 {526 var region = Mock.Create<IRegionManager>();527 Mock.Assert(() => region.RequestNavigate(RegionNames.OperationsEditRegion, null), Args.Ignore(), Occurs.Never());528 }529 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]530 public void ShouldAssertForArgMatchesWhenArgumentCalulatedBasedOnMockValues()531 {532 var viewServiceMock = Mock.Create<IViewService>();533 var view1 = Mock.Create<IView>();534 var view2 = Mock.Create<IView>();535 var view3 = Mock.Create<IView>();536 Mock.Arrange(() => viewServiceMock.Views).Returns(new[] { view1, view2, view3 });537 Mock.Arrange(() => viewServiceMock.ActiveView).Returns(view2);538 Mock.Arrange(() => viewServiceMock.TryCloseViews(Arg.IsAny<IEnumerable<IView>>()));539 viewServiceMock.TryCloseViews(viewServiceMock.Views.Except(new[] { viewServiceMock.ActiveView }));540 Mock.Assert(() => viewServiceMock.TryCloseViews(Arg.Matches<IEnumerable<IView>>((views) => views.All((view) => view == view1 || view == view3))), Occurs.Once());541 }542 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]543 public void ShouldVerifyThatMockArgumentIsNotAssertedInsteadOfExpected()544 {545 var viewServiceMock = Mock.Create<IViewService>();546 var view1 = Mock.Create<IView>();547 var view2 = Mock.Create<IView>();548 var view3 = Mock.Create<IView>();549 Mock.Arrange(() => viewServiceMock.Views).Returns(new[] { view1, view2, view3 });550 Mock.Arrange(() => viewServiceMock.ActiveView).Returns(view2);551 Mock.Arrange(() => viewServiceMock.TryCloseViews(Arg.IsAny<IEnumerable<IView>>()));552 viewServiceMock.TryCloseViews(viewServiceMock.Views.Except(new[] { viewServiceMock.ActiveView }));553 // this will increase the execution number of GetHashCode()554 Assert.True(new[] { view1, view3 }.All((view) => view == view1 || view == view3));555 Mock.Assert(() => viewServiceMock.TryCloseViews(Arg.Matches<IEnumerable<IView>>((views) => views.All((view) => view == view1 || view == view3))), Occurs.Once());556 }557 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]558 public void ShouldThrowAssertFailedWithCompositeFailureMessage()559 {560 var foo = Mock.Create<IFoo>();561 Mock.Arrange(() => foo.Echo(Arg.AnyInt)).Occurs(3);562 Mock.Arrange(() => foo.Echo(15)).InOrder().OccursOnce();563 Mock.Arrange(() => foo.Echo(20)).InOrder().OccursOnce();564 var ex = Assert.Throws<AssertionException>(() => Mock.Assert(foo));565 Assert.True(ex.Message.Contains("1. "));566 Assert.True(ex.Message.Contains("2. "));567 Assert.True(ex.Message.Contains("3. "));568 Assert.True(ex.Message.Contains("4. "));569 Assert.True(ex.Message.Contains("--no calls--"));570 }571 public abstract class AbstractCUT572 {573 public void A() { this.DoA(); }574 public abstract void DoA();575 public void B() { this.DoB(); }576 protected abstract void DoB();577 }578 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]579 public void ShouldAssertAbstractMethodExercisedOnAbstractCUT()580 {581 var target = Mock.Create<AbstractCUT>(Behavior.CallOriginal);582 Mock.Arrange(() => target.DoA()).DoNothing();583 target.A();584 Mock.Assert(() => target.DoA(), Occurs.Once());585 Mock.NonPublic.Arrange(target, "DoB").DoNothing();586 target.B();587 Mock.NonPublic.Assert(target, "DoB", Occurs.Once());588 }589 [TestMethod]590 public void ShouldIncludeMessageInPosthocAssertion()591 {592 var x = Mock.Create<IDisposable>();593 var ex = Assert.Throws<AssertionException>(() => Mock.Assert(() => x.Dispose(), "The message!"));594 Assert.True(ex.Message.Contains("The message!"));595 }596 [TestMethod]597 public void ShouldIncludeMessageInBlanketAssertionWithMultipleFailures()598 {599 var x = Mock.Create<IDisposable>();600 Mock.Arrange(() => x.Dispose()).MustBeCalled("Because of reasons!");601 Mock.Arrange(() => x.Dispose()).InOrder("More reasons!");602 var ex = Assert.Throws<AssertionException>(() => Mock.Assert(x, "The blanket!"));603 Assert.True(ex.Message.Contains("Because of reasons!"));604 Assert.True(ex.Message.Contains("More reasons!"));605 Assert.True(ex.Message.Contains("The blanket!"));606 }607 [TestMethod]608 public void ShouldIncludeMessageInBlanketAssertionWithSingleFailure()609 {610 var x = Mock.Create<IDisposable>();611 Mock.Arrange(() => x.Dispose()).MustBeCalled("Because of reasons!");612 var ex = Assert.Throws<AssertionException>(() => Mock.Assert(x, "The blanket!"));613 Assert.True(ex.Message.Contains("Because of reasons!"));614 Assert.True(ex.Message.Contains("The blanket!"));615 }616 public class FooWithSetThatThows617 {618 public virtual int Value619 {620 get { return value; }621 set { throw new NotImplementedException(); }622 }623 private readonly int value;624 }625 public interface IView626 {627 }628 public interface IViewService629 {630 void TryCloseViews(IEnumerable<IView> param1);631 IView ActiveView { get; set; }632 IView[] Views { get; set; }633 }634 public enum RegionNames635 {636 OperationsEditRegion637 }638 public interface IRegionManager639 {640 void RequestNavigate(RegionNames names, FooExrepssion exp);641 }642 public class FooExrepssion643 {644 public virtual void Update(IEnumerable<string> arguments)645 {646 }647 public virtual void Update(IEnumerable<int> arguments)648 {649 }650 public virtual void UpdateIt(FooResult value)651 {652 }653 }654 public class FooResult655 {656 }657 public interface IDataAccess658 {659 void ProcessFilterResult(FooResult result, string email, string body);660 }661 public interface IFooRepository662 {663 IList<Foo> GetFoos();664 }665 public interface IFoo666 {667 void EchoOut(out bool expected);668 void VoidCall();669 int Value { get; set; }670 void Execute(string arg);671 int Echo(int intValue);672 int Execute(int arg1, int arg2);673 IFoo GetFoo();674 }675 public interface IFooIndexed676 {677 string this[int key] { get; set; }678 }679 public class Foo680 {681 public virtual int Echo(int input)682 {683 return input;684 }685 public virtual int Sum(int x, int y)686 {687 return x + y;688 }689 public virtual Bar GetBar()690 {691 return new Bar();692 }693 public virtual bool Value { get; set; }694 protected virtual void OnFooValueChanged()695 {696 }697 public virtual IFoo FooValue698 {699 get700 {701 return fooValue;702 }703 set704 {705 if (this.fooValue != value)706 {707 this.fooValue = value;708 OnFooValueChanged();709 }710 }711 }712 private IFoo fooValue;713 }714 public class Bar715 {716 public virtual int Echo(int input)717 {718 return input;719 }720 }721 public interface IMyInterface722 {723 int Foo(object stuff);724 }725 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]726 public void ShouldAssertFunctionCallExpressionWithArgsAndOccurs()727 {728 var thing = Mock.Create<IMyInterface>();729 thing.Foo(123);730 Mock.Assert(() => thing.Foo(new object()), Args.Ignore(), Occurs.Once());731 }732 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]733 public void ShouldGetTimesCalledOfFunction()734 {735 var mock = Mock.Create<IFoo>();736 var x = mock.Value;737 Assert.Equal(1, Mock.GetTimesCalled(() => mock.Value));738 }739 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]740 public void ShouldGetTimesCalledOfVoidMethod()741 {742 var mock = Mock.Create<IFoo>();743 mock.VoidCall();744 Assert.Equal(1, Mock.GetTimesCalled(() => mock.VoidCall()));745 }746 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]747 public void ShouldGetTimesCalledOfFunctionWithArgs()748 {749 var mock = Mock.Create<IFoo>();750 mock.Echo(5);751 Assert.Equal(1, Mock.GetTimesCalled(() => mock.Echo(0), Args.Ignore()));752 }753 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]754 public void ShouldGetTimesCalledOfVoidMethodWithArgs()755 {756 var mock = Mock.Create<IFoo>();757 mock.Execute("aaa");758 Assert.Equal(1, Mock.GetTimesCalled(() => mock.Execute(null), Args.Ignore()));759 }760 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]761 public void ShouldGetTimesCalledOfSetter()762 {763 var mock = Mock.Create<IFoo>();764 mock.Value = 10;765 Assert.Equal(1, Mock.GetTimesSetCalled(() => mock.Value = 10));766 Assert.Equal(0, Mock.GetTimesSetCalled(() => mock.Value = 20));767 }768 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]769 public void ShouldGetTimesCalledOfSetterWithArgs()770 {771 var mock = Mock.Create<IFoo>();772 mock.Value = 10;773 Assert.Equal(1, Mock.GetTimesSetCalled(() => mock.Value = 0, Args.Ignore()));774 }775#if XUNIT776 [Fact(Skip = SkipReason.Value)]777#elif NUNIT778 [TestMethod, Ignore("")]779#else780 [TestMethod, Ignore]781#endif782 [TestCategory("Lite"), TestCategory("Assertion")]783 public void ShouldGetDebugViewTraceInMockException()784 {785 var traceEnabled = DebugView.IsTraceEnabled;786 try787 {788 DebugView.IsTraceEnabled = true;789 var mock = Mock.Create<IFoo>();790 var ex = Assert.Throws<AssertionException>(() => Mock.Assert(() => mock.Value, Occurs.Once()));791 Assert.NotNull(ex.InnerException);792 Assert.Equal(typeof(DebugViewDetailsException), ex.InnerException.GetType());793 }794 finally795 {796 DebugView.IsTraceEnabled = traceEnabled;797 }798 }799 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]800 public void ShouldAssertSetUsingRighsideLamdaMockResultOccursOnce()801 {802 // Arrange803 var fooMock = Mock.Create<IFoo>();804 var barMock = Mock.Create<Bar>();805 Mock.Arrange(() => barMock.Echo(Arg.IsAny<int>())).Returns(2);806 // Act807 fooMock.Value = barMock.Echo(1);808 // Assert809 Mock.AssertSet(() => fooMock.Value = barMock.Echo(1), Occurs.Once());810 }811 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]812 public void ShouldAssertSetUsingRighsideLamdaMockResultOccursNever()813 {814 // Arrange815 var fooMock = Mock.Create<IFoo>();816 var barMock = Mock.Create<Bar>();817 Mock.Arrange(() => barMock.Echo(Arg.IsAny<int>())).Returns(2);818 // Assert819 Mock.AssertSet(() => fooMock.Value = barMock.Echo(1), Occurs.Never());820 }821 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]822 public void ShouldAssertSetUsingRighsideLamdaUnmockedResultOccursOnce()823 {824 // Arrange825 var fooMock = Mock.Create<IFoo>();826 var bar = new Bar();827 // Act828 fooMock.Value = bar.Echo(1);829 // Assert830 Mock.AssertSet(() => fooMock.Value = bar.Echo(1), Occurs.Once());831 }832 [TestMethod, TestCategory("Lite"), TestCategory("Assertion")]833 public void ShouldAssertSetUsingRighsideLamdaUnmockedResultOccursNever()834 {835 // Arrange836 var fooMock = Mock.Create<IFoo>();837 var bar = new Bar();838 // Assert839 Mock.AssertSet(() => fooMock.Value = bar.Echo(1), Occurs.Never());840 }841 }842#if !XUNIT843#if !PORTABLE844#if !NUNIT845 [TestClass]846 public class DebugViewTests847 {848#if !SILVERLIGHT849 private static string resultsDirectory;850#endif851 [AssemblyInitialize]852 public static void AssemblyInit(TestContext testContext)853 {...
Echo
Using AI Code Generation
1var fooResult = new Telerik.JustMock.Tests.FooResult();2fooResult.Echo("test");3var fooResult = new Telerik.JustMock.Tests.FooResult();4fooResult.Echo("test");5var fooResult = new Telerik.JustMock.Tests.FooResult();6fooResult.Echo("test");7var fooResult = new Telerik.JustMock.Tests.FooResult();8fooResult.Echo("test");9var fooResult = new Telerik.JustMock.Tests.FooResult();10fooResult.Echo("test");11var fooResult = new Telerik.JustMock.Tests.FooResult();12fooResult.Echo("test");13var fooResult = new Telerik.JustMock.Tests.FooResult();14fooResult.Echo("test");15var fooResult = new Telerik.JustMock.Tests.FooResult();16fooResult.Echo("test");17var fooResult = new Telerik.JustMock.Tests.FooResult();18fooResult.Echo("test");19var fooResult = new Telerik.JustMock.Tests.FooResult();20fooResult.Echo("test");21var fooResult = new Telerik.JustMock.Tests.FooResult();22fooResult.Echo("test");
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!!