public void GetAllBlogs_orders_by_name() { var data = new List<Blog> { new Blog { Name = "BBB" }, new Blog { Name = "ZZZ" }, new Blog { Name = "AAA" }, }.AsQueryable(); var mockSet = new Mock<DbSet<Blog>>(); mockSet.As<IQueryable<Blog>>().Setup(m => m.Provider).Returns(data.Provider); mockSet.As<IQueryable<Blog>>().Setup(m => m.Expression).Returns(data.Expression); mockSet.As<IQueryable<Blog>>().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As<IQueryable<Blog>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockContext = new Mock<BloggingContext>(); mockContext.Setup(c => c.Blogs).Returns(mockSet.Object); var service = new BlogService(mockContext.Object); /// BL to test var blogs = service.GetAllBlogs(); Assert.AreEqual(3, blogs.Count); Assert.AreEqual("AAA", blogs[0].Name); Assert.AreEqual("BBB", blogs[1].Name); Assert.AreEqual("ZZZ", blogs[2].Name); }
static void Main(string[] args) { var svc = new BlogService(new BloggingContext()); svc.AddBlog("Blog 1", "http://www.myblog.de"); Console.WriteLine("Listing all blogs: "); foreach (var b in svc.GetAllBlogs()) { Console.WriteLine(b.Name); } Console.ReadKey(); }
public void CreateBlog_saves_a_blog_via_context() { var mockSet = new Mock<DbSet<Blog>>(); var mockContext = new Mock<BloggingContext>(); mockContext.Setup(m => m.Blogs).Returns(mockSet.Object); var service = new BlogService(mockContext.Object); // Business Logic Code: service.AddBlog("ADO.NET Blog", "http://blogs.msdn.com/adonet"); mockSet.Verify(m => m.Add(It.IsAny<Blog>()), Times.Once()); mockContext.Verify(m => m.SaveChanges(), Times.Once()); }
public void CreateBlog_saves_a_blog_via_context() { var context = new TestContext(); var service = new BlogService(context); service.AddBlog("ADO.NET Blog", "http://blogs.msdn.com/adonet"); Assert.AreEqual(1, context.Blogs.Count()); Assert.AreEqual("ADO.NET Blog", context.Blogs.Single().Name); Assert.AreEqual("http://blogs.msdn.com/adonet", context.Blogs.Single().Url); Assert.AreEqual(1, context.SaveChangesCount); // 1. Add app.config conn string // 2. Set Db initializer to DropCreateDatabaseAlways // 3. create instance of conrete DbContext }