Exemplo n.º 1
0
        /// <summary>
        /// Creates a new fake object.
        /// </summary>
        public FakeObject(Type type)
        {
            Guard.IsNotNull(type, "type");
            AssertThatTypeIsFakeable(type);

            this.Initialize(type, () => FakeGenerator.GenerateFake(type, this));
        }
Exemplo n.º 2
0
        public static void Main(string[] args)
        {
            FakeGenerator.Init();
            FakeGenerator.CreateUniverse();

            BuildWebHost(args).Run();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Creates a new fake object, faking a concrete class using the argument values
        /// in the specified expression as arguments for the base constructor.
        /// </summary>
        /// <param name="constructorCall">The constructor to call on the base class.</param>
        public FakeObject(Type type, object[] argumentsForConstructor)
        {
            Guard.IsNotNull(type, "type");
            Guard.IsNotNull(argumentsForConstructor, "argumentsForConstructor");

            this.Initialize(type, () => FakeGenerator.GenerateFake(type, this, argumentsForConstructor));
        }
Exemplo n.º 4
0
        public void CopyEqualsToOriginal()
        {
            BuildsBinding binding = FakeGenerator.GetBuildsBinding();

            BuildsBinding copy = binding.DeepClone();

            Assert.True(binding.Equals(copy));
            Assert.Equal(binding.GetHashCode(), copy.GetHashCode());
        }
        public void UpdateName_PropertiesChanged()
        {
            Distribution distribution = CreateDistribution();
            string       newName      = FakeGenerator.GetString();

            distribution.UpdateName(newName);

            Assert.Equal(newName, distribution.Name);
            Assert.IsType <DistributionNameUpdated>(distribution.GetUncommitedChanges().Last());
        }
Exemplo n.º 6
0
        public void Transitivity()
        {
            BuildsBinding a = FakeGenerator.GetBuildsBinding();
            BuildsBinding b = FakeGenerator.GetBuildsBinding();
            BuildsBinding c = FakeGenerator.GetBuildsBinding();

            bool ab = a.Equals(b), ac = a.Equals(c), bc = b.Equals(c);

            Assert.Equal(ab && ac, bc);
        }
Exemplo n.º 7
0
        public void Symmetry()
        {
            BuildsBinding a = FakeGenerator.GetBuildsBinding();
            BuildsBinding b = FakeGenerator.GetBuildsBinding();

            bool
                primary   = a.Equals(b),
                backwards = b.Equals(a);

            Assert.Equal(primary, backwards);
        }
        public void RestoreFromEvents_Success()
        {
            Guid     distributionId = Guid.NewGuid();
            Metadata metadata       = new Metadata()
            {
                AggregateId = distributionId
            };
            List <User> owners = FakeGenerator.Users.Generate(4);

            LifeCycleState[] lifeCycleStates     = Enum.GetValues(typeof(LifeCycleState)).Cast <LifeCycleState>().ToArray();
            string[]         lifeCycleStateRules = lifeCycleStates.Select(x => x.ToString()).ToArray();
            BuildsBinding    buildsBinding1      = FakeGenerator.GetBuildsBinding();
            BuildsBinding    buildsBinding2      = FakeGenerator.GetBuildsBinding();
            BuildsBinding    buildsBinding3      = FakeGenerator.GetBuildsBinding();

            Guid[] newBuilds1       = { Guid.NewGuid(), Guid.NewGuid() };
            Guid[] newBuilds2       = { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() };
            var    fakeBuildBinding = new Dictionary <BuildsBinding, Guid[]>()
            {
                [buildsBinding1] = new Guid[] { Guid.NewGuid(), Guid.NewGuid() },
                [buildsBinding2] = new Guid[] {},
                [buildsBinding3] = new Guid[] { Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid() },
            };

            var distribution = new Distribution(new List <Event>
            {
                new DistributionCreated(distributionId, DistributionName, new User[] { owners[0] }, new LifeCycleState[] { lifeCycleStates[0] }, Array.Empty <string>(), metadata),

                new DistributionOwnersAdded(new User[] { owners[1], owners[2] }, metadata),
                new DistributionOwnersRemoved(new User[] { owners[0], owners[2] }, metadata),
                new DistributionOwnersAdded(new User[] { owners[0], owners[2], owners[3] }, metadata),

                new DistributionAvailableLifeCyclesAdded(new LifeCycleState[] { lifeCycleStates[1], lifeCycleStates[2] }, metadata),
                new DistributionAvailableLifeCyclesRemoved(new LifeCycleState[] { lifeCycleStates[2], lifeCycleStates[1], lifeCycleStates[0] }, metadata),
                new DistributionAvailableLifeCyclesAdded(lifeCycleStates, metadata),

                new DistributionLifeCycleStateRulesAdded(new string[] { lifeCycleStateRules[1], lifeCycleStateRules[2] }, metadata),
                new DistributionLifeCycleStateRulesRemoved(new string[] { lifeCycleStateRules[2] }, metadata),
                new DistributionLifeCycleStateRulesRemoved(new string[] { lifeCycleStateRules[1] }, metadata),
                new DistributionLifeCycleStateRulesAdded(lifeCycleStateRules, metadata),

                new BuildBindingsAdded(fakeBuildBinding, metadata),
                new BuildBindingsRemoved(fakeBuildBinding.Take(1).ToDictionary(x => x.Key, x => x.Value), metadata),
                new BuildsToBuildsBindingAdded(buildsBinding2, newBuilds1, metadata),
                new BuildFromBuildsBindingRemoved(buildsBinding3, fakeBuildBinding[buildsBinding3].Take(3).ToArray(), metadata),
                new BuildsToBuildsBindingAdded(buildsBinding2, newBuilds2, metadata),
                new BuildBindingsAdded(fakeBuildBinding.Take(1).ToDictionary(x => x.Key, x => x.Value), metadata),
                new BuildsToBuildsBindingAdded(buildsBinding1, newBuilds1, metadata),
            });


            AssertDistribution(distribution, owners, lifeCycleStates, lifeCycleStateRules);
            Assert.Equal(new Dictionary <BuildsBinding, List <Guid> >()
            {
 /// <summary>
 /// Конструктор.
 /// </summary>
 public DistributionModelValidatorTests()
 {
     validator         = new DistributionModelValidator(distributionRepositoryMock.Object, buildsRepositoryMock.Object, lighthouseServiceMock.Object);
     distributionModel = new DistributionModel
     {
         Id         = Guid.NewGuid(),
         Name       = FakeGenerator.GetString().ToLower(),
         OwnersSids = new List <string> {
             FakeGenerator.GetString()
         }
     };
 }
        public void Create_WithBindings_Success()
        {
            var          buildsBindings = FakeGenerator.BuildsBindings.Generate(2);
            Distribution distribution   = CreateDistribution();

            distribution.AddBuildBindings(buildsBindings, FakeGenerator.GetUser().Sid);

            AssertDistribution(distribution, Owners, AvailableLifeCycles, LifeCycleStateRules);
            Assert.IsType <DistributionCreated>(GetUncommitedChanges(distribution)[0]);
            Assert.IsType <BuildBindingsAdded>(GetUncommitedChanges(distribution)[1]);
            AssertDistributionBuildBinding(distribution, GetUncommitedChanges(distribution)[1], buildsBindings);
            Assert.True(distribution.GetUncommitedChanges().Count == 2);
        }
        public void AddOwners_PropertiesChanged()
        {
            Distribution distribution = CreateDistribution();
            User         newOwner     = FakeGenerator.GetUser();

            Assert.DoesNotContain(newOwner, distribution.Owners);

            distribution.AddOwners(new List <User> {
                newOwner
            });

            Assert.Contains(newOwner, distribution.Owners);
            Assert.IsType <DistributionOwnersAdded>(distribution.GetUncommitedChanges().Last());
        }
Exemplo n.º 12
0
        public void WhenHeBooksAFlight(string passengerName, int baggageQty)
        {
            var passengers = FakeGenerator.GenertatePassengerDetails();

            var passengerUnderTest = passengers.FirstOrDefault(x => x.FirstName == passengerName);

            if (passengerUnderTest != null)
            {
                passengerUnderTest.Baggage = baggageQty;
            }

            foreach (var passenger in passengers)
            {
                _flightBookingService.BookFlight(passenger);
            }
        }
Exemplo n.º 13
0
 public void SetUp()
 {
     _logger = new FakeLogger();
     _config = new Configuration {
         ApiKey = "key", UrlRoot = "http://something"
     };
     _cache         = new MemoryCache(new MemoryCacheOptions());
     _fakeGenerator = new FakeGenerator {
         Returns = new byte[0]
     };
     _knownLocations = new LocationCollection
     {
         new Location("Foo", new ImageLocation(10, 10)),
         new Location("Foo Bar"),
     };
     _sut = new MapCommand(_knownLocations, _fakeGenerator, _cache);
 }
        public void SetUp()
        {
            _logger        = new FakeLogger();
            _cache         = new MemoryCache(new MemoryCacheOptions());
            _fakeGenerator = new FakeGenerator {
                Returns = new byte[0]
            };
            _knownLocations = new LocationCollection
            {
                new Location("Foo"),
                new Location("Bronte", new ImageLocation(0, 0, "gracechurch")),
                new Location("gracechurch::245-210", new ImageLocation(245, 210, "gracechurch"))
                {
                    Capacity = 100
                },
            };

            _capacityService = new FakeCapacityService();

            _sut = new HeatMapCommand(_knownLocations, _fakeGenerator, _cache, _capacityService);
        }
        public void TestValidate_UpdateDistribution_NameIsChanged_ShouldHaveError()
        {
            lighthouseServiceMock.Setup(x => x.IsValidUsers(It.IsAny <string[]>())).ReturnsAsync(true);
            distributionRepositoryMock
            .Setup(x => x.Any(It.IsAny <Expression <Func <DistributionReadModel, bool> > >(), CancellationToken.None))
            .ReturnsAsync((Expression <Func <DistributionReadModel, bool> > predicate, CancellationToken token) => predicate.Compile()(
                              new DistributionReadModel {
                Id = distributionModel.Id, Name = distributionModel.Name
            }));
            distributionRepositoryMock
            .Setup(x => x.Query(It.IsAny <Expression <Func <DistributionReadModel, bool> > >(), CancellationToken.None))
            .ReturnsAsync(new DistributionReadModel
            {
                Id   = distributionModel.Id,
                Name = FakeGenerator.GetString()
            });

            var result = validator.TestValidate(distributionModel, "Update");

            result.ShouldHaveValidationErrorFor(x => x.Name);
        }
        public void TestValidate_UpdateDistribution_DataIsValid_ShouldHaveNotError()
        {
            lighthouseServiceMock.Setup(x => x.IsValidUsers(It.IsAny <string[]>())).ReturnsAsync(true);
            distributionRepositoryMock
            .Setup(x => x.Any(It.IsAny <Expression <Func <DistributionReadModel, bool> > >(), CancellationToken.None))
            .ReturnsAsync(true);
            distributionRepositoryMock
            .Setup(x => x.Query(It.IsAny <Expression <Func <DistributionReadModel, bool> > >(), CancellationToken.None))
            .ReturnsAsync(new DistributionReadModel
            {
                Id     = distributionModel.Id,
                Name   = distributionModel.Name,
                Owners = new List <User> {
                    FakeGenerator.GetUser()
                },
                AvailableLifeCycles = distributionModel.AvailableLifeCycles.ToList(),
            });

            var result = validator.TestValidate(distributionModel, "Update");

            result.ShouldNotHaveAnyValidationErrors();
        }
Exemplo n.º 17
0
        public void GivenAPassenger(string passengerName)
        {
            var passengers = FakeGenerator.GenertatePassengerDetails();

            _passengerUnderTest = passengers.FirstOrDefault(p => p.FirstName == passengerName);
        }