Exemplo n.º 1
0
        public MasterTcpComunicator(IMasterUserStorage masterUserStorage, IEnumerable <IPEndPoint> slavesEndPoints)
        {
            if (masterUserStorage == null)
            {
                throw new ArgumentNullException(nameof(masterUserStorage));
            }

            if (slavesEndPoints == null)
            {
                throw new ArgumentNullException(nameof(slavesEndPoints));
            }

            this.masterUserStorage       = masterUserStorage;
            this.slaveStoragesTcpClients = new BlockingCollection <TcpClient>();

            foreach (var slavesEndPoint in slavesEndPoints)
            {
                TcpClient slave = new TcpClient();
                slave.Connect(slavesEndPoint);
                slaveStoragesTcpClients.Add(slave);
            }

            masterUserStorage.UserAdded   += UserAddedHandler;
            masterUserStorage.UserDeleted += UserDeletedHandler;
        }
        public void BeforeStart()
        {
            int i = 0;

            this.userIdGenerator = new Mock <IUserIdGenerator>();
            this.userIdGenerator.Setup(uIdG => uIdG.Generate(It.IsAny <User>()))
            .Returns <User>((u) => ++ i);

            this.userValidator = new Mock <IUserValidator>();
            this.userValidator.Setup(uV => uV.Validate(It.IsAny <User>()))
            .Returns <User>((u) => true);

            this.userStorage = new MasterUserStorage(this.userIdGenerator.Object, this.userValidator.Object);
        }