public void ShouldCreateAValidInstanceOfIWhenItsDoneDbContext()
        {
            var mockedFactory = new Mock <IStatefulFactory>();

            var whenItsDoneDbContext = new WhenItsDoneDbContext(mockedFactory.Object);

            Assert.That(whenItsDoneDbContext, Is.InstanceOf <IWhenItsDoneDbContext>());
        }
        public void ShouldCreateAValidInstance_WithClientsProperty()
        {
            var mockedFactory = new Mock <IStatefulFactory>();

            var whenItsDoneDbContext = new WhenItsDoneDbContext(mockedFactory.Object);

            var propertyName = "Clients";
            var bindingFlags = BindingFlags.Public | BindingFlags.Instance;

            var clientsProperty = whenItsDoneDbContext.GetType().GetProperty(propertyName, bindingFlags);

            Assert.That(clientsProperty, Is.Not.Null);
        }
        public void ShouldCreateAValidInstance_WithWorkerReviewsVirtualProperty_OfTypeIDbSetWorkerReviews()
        {
            var mockedFactory = new Mock <IStatefulFactory>();

            var whenItsDoneDbContext = new WhenItsDoneDbContext(mockedFactory.Object);

            var propertyName = "WorkerReviews";
            var bindingFlags = BindingFlags.Public | BindingFlags.Instance;

            var clientsProperty = whenItsDoneDbContext.GetType().GetProperty(propertyName, bindingFlags);

            Assert.That(clientsProperty.PropertyType, Is.EqualTo(typeof(IDbSet <WorkerReview>)));
        }
        public void ShouldCreateAValidInstance_WithWorkerReviewsVirtualProperty()
        {
            var mockedFactory = new Mock <IStatefulFactory>();

            var whenItsDoneDbContext = new WhenItsDoneDbContext(mockedFactory.Object);

            var propertyName = "WorkerReviews";
            var bindingFlags = BindingFlags.Public | BindingFlags.Instance;

            var clientsProperty = whenItsDoneDbContext.GetType().GetProperty(propertyName, bindingFlags);

            Assert.That(clientsProperty.GetGetMethod().IsVirtual, Is.True);
        }