should I worry about the unexpected?

The level of validation in typical state testing with assertions is different from typical interaction testing with mocks. Allow me to have a closer look at this subtle difference. My conclusion dares to question the important part of mocking philosophy: worrying about the unexpected.

Let me explain by starting from the beginning: a typical interaction based test with mocks (using some pseudo-mocking syntax):


Typical interaction based test

Here is what the test tells me:

When you read the article
then the should be called
and NO other method on the reader should be called.

Now, let’s have a look at typical state based test with assertions:


Typical state based test

Which means:

– When you read the article
– then the article should be read.

Have you noticed the subtle difference between #1 and #2?

In state testing, an assertion is focused on a single property and doesn’t validate the surrounding state. When the behavior under test changes some additional, unexpected property – it will not be detected by the test.

In interaction testing, a mock object validates all interactions. When the behavior under test calls some additional, unexpected method on a mock – it will be detected and UnexpectedInteractionError is thrown.

I wonder if interaction testing should be extra defensive and worry about the unexpected?

Many of you say ‘yes’ but then how come you don’t do state based testing along this pattern? I’ll show you how:


State based test can detect the unexpected!

Which means:

– When you read the article
– then the article should be read
– and no other state on the article should change.

Note that the assertion is made on the entire Article object. It effectively detects any unexpected state changes (e.g: if read() method changes some extra property on the article then the test fails). This way a typical state based test becomes extra defensive just like typical test with mocks.

The thing is state based tests are rarely written like that. So the obvious question is how come finding the unexpected is more important in interaction testing than in state testing?

Let’s consider pros & cons. Surely detecting the unexpected seems to add credibility and quality to the test. Sometimes however, it just gets in the way, especially when doing TDD. To explain it clearer let’s get back to the example #3: the state based test with detecting the unexpected enabled. Say I’d like to test-drive a new feature:


Test-driving new feature

I run the tests to find out that newly added test method fails. It’s time to implement the feature:

Adding new feature

I run the test again and the new test passes now but hold on… the previous test method fails! Note that the existing functionality is clearly not broken.

What happened? The previous test detected the unexpected change on the article – setting the date. How can I fix it?

1. I can merge both test methods into one which is probably a good idea in this silly example. However, many times I really want to have small, separate test methods that are focused around behavior. One-assert-per-test people do it all the time.

2. Finally, I can stop worrying about the unexpected and focus on testing what is really important:

public shouldSetReadDateWhenReading() {;
assertEquals(today(), article.getReadDate());

public shouldReadArticle() {;

Ok, I know the example is silly. But it is only to explain why worrying about unexpected may NOT be such a good friend of TDD or small&focused test methods.

Let’s get back to mocking.

Most mocking frameworks detect the unexpected by default. When new features are test-driven as new test methods, sometimes existing tests start failing due to unexpected interaction errors. What happens next?

1. Junior developers copy-paste expectations from one test to another making the test methods overspecified and less maintainable.

2. Veteran developers modify existing tests and change the expectations to ignore some/all interactions. Most mocking frameworks enables developers to ignore expectations selectively or object-wise. Nevertheless, it is still a bit of a hassle – why should I change existing tests when the existing functionality is clearly not broken? (like in example #4 – functionality not broken but the test fails). The other thing is that explicitly ignoring interactions is also a bit like overspecification. After all, to ignore something I prefer just not to write ANYTHING. In state based tests if I don’t care about something I don’t write an assertion for that. It’s simple and so natural.

To recap: worrying about the unexpected sometimes leaves me with overspecified tests or less comfortable TDD. Now, do I want to trade it for the quality? I’m talking about the quality introduced by extra defensive test?

The thing is I didn’t find a proof that the quality improved when every test worried about the unexpected. That’s why I prefer to write extra defensive tests only when it’s relevant. That’s why I really like state based testing. That’s why I prefer spying to mocking. Finally, that’s why I don’t write verifyNoMoreInteractions() in every Mockito test.

What do you think? Have you ever encountered related problems when test-driving with mocks? Do you find the quality improved when interaction testing worries about the unexpected? Or perhaps should state testing start worrying about the unexpected?

94 Responses to should I worry about the unexpected?

  1. “and other method on the reader should be called”
    you probably meant:
    “and NO other method on the reader should be called”

    Tomek Kaczanowski

  2. Simply put: verifying expectations leads to overspecified and fragile tests. In practice, I’m just as likely to delete and rewrite a test case with failing expectation as I am to update them to work correctly. When I hit someone else’s failing test cases that verify every expectation possible, it simply isn’t worth my time to try to fix them.

    As for the synopsis of “worrying about unexpected may NOT be such a good friend of TDD”… Heck, it isn’t even a good friend of maintainability!

    My opinion: write side effect free code. Pass in stubs if you must, reverting to spies and mocks only when necessary… and please verify only the things you really care about!

  3. Tom De Wolf says:

    I share the thought that we should not write verifyNoInteractions everywhere on every mock. But I do see an important difference between state testing and interaction testing.

    Consider a class UnitUnderTest which has state and interacts with AnotherUnit.

    – state testing: we only test state which is accessible in the interface of UnitUnderTest. Internal state, never made public is not to be tested. Hence, state is closely related to encapsulation. And indeed, we do not have to test that for UnitUnderTest no unexpected changes are made to private state.

    – interaction testing: in this case interacting with AnotherUnit implies you ask to do some actions to that unit. Thus this affects the behaviour of the application + it crosses the encapsulation boundary. Therefore it should be tested AND maybe also tested that no other interactions happen with that unit. This because other interaction trigger extra behaviour which is not wanted according to the test.

    Note, I say ‘maybe’ use verifyNoInteractions because if you consider the difference between ‘asking’ and ‘telling’ (see your other blog entry) then clearly only the telling interactions should be verified and if UnitUnderTest also asks things to AnotherUnit then verifyNoMoreInteractions would imply to also verify the ‘asking’ interactions which we want to avoid.

  4. szczepiq says:

    What about a situation where an object does not have any ‘private’ state? Still, I would like to test only certain public state without worrying about unexpected changes to other public state.

    >Note, I say ‘maybe’ use verifyNoInteractions because if you consider the difference >between ‘asking’ and ‘telling’

    Very true. If I were about writing mockito again, I would definitely consider making verifyNoMoreInteractions() assert only ‘tell’ interactions. Any ideas how to fix it without serious impact on backwards compatibility? :)

  5. Tom De Wolf says:

    writing verifyNoMoreInteractions to only assert ‘tell’ interactions is difficult because you cannot assume that every method written is only an ‘ask’ or ‘tell’. Any system includes methods that have a side effect and also return information. Thus a combination of ‘ask’ and ‘tell’ :-) Any void method is only a ‘tell’ method but not any returning method is only an ‘ask’ method. But it should be in the ideal case.

    considering upexpected changes to other public state: you can an should write tests that only test changes to certain public state. However, I think that, for each public state there should be one or more tests that test the methods changing that public state.

    Still, one could have a situation where an unexpected change to other public states than the state under test indicates a bug. Then maybe testing the unexpected IS important. It depends on the case at hand I think.

  6. szczepiq says:

    >Then maybe testing the unexpected IS important. It depends on the case at hand I think.

    That’s true, maybe testing the unexpected is important. However state testing has been here for years and I haven’t noticed anyone complaining on the fact that junit does not check for unexpected. You can achieve it obviously but it is not “in the framework”.

    The way state testing works just feels right to me. If I want to test the unexpected I will be extra explicit and make my test richer. Mocking is different: testing the unexpected is turned on by default. Many times I have to be extra explicit and ignore irrelevant interactions. It makes my tests noisier, not richer…

  7. Tom De Wolf says:

    I agree that testing the unexpected is important, but that frameworks should not do this by default. You need the choice because sometimes it is not important.

  8. Anonymous says:

    > If I were about writing mockito again, I would definitely
    > consider making verifyNoMoreInteractions() assert only ‘tell’
    > interactions. Any ideas how to fix it without serious impact
    > on backwards compatibility?

    How ’bout: verifyAsk, verifyTell, and verifyNoMoreTell?!?

    BTW: Both tests in your example will fail ;)

  9. Uberto says:

    Hi I really like some kind of setup like “verifyNoMoreTell = true” for all my tests.
    Also using the simple rule that “void return methods are Tell” would be useful.

    Anyway atm I’m not putting a lot of verifyNoMoreInteractions in my tests but I find it very useful when I need to start testing a class which wasn’t under test before.

    Would be very nice if there could be a way to let Mockito print out the missing verify, something like:

    No interactions wanted here:
    -> at
    But found this interaction:
    -> at

    maybe you forgot to add a verify?
    -> verify(xxx).zzz(any());

    I’m also willing to contribute with the code if there’s interest.

  10. szczepiq says:

    Hmmm… could work given I also tell the user that “maybe you don’t really need verifyNoMore here?”.

    It’s best to suggest features in our tracker.


  11. Uberto says:


    Anyway I have to correct myself, I’m putting a lot of verifyNoMoreInteractions() in my tests and I’m still found them useful.

    I’m working with GOOS style, only finding mockito syntax nicer than Jmock. This means I mock mostly interfaces, not classes.

    In your examples I find #3 and #4 wrong because I don’t want to compare status but only to tests iterations between objects.

    Also if in my tests I feel I need too many verifies, that’s a smell my objects either has too many resp or need a new interface (I in SOLID).

  12. Hamza says:

    Elliotte: Backwards ?Now, that\’s harsh. Not everyone uses TDD, and acaltluy, I\’ll argue that very few people use TDD. At any rate, suggesting that TDD is the only way to write tests is quite a strong statement that I don\’t think is supported by facts nor practicality.I find that most developers like to iterate over their code at first in order to get to a point where the code is not a total mess, and only then, they decide to write their first test. Before reaching that point, you\’re just writing tests for throwaway code, which is a waste.I find this approach quite reasonable and it doesn\’t suffer from all the problems that plague TDD.

  13. Some of these advantages are already ready to accept savvy real-estate investors.
    Industry forces are rushing towards making the investor wealthy.

    At the investor end, we need to prepare ourselves.
    We must become the light at the end of the tunnel.
    We must discover ways to help they. Our role is always to help desperate sellers find hopeless buyers, also to manage to make deals in a fashion that is just a win for people.
    With this skill, we shall produce a bundle.

  14. Amila says:

    December 2, 2011Dear High school Self,You sohlud learn the real meaning of hard work pays off . Yes, getting good marks in high school required little time, memorizing the class notes, and a glance at an MSN conversation for some motivation. Be prepared that university is a whole different world. The high school 90 could easily translate into a 70 because that’s all the effort that was really but into the assignment. Take extra time out of the classroom to review your notes, this will help with long-term retention and prevent the one night of cramming before a unit test. When you get a 90 in university, at times it feels like a great accomplishment because that is the amount of work and time you but into it. You will really learn how valuable time is once you reach university. Get organized, make schedules of due dates and spread the work over the week(s) before it must be submitted. Learn, to ask questions in class and after class. So what if people think you’re a keener’? You need to forget what other’s think, you’re the master of your future do what’s best for you.

  15. Pepper says:

    The hoestny of your posting is there for all to see

  16. Fabuła bliska każdemu, polecam literaturę

  17. Niezwykle fajny post, drobiazgowe teksty polecam wszystkim literaturę

  18. ฉัน ทุกครั้งที่ ใช้เวลาครึ่ง ชั่วโมง ของฉันในการอ่าน บล็อก นี้ เว็บไซต์
    ‘ s กระทู้ ทุกวัน พร้อมกับถ้วย
    แก้ว กาแฟ .

  19. Toms Vegan says:

    Wonderful blog! I found it while browsing on Yahoo News.
    Do you have any tips on how to get listed in Yahoo News?
    I’ve been trying for a while but I never seem to get there!

  20. Might I inquire if you’ll be alright with payed off posts?

    All I’d need is for you to write down posts for
    me and a back link or reference to my blog site.
    I really could compensate you.

  21. The thing that Every body Need To Know With Regards To
    The PC repair Leeds Market

  22. We’re a group of volunteers and starting a new scheme in our
    community. Your website provided us with useful info to work on.
    You’ve performed a formidable activity and our entire group will likely be thankful to you.

  23. Strona świadczy o ciekawych wydarzeniach, zachęcam do rozmowy

  24. Brenda says:

    A vacuum-cleaner is the most reliable of cleaning tools; it can be the more
    expensive. You’ll find several different sorts of hoover with various
    attributes. Therefore prior to purchasing a top rated hoover ensure you
    understand what sort of vacuum-cleaner is best on your needs.

    Selecting the finest hoover might be confusing. To make points better you ought to know what the different kinds of vacuum are, what the principal characteristics you can find on a hoover, and want you type of flooring you
    will be employing a hoover on.

  25. rea says:

    Thank you for every oher informative web site. The place else may I am
    getting that type of info written in such a perfsct way?

    I’ve a venture that I’m just now running
    on, and I have been at the look out for such information.

  26. Bardzo szałowy post, drobiazgowe zapisy zalecam wszystkim literaturę

  27. Nietuzinkowe spojrzenie na sytuację, każdy powinien rozczytać
    dodatkowo zapoznać się z motywem.

  28. Piekielnie atrakcyjny tekst, zalecam wszystkim

  29. Jayme says:

    Hello there! Quick question that’s completely off topic.

    Do you know how to make your site mobile friendly? My blog looks weird when browsing from
    my iphone. I’m trying to find a theme or plugin that might
    be able to resolve this problem. If you have any suggestions, please share.

  30. Kristie says:

    It’s wonderful that you are getting thoughts from this post
    as well as from our discussion made at this time.

  31. Niezwykle efektywny tekst, polecam wszystkim

  32. The other day, while I was at work, my sister stole
    my apple ipad and tested to see if it can survive a 40 foot drop,
    just so she can be a youtube sensation. My iPad is now broken and she has 83 views.
    I know this is entirely off topic but I had to share it with someone!

  33. call center says:

    Problematyka zbliżona każdemu, polecam lekturę

  34. Wiezy krwi says: Jest to nowy serwis z filmami online za darmo
    Chcieli bysmy Was serdecznie zaprosic na
    nasz strone Mozna u nas znalezc nowosci filmowe i premiery kinowe.

    Baze filmow uzupelniamy sami caly czas dodajac nowe filmy
    i poprawiajac nasz strone aby byl jak najbardziej uzyteczny dla uzytkownikow.

    Posiadamy na serwisie kilka playerow zeby zmniejszyc obciazenia serwera
    Nie ma Twojego ulubionego filmu? To nie problem! Wystarczy do nas napisac a po chwili
    pojawi sie w stronie ^^
    Nie musisz zakladac konta aby ogladac kazdy Serial Online!
    bez limitow

  35. Your ex boyfriend still has strong feelings for you, however at the moment he’s attempting to pay no attention to
    them. She will feel that that the other lady is more attractive and that you no longer find her desirable to be
    with. Support system – Young women would presumably have
    a better support system in terms of the people around her.

  36. Strona świadczy o nietypowych wydarzeniach, zachęcam do dyskusji

  37. It’s impressive that you are getting thoughts from this article as well as
    from our discussion made at this time.

  38. Testosterone propionate a very particular manner of working for hours on end can actually be
    a tremendous shoulder workout. They also improve work out habits of family life, your workout and recovery when combined with the diet during
    body building diet routines which promise results,
    take rest.

  39. via says:


    should I worry about the unexpected? | monkey island

  40. Your method of describing the whole thing in this piece of writing is in fact nice, every
    one can simply understand it, Thanks a lot.

  41. Uleecou says:

    Attractive component to content. I simply stumbled upon your
    weblog and in accession capital to assert that I acquire in fact loved account your weblog
    posts. Anyway I will be subscribing on your feeds and
    even I fulfillment you get entry to constantly quickly.

  42. watch tv says:

    watch tv

    should I worry about the unexpected? | monkey island

  43. Melba says:

    I read this paragraph completely regarding the difference of hottest and earlier
    technologies, it’s awesome article.

  44. Just want to say your article is as surprising. The clarity in your post is simply spectacular and i could assume you’re an expert on this subject.
    Well with your permission allow me to grab your feed to keep updated with forthcoming post.
    Thanks a million and please continue the gratifying work.

  45. I love it when individuals come together and share opinions.
    Great website, stick with it!

  46. Hmm is anyone else encountering problems with the pictures
    on this blog loading? I’m trying to find out if its a problem on my end or if it’s
    the blog. Any feed-back would be greatly appreciated.

  47. Benjamin says:

    It is plugged to the Playstation 3 console through a USB cable.
    But what other options are available to you in terms of video game accessories.
    No one has to go to an arcade station just to play with race car or helicopter simulation games if they own Nintendo Wii.

  48. This is very interesting, You are a very skilled blogger.
    I’ve joined your feed and look forward to seeking more of your magnificent post.

    Also, I have shared your web site in my social networks!

  49. Każdy z nas zetknął się z problemem, zalecam zaznajomienie się z punktem.

  50. I’ve been surfing online more than 3 hours lately,
    but I by no means discovered any attention-grabbing article
    like yours. It is lovely value sufficient for me. In my view,
    if all webmasters and bloggers made excellent content as you did, the net might be much more helpful than ever before.

  51. Thanks for ones marvelous posting! I really enjoyed reading it, you will be a great author.
    I will be sure to bookmark your blog and will eventually come back in the future.
    I want to encourage that you continue your great work, have a nice day!

  52. The key is to take your time to brainstorm your ideas before starting your composition. To have a reliable Referencement Haute Savoie ranking, one must always
    implement back links. Use other traffic sources besides Google, Yahoo
    and Bing3.

  53. Keeps your kids engaged and you do not have to
    hear “Are we there yet. If you’re on an austerity budget, you can get pampered by the pool with a foot massage in the comfort of your lounge chair’all for an affordable $55. and expertise and will give you long lasting true to life fragrances.

  54. Ahaa, its nice dialogue regarding this post at this
    place at this webpage, I have read all that, so at this time me also commenting here.

  55. So unlocking it would give you considerable advantage over a phone that you
    are using under contract with some carrier. This is used to identify a user when unlocking the phone.
    Your total 2 year cost for the family plan is $6,316.

  56. But by 1827 in Tasmania a newspaper article read, ‘.
    You can also use your hand or trowel to flatten the raised ridges of soil.

    Pest problems are a serious concern and they can be very damaging on your physical and emotional

  57. Hi there friends, fastidious article and fastidious urging commented at this place, I am truly enjoying by these.

  58. On będą więcej niż śpiewać, taniec i akt

  59. Great website. A lot of helpful info here. I’m sending itt to a few pals ans also sharing in delicious.
    And of course, thannk you on your effort!

  60. Excellent beat ! I wish to apprentice while you amend your web site,
    how can i subscribe for a weblog website? The account helped me a acceptable deal.
    I have been tiny bit acquainted of this your broadcast offered shiny clear concept

  61. Nice post. I learn something totally new and challenging
    on sites I stumbleupon every day. It will always be helpful to read
    content from other writers and use a little something
    from their websites.

  62. Good day very cool site!! Man .. Beautiful .. Amazing ..
    I’ll bookmark your blog and take the feeds also? I’m satisfied to search out numerous useful information right here within the publish, we’d like work out more strategies in this regard, thank you for
    sharing. . . . . .

  63. Hi there, I found your site via Google while looking for a comparable topic, your web site came up, it appears
    to be like good. I have bookmarked it in my google
    Hi there, just changed into aware of your blog via Google, and located that it is
    truly informative. I’m gonna watch out for brussels.
    I will be grateful if you continue this in future.
    Many folks will probably be benefited from your writing. Cheers!

  64. site says:

    Excellent post. I was checking continuously this weblog and I’m impressed!
    Extremely useful info specifically the closing section :
    ) I take care of such info much. I used to be looking for this
    particular info for a long time. Thanks and best of

  65. Quality articles is the crucial to interest the visitors to visit the site, that’s what this web site is providing.

  66. The advantage of having a secured loan however is the proven fact that you
    will probably be paying a low interest rate because
    there is less risk to the bank for this type of loan. Emaar has
    even dabbled in the residential real estate markets of United
    States of America and England. The language of a purchase and sale agreement may lead you to ask if a
    seller can accept two contracts at same time.

  67. Its not my first time to go to see this site, i am visiting this site dailly and obtain good data from here everyday.

  68. If some one wishes to be updated with most up-to-date technologies therefore he must
    be pay a visit this website and be up to date everyday.

  69. Hello, I would like to subscribe for this web
    site to get newest updates, thus where can i do it please help.

  70. Hello there! I know this is kinda off topic but I was wondedring if you knew where
    I could get a captcha plugin for my comment form? I’m usijng the sawme blog
    platform as yours and I’m having difficulty finding one? Thanks a lot!

  71. Brock says:

    First of all I would like to say excellent blog! I had a quick question that I’d like to
    ask if you don’t mind. I was interested to know how you center yourself and clear your thoughts before writing.

    I’ve had trouble clearing my thoughts in getting my ideas out.
    I truly do enjoy writing however it just seems like the first 10
    to 15 minutes tend to be lost just trying to figure out how to begin. Any suggestions or hints?
    Appreciate it!

  72. I get pleasure from, lead to I discovered exactly what I was
    having a look for. You’ve ended my four day lengthy hunt!
    God Bless you man. Have a great day. Bye

  73. Thanks for ones marvelous posting! I really enjoyed reading it, you cohld be a great author.
    I will ensure that I bookmark your blog and will
    eventually come back inn the future. I want to encourage you to continue your great writing, have a
    nice weekend!

  74. Hey guys, just found this website giving away Free Music
    exposure bots to Soundcloud, Vimeo, Reverbnation and Datpiff.
    The bots helped a shit ton and I ended up gettting 20k+ plays on my Soundcloud
    profile. Do yourself a favor and go check it out

  75. Anonymous says:

    Hi there it’s me, I am also visiting this web site on a regular basis, this website is actually good and
    the visitors are actually sharing pleasant thoughts.

  76. Cassandra says:

    Do you have a spam problem on this site; I also am a blogger,
    and I was curious about your situation; we have
    developed some nice practices and we are looking to trade methods with others, why
    not shoot me an email if interested.

  77. the tabs that take you to be able to locations to perform the socialization. Your best option just
    isn’t to see any of your goofball buddies—and that includes with these for
    alibis. Every guy, on the other hand, generally seems to
    think the unwritten “bro code” will keep his indiscretions between him and his poker pals, his golf foursome, and the mailman.

  78. Thanks a lot John for just a wonderful idea, also non-developers such as me can move this specific off: )This is really vital for some sort of multi-international web site when it comes to SEARCH ENGINE OPTIMISATION.
    Gucci Beanies

  79. This is my first time go to see at here and i am in fact happy to read all at one place.

  80. Olivia says:

    What’s up everyone, it’s my first go to see at this
    web page, and paragraph is genuinely fruitful for me, keep up posting these
    types of content.

  81. o Put embed videos in blog using various blog platforms like Blogger, Word – Press etc.
    The camshafts are held in a removable cam-carrier which also serves as a guide for the valve lifters.
    Use a video syndication service such as Tube – Mogul or Traffic Geyser
    to spread the film quickly across the web.

  82. says:

    Nice weblog here! Also your web site lots up very fast!
    What host are you the use of? Can I get your affiliate hyperlink in your host?
    I wish my web site loaded up as quickly as yours lol

  83. Hello there, just became alert to your blog through Google, and
    found that it is really informative. I am going to watch out for brussels.
    I will be grateful if you continue this in future. Many people will be benefited from your writing.


  84. If the strip against the stream of urine to test, then the staff in these departments
    pregnancy rate before that, all these symptoms does not get an answer, and raise happy, fat piglets.
    Developing conceive numerous changes you pregnancy rate will definitely be superior.

    We’re just so that the period was due to the uterine lining of your pregnancy test comes back negative.
    The bottom line: You’re much more dependable results
    a lot better off if you are pregnant.

  85. Hi, this weekend is nice in support of me, as this moment i am reading this
    wonderful educational piece of writing here att my home.

  86. says:

    Simply wish to say your article is as astounding.
    The clearness in your post is just cool and i can assume you’re an expert on this subject.
    Fine with your permission let me to grab your feed to keep updated with forthcoming post.
    Thanks a million and please continue the enjoyable work.

  87. I do not know whether it’s just me or if perhaps everybody else encountering problems with your site.

    It appears as though some of the written text on your content are running off the
    screen. Can somebody else please provide feedback and let me know if this is happening
    to them too? This may be a issue with my internet browser because
    I’ve had this happen before. Kudos

  88. Pretty good post. I merely discovered your blog as well as wished to say that I’ve truly treasured exploring your web site discussions. Naturally We are opt-in in your rss feed we hope you publish just as before shortly!

  89. I know this if off topic but I’m looking into
    starting my own weblog and was wondering what all is required to get
    setup? I’m assuming having a blog like yours would
    cost a pretty penny? I’m not very internet savvy so I’m not
    100% certain. Any recommendations or advice would be greatly appreciated.
    Appreciate it

  90. It’s the best time to make some plans for the future and it’s time to be happy.

    I’ve read this post and if I could I desire to suggest you
    few interesting things or suggestions. Maybe you could write next articles referring to this article.

    I want to read even more things about it!

  91. You can correspond with them and find out if they can ship the required model to your place.
    Course 3 ‘ This course covers elementary fire fighting and fire prevention. In the final analysis, decide exactly what you
    want from a vacation; you’re either happy to holiday within a strict itinerary and get to sample more
    of the product, in which case, an Hawaiin cruise is the best option or you simply prefer to set your own agenda and vacation without any restrictions.

  92. Joey says:

    I’m excited to uncover this page. I wanted to thank you
    for your time for this wonderful read!! I definitely loved every bit of it and I have you bookmarked
    to check out new information on your site.

  93. Even tiny traces of these companies. Vredenburg
    said The pregnant hcg quant test came back positive.

    For example, the best cribs for twins. No home test kits.

    Some home pregnancy test specifies a time. CausesThe reason for pregnant that!
    That’s when you get a confirmation. I have been taken too early
    nor too late. Hence if you test positive for Group B Strep testing is the most exciting times of

%d bloggers like this: