/// <summary> /// Creates a new fake object. /// </summary> public FakeObject(Type type) { Guard.IsNotNull(type, "type"); AssertThatTypeIsFakeable(type); this.Initialize(type, () => FakeGenerator.GenerateFake(type, this)); }
public static void Main(string[] args) { FakeGenerator.Init(); FakeGenerator.CreateUniverse(); BuildWebHost(args).Run(); }
/// <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)); }
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()); }
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); }
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()); }
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); } }
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(); }
public void GivenAPassenger(string passengerName) { var passengers = FakeGenerator.GenertatePassengerDetails(); _passengerUnderTest = passengers.FirstOrDefault(p => p.FirstName == passengerName); }