public void SearchByNameAndAge() { var user = new User() { FirstName = "Yan", LastName = "Big", Age = 20 }; var user1 = new User() { FirstName = "Yan", LastName = "Little", Age = 30 }; var slaveNode1 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveNode2 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveServiceCollection = new List <IUserStorageService>() { slaveNode1, slaveNode2 }; var storage = new UserStorageServiceMaster(new UserId(), new CompositeValidator(), slaveServiceCollection); var storageLog = new UserStorageServiceLog(storage); storageLog.Add(user); storageLog.Add(user1); Assert.AreEqual(storageLog.SearchByPredicate(u => u.FirstName == "Yan" && u.Age == 30).FirstOrDefault(), user1); }
public static void Main(string[] args) { // Loading configuration from the application configuration file. This configuration is not used yet. var serviceConfiguration = (ServiceConfiguration)System.Configuration.ConfigurationManager.GetSection("serviceConfiguration"); using (var host = new ServiceHost(MyDiagnostics.Create(serviceConfiguration))) { host.SmartOpen(); var slaveNode1 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveNode2 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveServiceCollection = new List <IUserStorageService>() { slaveNode1, slaveNode2 }; var storage = new UserStorageServiceMaster(new UserId(), new CompositeValidator(), slaveServiceCollection); var storageLog = new UserStorageServiceLog(storage); var client = new Client(storageLog); client.Run(); Console.WriteLine("Service \"{0}\" that is implemented by \"{1}\" class is available on \"{2}\" endpoint.", host.Description.Name, host.Description.ServiceType.FullName, host.BaseAddresses.First()); Console.WriteLine("Press <Enter> to stop the service."); Console.ReadLine(); host.Close(); } }
public void Remove_SlaveService_ExceptionThrown() { // Arrange var userStorageService = new UserStorageServiceSlave(new UserMemoryRepository()); // Act userStorageService.Remove((u) => true); }
public void Add_ValidUserToSlaveService_ExceptionThrown() { // Arrange var userStorageService = new UserStorageServiceSlave(new UserMemoryRepository()); var user = GetValidUser(); // Assert Assert.Throws <NotSupportedException>(() => userStorageService.Add(user)); }
public void SlaveMethodAdd_AnyUser_NotSupportedException() { User user = new User() { FirstName = "Alex", LastName = "Black", Age = 22 }; UserStorageServiceSlave slaveService1 = new UserStorageServiceSlave(new UserRepositoryWithState()); Assert.Catch <NotSupportedException>(() => slaveService1.Add(user)); }
public void Remove_UserIsNotInStorage_ExceptionThrown() { UserStorageServiceSlave userStorageServiceSlave1 = new UserStorageServiceSlave(new UserRepositoryWithState()); UserStorageServiceSlave userStorageServiceSlave2 = new UserStorageServiceSlave(new UserRepositoryWithState()); UserStorageServiceMaster userStorageServiceMaster = new UserStorageServiceMaster(new UserRepositoryWithState(), new List <UserStorageServiceSlave>(new[] { userStorageServiceSlave1, userStorageServiceSlave2 })); userStorageServiceMaster.Remove(new User() { Id = Guid.NewGuid(), FirstName = "alex", LastName = "black", Age = 24 }); }
public void MasterMethodAdd_AnyUser_UserAddedToSlaveNodes() { User user = new User() { FirstName = "Alex", LastName = "Black", Age = 22 }; UserStorageServiceSlave slaveService1 = new UserStorageServiceSlave(new UserRepositoryWithState()); UserStorageServiceSlave slaveService2 = new UserStorageServiceSlave(new UserRepositoryWithState()); UserStorageServiceMaster masterService = new UserStorageServiceMaster(new UserRepositoryWithState(), new List <UserStorageServiceSlave>(new[] { slaveService1, slaveService2 })); masterService.Add(user); Assert.AreEqual(1, slaveService1.Count); Assert.AreEqual(1, slaveService2.Count); }
public void Add_NullAsUserArgument_ExceptionThrown() { // Arrange var slaveNode1 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveNode2 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveServiceCollection = new List <IUserStorageService>() { slaveNode1, slaveNode2 }; var storage = new UserStorageServiceMaster(new UserId(), new CompositeValidator(), slaveServiceCollection); var storageLog = new UserStorageServiceLog(storage); // Act storageLog.Add(null); // Assert - [ExpectedException] }
public void SearchByName_Exception2() { var slaveNode1 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveNode2 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveServiceCollection = new List <IUserStorageService>() { slaveNode1, slaveNode2 }; var storage = new UserStorageServiceMaster(new UserId(), new CompositeValidator(), slaveServiceCollection); var storageLog = new UserStorageServiceLog(storage); var user = new User() { FirstName = "Yan", Age = -20 }; storageLog.Add(user); Assert.AreEqual(storageLog.SearchByAge(user.Age).FirstOrDefault(), user); }
public void Remove_User_UserIsRemoved() { User user = new User() { Id = Guid.NewGuid(), FirstName = "Alex", LastName = "Black", Age = 25 }; UserStorageServiceMaster userStorageService = new UserStorageServiceMaster(new UserRepositoryWithState()); UserStorageServiceSlave slave1 = new UserStorageServiceSlave(new UserRepositoryWithState()); UserStorageServiceSlave slave2 = new UserStorageServiceSlave(new UserRepositoryWithState()); userStorageService.AddSubscriber(slave1); userStorageService.AddSubscriber(slave2); userStorageService.Add(user); userStorageService.Remove(user); Assert.AreEqual(0, slave2.Count); Assert.AreEqual(0, slave1.Count); }
public void Add_UserLastNameConsistsOfWhiteSpaces_ExceptionThrown() { //// Arrange var slaveNode1 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveNode2 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveServiceCollection = new List <IUserStorageService>() { slaveNode1, slaveNode2 }; var storage = new UserStorageServiceMaster(new UserId(), new CompositeValidator(), slaveServiceCollection); var storageLog = new UserStorageServiceLog(storage); //// Act storageLog.Add(new User { LastName = " " }); //// Assert - [ExpectedException] }
public void Add_UserAgeIsNegative_ExceptionThrown() { //// Arrange var slaveNode1 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveNode2 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveServiceCollection = new List <IUserStorageService>() { slaveNode1, slaveNode2 }; var storage = new UserStorageServiceMaster(new UserId(), new CompositeValidator(), slaveServiceCollection); var storageLog = new UserStorageServiceLog(storage); ////Act storageLog.Add(new User { FirstName = "Alex", LastName = "Johnson", Age = -1 }); //// Assert - [ExpectedException] }
public void Remove_WithoutArguments_NothingHappen() { // Arrange var slaveNode1 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveNode2 = new UserStorageServiceSlave(new UserId(), new CompositeValidator()); var slaveServiceCollection = new List <IUserStorageService>() { slaveNode1, slaveNode2 }; var storage = new UserStorageServiceMaster(new UserId(), new CompositeValidator(), slaveServiceCollection); var storageLog = new UserStorageServiceLog(storage); // Act storageLog.Add(new User { FirstName = "Alex", LastName = "Usov", Age = 21, }); // Assert - [ExpectedException] }