static void Main(string[] args) { var phoneNumbers = new int[] { 111, 222 }; var phones = phoneNumbers.Select(numb => new Phone(numb)).ToList(); var portNumbers = new List <int>() { 10, 20 }; var ports = portNumbers.Select(numb => new Port(numb)); var exchange = new TelephoneExchange(new HashSet <IPort>(ports), new HashSet <Phone>(phones), null); var callReceiveDelay = TimeSpan.FromMilliseconds(5000); var senderTerminal = new Terminal(phones[0], exchange, null, callReceiveDelay); var reciverTerminal = new Terminal(phones[1], exchange, null, callReceiveDelay); Console.WriteLine(senderTerminal.ConnectToExchange()); Console.WriteLine(reciverTerminal.ConnectToExchange()); var callStatus = senderTerminal.MakeCall(reciverTerminal.PhoneNumber); var disconnectStatus = reciverTerminal.CloseCall(); Console.WriteLine(senderTerminal.DisconnectFromExchange()); Console.WriteLine(reciverTerminal.DisconnectFromExchange()); }
public void Init() { var phoneNumbers = new int[] { 111, 222 }; _phones = phoneNumbers.Select(numb => new Phone(numb)).ToList(); var portNumbers = new List <int>() { 10, 20 }; var ports = portNumbers.Select(numb => new Port(numb)); var exchangeBilling = new Mocks.ExchangeBillingMock(p => true); var exchange = new TelephoneExchange(new HashSet <IPort>(ports), new HashSet <Phone>(_phones), exchangeBilling); _callReceivingDelay = TimeSpan.FromMilliseconds(10000); _senderTerminal = new ATS.Terminal(_phones[0], exchange, null, _callReceivingDelay); _reciverTerminal = new ATS.Terminal(_phones[1], exchange, null, _callReceivingDelay); }