Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 166475
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T12:06:15+00:00 2026-05-11T12:06:15+00:00

I’m trying to grasp test driven development, and I’m wondering if those unit tests

  • 0

I’m trying to grasp test driven development, and I’m wondering if those unit tests is fine. I have a interface which looks like this:

public interface IEntryRepository {     IEnumerable<Entry> FetchAll();     Entry Fetch(int id);     void Add(Entry entry);     void Delete(Entry entry); } 

And then this class which implements that interface:

public class EntryRepository : IEntryRepository {     public List<Entry> Entries {get; set; }      public EntryRepository()     {         Entries = new List<Entry>();     }      public IEnumerable<Entry> FetchAll()     {         throw new NotImplementedException();     }      public Entry Fetch(int id)     {         return Entries.SingleOrDefault(e => e.ID == id);     }      public void Add(Entry entry)     {         Entries.Add(entry);     }      public void Delete(Entry entry)     {         Entries.Remove(entry);     } } 

Theese are the unit tests I have written so far, are they fine or should I do something different? Should i be mocking the EntryRepository?

[TestClass] public class EntryRepositoryTests {     private EntryRepository rep;      public EntryRepositoryTests()     {         rep = new EntryRepository();     }      [TestMethod]     public void TestAddEntry()     {         Entry e = new Entry { ID = 1, Date = DateTime.Now, Task = 'Testing' };         rep.Add(e);          Assert.AreEqual(1, rep.Entries.Count, 'Add entry failed');     }      [TestMethod]     public void TestRemoveEntry()     {         Entry e = new Entry { ID = 1, Date = DateTime.Now, Task = 'Testing' };         rep.Add(e);          rep.Delete(e);         Assert.AreEqual(null, rep.Entries.SingleOrDefault(i => i.ID == 1), 'Delete entry failed');     }      [TestMethod]     public void TestFetchEntry()     {         Entry e = new Entry { ID = 2, Date = DateTime.Now, Task = 'Testing' };         rep.Add(e);          Assert.AreEqual(2, rep.Fetch(2).ID, 'Fetch entry failed');     } } 

Thanks!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T12:06:16+00:00Added an answer on May 11, 2026 at 12:06 pm

    Just off the top of my head…

    Although your testing of add really only tests the framework:

    • You’ve got adding 1 item, that’s good
    • what about adding LOTS of items (I mean, ridiculous amounts – for what value of n entries does the container add fail?)
    • what about adding no items? (null entry)
    • if you add items to the list, are they in a particular order? should they be?

    likewise with your fetch:

    • what happens in your fetch(x) if x > rep.Count ?
    • what happens if x < 0?
    • what happens if the rep is empty?
    • does x match performance requirements (what’s it’s algorithmic complexity? is it within range when there’s just one entry and when there’s a ridiculously large amount of entries?

    There’s a good checklist in the book Pragmatic Unit Testing (good book, highly recommended)

    • Are the results right?
    • Are all the boundary conditions CORRECT
      • Conform to an expected format
      • Ordered correctly
      • In a reasonable range
      • Does it Reference any external dependencies
      • Is the Cardinality correct? (right number of values)
      • does it complete in the correct amount of Time (real or relative)
    • Can you check inverse relationships
    • Can you cross check the results with another proven method
    • Can you force error conditions
    • Are performance characteristics within bounds
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 71k
  • Answers 71k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer FOREIGN KEYS just ensure your data are consistent. They do… May 11, 2026 at 1:23 pm
  • added an answer Typically you'd use the IEEE.math_real uniform function use IEEE.math_real.all; procedure… May 11, 2026 at 1:23 pm
  • added an answer You don't have to synthesize numberOfSides if you're planning on… May 11, 2026 at 1:23 pm

Related Questions

No related questions found

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.