public void WhenPassingIncorrectData_ThrowsException(string name)
                {
                    using (var factory = new SqlLiteDbContextFactory())
                    {
                        using (var context = factory.CreateContext())
                        {
                            var service = new EquipmentService(context);

                            Assert.Throws <DbUpdateException>(() => service.Create(new Equipment()
                            {
                                Name = name
                            }));
                        }
                    }
                }
                public void WhenPassingCorrectData_CreateSuccessfully(string name)
                {
                    using (var factory = new SqlLiteDbContextFactory())
                    {
                        // Get a context
                        using (var context = factory.CreateContext())
                        {
                            var service = new EquipmentService(context);
                            service.Create(new Equipment
                            {
                                Name = name
                            });
                        }

                        // Get another context using the same connection
                        using (var context = factory.CreateContext())
                        {
                            Assert.Equal(1, context.Equipments.Count());
                            Assert.Equal(name, (context.Equipments.Single()).Name);
                        }
                    }
                }
                public void WhenPassingCorrectData_CreateSuccessfully(string name)
                {
                    var options = new DbContextOptionsBuilder <DataContext>()
                                  .UseInMemoryDatabase(databaseName: "XUnitTests")
                                  .Options;

                    // Run the test against one instance of the context
                    using (var context = new DataContext(options))
                    {
                        var service = new EquipmentService(context);
                        service.Create(new Equipment
                        {
                            Name = name
                        });
                    }

                    // Use a separate instance of the context to verify correct data was saved to database
                    using (var context = new DataContext(options))
                    {
                        Assert.Equal(1, context.Equipments.Count());
                        Assert.Equal(name, context.Equipments.Single().Name);
                    }
                }