コード例 #1
0
        public void CarWithNoIssues_DoesNotRequireService()
        {
            // Standard non-broken car as defined by default
            _car = _builder.Build <Car>();

            Assert.IsFalse(DemoServiceCallController.RequiresService(_car));
        }
コード例 #2
0
        public void CarHasBeenMoreThanAllowedNumberOfDaysSinceOilChange_RequiresService()
        {
            _car = _builder
                   .For <Car>().Set(x => x.LastOilChange, DateTime.Now.Subtract(TimeSpan.FromDays(DemoServiceCallController.DaysSinceOilChange + 1)))
                   .Build <Car>();

            Assert.IsTrue(DemoServiceCallController.RequiresService(_car));
        }
コード例 #3
0
        public void CarHasGoneFurtherThanAllowedDistanceBetweenOilChanges_RequiresService()
        {
            _car = _builder
                   .For <Car>().Set(x => x.DistanceSinceLastOilChange, DemoServiceCallController.DistanceBetweenOilChanges + 1)
                   .Build <Car>();

            Assert.IsTrue(DemoServiceCallController.RequiresService(_car));
        }
コード例 #4
0
        public void CarWithOneFlatTire_RequiresService()
        {
            // Only want a single tire to be flat, all 3 other tires should be ok
            var values = new Queue <bool>(new [] { false, true, false, false });

            _car = _builder
                   // Each time a wheel is constructed, the next available value is pop'ed and returned
                   .For <Wheel>().Set(x => x.IsFlat, values.Dequeue)
                   .Build <Car>();

            Assert.IsTrue(DemoServiceCallController.RequiresService(_car));
        }