コード例 #1
0
ファイル: ConsumerTest.cs プロジェクト: uonze/kafka-flow
        public async Task MessageOrderingTest()
        {
            // Arrange
            var version      = 1;
            var partitionKey = Guid.NewGuid();
            var producer     = this.provider.GetRequiredService <IMessageProducer <ProtobufProducer> >();
            var messages     = this.fixture
                               .Build <TestMessage1>()
                               .Without(t => t.Version)
                               .Do(t => t.Version = version++)
                               .CreateMany(5)
                               .ToList();

            // Act
            foreach (var m in messages)
            {
                await producer.ProduceAsync(partitionKey.ToString(), m);
            }

            // Assert
            await Task.Delay(8000).ConfigureAwait(false);

            var versionsSent     = messages.Select(m => m.Version).ToList();
            var versionsReceived = MessageStorage
                                   .GetVersions()
                                   .OrderBy(r => r.ticks)
                                   .Select(r => r.version)
                                   .ToList();

            CollectionAssert.AreEqual(versionsSent, versionsReceived);
        }
コード例 #2
0
 public SimCorpMobile(ScreenBase screen, BatteryBase battery, CPUBase cpu, MessageStorage messageStorage) : base(screen, battery, cpu, messageStorage)
 {
     Screen         = screen;
     Battery        = battery;
     CPU            = cpu;
     SMSProviderInt = new SMSProviderInt(messageStorage);
 }
コード例 #3
0
        public bool RouteMessages()
        {
            try
            {
                if (_messageTypeIdReceiveAdapterIdPair == null)
                {
                    GetSubScriptions();
                }

                var result = MessageStorage.MoveFromMessagesRouterFinderToMessageDispatcher(_messageLimitToBoEnriched, _messageTypeIdReceiveAdapterIdPair);

                if (!result)
                {
                    throw new Exception("Couldn't route messages. Please see other logs.");
                }

                return(true);
            }
            catch (Exception ex)
            {
                _loger.WriteLog(
                    "Routing error! (" + ex.Message + ")",
                    global::Common.Enums.LogType.Error, "Route Finder");

                return(false);
            }
        }
コード例 #4
0
ファイル: MobilePhoneForm.cs プロジェクト: ssrostovtsev/Lab4
        private void applyButton_Click(object sender, EventArgs e)
        {
            OLEDScreen     OLEDScreen     = new OLEDScreen(768, 1024);
            LiPoBattery    liPoBattery    = new LiPoBattery(4100, 3.7, 83);
            MultiCoreCPU   multiCoreCPU   = new MultiCoreCPU("SnapDragon", 2.1, 2);
            MessageStorage messageStorage = new MessageStorage("+380971994730");
            SimCorpMobile  scmobile       = new SimCorpMobile(OLEDScreen, liPoBattery, multiCoreCPU, messageStorage);
            WinFormsOutput winFormOutput  = new WinFormsOutput(this);

            listBox.Items.Clear();
            if (radioButtoniPhone.Checked == true)
            {
                scmobile.PlaybackComponent = new iPhoneHeadset(winFormOutput);
            }
            else if (radioButtonSamsung.Checked == true)
            {
                scmobile.PlaybackComponent = new SamsungHeadset(winFormOutput);
            }
            else if (radioButtonNoNameHeadset.Checked == true)
            {
                scmobile.PlaybackComponent = new NoNameHeadset(winFormOutput);
            }
            else if (radioButtonPhoneSpeaker.Checked == true)
            {
                scmobile.PlaybackComponent = new PhoneSpeaker(winFormOutput);
            }
            else
            {
                listBox.Items.Add("Nothing is selected");
            }
            scmobile.Play("Unknown Artist - His Song");
        }
コード例 #5
0
ファイル: Form1.cs プロジェクト: ziro7/LABSsimcorp
        private void SetupOutputPhone()
        {
            output = new ListViewOutput(CallListView);
            var smsStorage = new MessageStorage();

            phone = new MobilePhone(Model.Iphone10, output, smsStorage);
        }
コード例 #6
0
        public void PrintWithFilter_UserFilterEnabled_OnlySelectedDate()
        {
            //arrange
            FilterValueDTO   filterValueDTO = new FilterValueDTO("Jacob", "MESSAGE", DateTime.Now, DateTime.Now.Add(new TimeSpan(1, 0, 0)));
            MessageStorage   smsStorage     = new MessageStorage();
            MobilePhone      mobile         = new MobilePhone(Model.Iphone8, output, smsStorage);
            MessageInisiator inisiator      = new ThreadMessageInisiator(mobile);

            fakeForm.FilterDict.Add(FilterCheckBox.User, false);
            fakeForm.FilterDict.Add(FilterCheckBox.Message, false);
            fakeForm.FilterDict.Add(FilterCheckBox.Date, true);

            //act
            mobile.ChangeFormat(OutputFormat.FormatToUpper);
            mobile.Messages.Add(new Message(jacob, "testMessage from Jacob", DateTime.Now));
            mobile.Messages.Add(new Message(thomas, "testMessage from Thomas", DateTime.Now.Add(new TimeSpan(3, 0, 0))));
            mobile.ViewMessages(fakeForm.FilterDict, filterValueDTO);

            //assert
            string outputFromMobile = output.WriteLineText;
            string jacobString      = "";
            string thomasString     = "";

            if (outputFromMobile.IndexOf("JACOB") > 0)
            {
                jacobString = outputFromMobile.Substring(outputFromMobile.IndexOf("JACOB"), 5);
            }

            if (outputFromMobile.IndexOf("THOMAS") > 0)
            {
                thomasString = outputFromMobile.Substring(outputFromMobile.IndexOf("THOMAS"), 6);
            }
            Assert.AreEqual(jacobString, "JACOB");
            Assert.AreEqual(thomasString, "");
        }
コード例 #7
0
        public void SearchByDate()
        {
            Storage = new MessageStorage();
            Storage.AddMessage(new Message("User 1", "Message 1", new DateTime(2020, 01, 01)));
            Storage.AddMessage(new Message("User 1", "Message 2", new DateTime(2021, 02, 02)));
            Storage.AddMessage(new Message("User 2", "Message 3", new DateTime(2022, 01, 01)));
            Storage.AddMessage(new Message("User 2", "Message 4", new DateTime(2022, 03, 02)));
            Storage.AddMessage(new Message("User 3", "Message 15", new DateTime(2023, 01, 01)));
            Storage.AddMessage(new Message("User 3", "Message 4", new DateTime(2022, 03, 01)));

            var expectedMessages = new List <Message>();

            expectedMessages.Add(new Message("User 1", "Message 2", new DateTime(2021, 02, 02)));
            expectedMessages.Add(new Message("User 2", "Message 3", new DateTime(2022, 01, 01)));
            expectedMessages.Add(new Message("User 3", "Message 4", new DateTime(2022, 03, 01)));

            Storage.SetFilter("User", "any text", new DateTime(2021, 02, 02), new DateTime(2022, 03, 01), (a, b) => a || b);
            var actualMesseges = Storage.SearchByDate();


            Assert.AreEqual(expectedMessages.Count, actualMesseges.Count);
            var actual   = actualMesseges.GetEnumerator();
            var expected = expectedMessages.GetEnumerator();

            while (actual.MoveNext() && expected.MoveNext())
            {
                Assert.AreEqual(actual.Current, expected.Current);
            }
        }
コード例 #8
0
        public void RemoveMessageFromStorageAndRaiseEvent()
        {
            // Arrange
            bool eventWasRaised = false;

            MessageStorage messageStorage = new MessageStorage();

            messageStorage.MessageIsRemoved += (m) => { eventWasRaised = true; };

            Message messageToRemove   = new Message(1, "+380950000001", "Message #1 recieved.", new DateTime(2020, 4, 2));
            Message messageThatLeaves = new Message(2, "+380950000002", "Message #2 recieved.", new DateTime(2020, 4, 3));

            messageStorage.Add(messageToRemove);
            messageStorage.Add(messageThatLeaves);

            var expectedMessageStorageContent = new List <Message>();

            expectedMessageStorageContent.Add(messageThatLeaves);

            // Act
            messageStorage.Remove(messageToRemove);
            var actualMessageStorageContent = messageStorage.Messages;

            // Assert
            CollectionAssert.AreEqual(expectedMessageStorageContent, actualMessageStorageContent, new MessageComparer());
            Assert.IsTrue(eventWasRaised);
        }
コード例 #9
0
        public IdCardService(bool TestIdReader)
        {
            CatelMediator = new MessageStorage();
            if (!TestIdReader)
            {
                if (!StationRepository.IsIdCardEnabled)
                {
                    return;
                }
            }

            //ID cards reader initialization
            CatelMediator.Register <string>(this, WriteCardNumber, MsgTag.WriteNumber);
            CatelMediator.ApplyRegistration();


            scm.SmartCardInsertEventHandler += new EventHandler <SmartCardReader.CardEventArgs <string> >(daemonThread_InsertCard);
            scm.SmartCardRemoveEventHandler += new EventHandler(daemonThread_EjectCard);
            scm.SmartCardErrorEventHandler  += new EventHandler <SmartCardReader.CardEventArgs <string> >(daemonThread_CardError);

            if (!scm.SmartCardReaderDetected)
            {
                CatelMediator.SendMessage <long>(0, MsgTag.IdCardError);
            }
        }
コード例 #10
0
        public void WyslijNowaWiadomosc(Wiadomosc dane)
        {
            Player nadawca  = _playerCtx.Players.Where(p => p.ConnectedSummonerEmail == dane.Nadawca).FirstOrDefault();
            Player odbiorca = _playerCtx.Players.Where(p => p.ConnectedSummonerEmail == dane.Odbiorca).FirstOrDefault();


            MessageStorage szczegoly = new MessageStorage
            {
                Temat           = dane.Temat,
                TrescWiadomosci = dane.Tresc,
                NadawcaId       = nadawca.Id,
                DataWyslania    = DateTime.Now.ToUniversalTime()
            };

            _context.SzczegolyWiadomosci.Add(szczegoly);
            _context.SaveChanges();

            Message wiadomosc = new Message
            {
                OdbiorcaId     = odbiorca.Id,
                MessageStorage = _context.SzczegolyWiadomosci
                                 .Where(s => s.Temat == szczegoly.Temat)
                                 .Where(s => s.TrescWiadomosci == szczegoly.TrescWiadomosci)
                                 .Where(s => s.NadawcaId == szczegoly.NadawcaId)
                                 .Where(s => s.DataWyslania == szczegoly.DataWyslania)
                                 .Single(),
                Przeczytane           = false,
                DataPrzeczytania      = null,
                UsunietaPrzezNadawce  = false,
                UsunietaPrzezOdbiorce = false
            };

            _context.Wiadomosci.Add(wiadomosc);
            _context.SaveChanges();
        }
コード例 #11
0
 public TestClass()
 {
     Mediator = new MessageStorage();
     Mediator.Register <long>(this, Test, MsgTag.CloseLogin);
     Mediator.Register <string>(this, Test, MsgTag.CloseLogin);
     Mediator.Register <string>(this, Test, MsgTag.CloseLogin);
     Mediator.ApplyRegistration();
 }
コード例 #12
0
 public TestInputViewModel()
 {
     Mediator          = new MessageStorage();
     BarcodeCommand    = new Command(BarcodeClick);
     InsertCardCommand = new Command(InsertCard);
     EjectCardCommand  = new Command(EjectCard);
     Mediator.Register <string>(this, WriteCardNumber, MsgTag.TestWriteNumber);
 }
コード例 #13
0
ファイル: SMSProviderTest.cs プロジェクト: mksksc/Labs
        public void SMSReceivedTest()
        {
            var storage       = new MessageStorage();
            var provider      = new SMSProvider(storage);
            int invokecounter = 0;

            provider.SMSReceived += msg => invokecounter++;
            provider.ReceiveSMS(new Message("9379992", "Wait for me!"));
            Assert.AreEqual(1, invokecounter);
        }
コード例 #14
0
ファイル: MessageStorageTest.cs プロジェクト: mksksc/Labs
        public void AddEventTest()
        {
            var storage     = new MessageStorage();
            int invokecount = 0;

            storage.MessageAdded += msg => invokecount++;

            storage.AddMessage(new Message("+3804554845", "Hello World"));
            Assert.AreEqual(1, invokecount);
        }
コード例 #15
0
        public void Constructor_should_create_instance_with_valid_supported_engine_uri(string uri)
        {
            // Arrange
            var options = CreateOptions(uri);

            // Act
            var sut = new MessageStorage(options);

            // Assert
            Assert.NotNull(sut);
        }
コード例 #16
0
        private MessageStorage InitMessageStorage(string phoneNo)
        {
            MessageStorage messageStorage = new MessageStorage(phoneNo);

            for (int i = 0; i < 1000; i++)
            {
                MobilePhoneClassLib.Message message = new MobilePhoneClassLib.Message($"+38{i}", phoneNo, $"Message #{i}");
                messageStorage.AddMessage(message);
            }
            return(messageStorage);
        }
コード例 #17
0
        private SimCorpMobile InitSimCorpMobile()
        {
            OLEDScreen     OLEDScreen     = new OLEDScreen(768, 1024);
            LiPoBattery    liPoBattery    = new LiPoBattery(4100, 3.7, 83);
            MultiCoreCPU   multiCoreCPU   = new MultiCoreCPU("SnapDragon", 2.1, 2);
            MessageStorage messageStorage = InitMessageStorage("+380971994730");
            SimCorpMobile  scmobile       = new SimCorpMobile(OLEDScreen, liPoBattery, multiCoreCPU, messageStorage);

            scmobile.MessageStorage = messageStorage;
            return(scmobile);
        }
コード例 #18
0
        private void InitSMSNumberComboBox(MessageStorage messageStorage)
        {
            List <MobilePhoneClassLib.Message> messages = messageStorage.GetAllMessages();
            MessageFilter messageFilter = new MessageFilter();
            List <MobilePhoneClassLib.Message> filteredMessages = messageFilter.UniqueNumbers(messages);

            foreach (MobilePhoneClassLib.Message message in filteredMessages)
            {
                SMSNumberComboBox.Items.Add(message.SenderNumber);
            }
        }
コード例 #19
0
        public async Task SendAsync_MessageStorageFailed_ThrowsInvalidOperationException()
        {
            // Arrange
            MessageStorage
            .Setup(m => m.StoreEnvelopeAsync(TextMessage.To.ToIdentity(), TextMessage))
            .ReturnsAsync(false)
            .Verifiable();

            // Act
            await Target.Value.SendAsync(TextMessage, CancellationToken).ShouldThrowAsync <InvalidOperationException>();
        }
コード例 #20
0
 public SimCorpPhone()
 {
     Battery        = new LiIonBattery(3.81, 2716);
     Speaker        = new StereoSpeaker();
     Keyboard       = new CallKeyboard();
     Microphone     = new MobileMicrophone();
     Screen         = new TouchScreen(new TouchManager(), 143.6, 70.9, 2436, 1125, TouchScreenType.MultiTouch);
     Simcard        = new Simcard("+380879879455", "Life");
     MessageStorage = new MessageStorage();
     SMSProvider    = SMSProviderFactory.GetProvider(MessageStorage, SMSProviderType.Task);
 }
コード例 #21
0
 public SimcorpMobile()
 {
     vOLEDScreen          = new OLEDScreen();
     vBatterySimple       = new PhoneBattery();
     vPhoneSpeaker        = new PhoneSpeaker();
     vKeyboardWithLetters = new KeyboardWithLetters();
     vMicrophoneSimple    = new MicrophoneSimple();
     vSimcardSimple       = new SimCardSimple();
     vMessages            = new MessageStorage();
     vProvider            = new SMSProvider();
 }
コード例 #22
0
        private SimCorpMobileThreadTask InitSimCorpMobileThreadTask()
        {
            OLEDScreen              OLEDScreen     = new OLEDScreen(768, 1024);
            LiPoBattery             liPoBattery    = new LiPoBattery(4100, 3.7, 20);
            MultiCoreCPU            multiCoreCPU   = new MultiCoreCPU("SnapDragon", 2.1, 2);
            MessageStorage          messageStorage = InitMessageStorage(MyPhoneNo);
            SimCorpMobileThreadTask scmobile       = new SimCorpMobileThreadTask(OLEDScreen, liPoBattery, multiCoreCPU, messageStorage);

            scmobile.MessageStorage = messageStorage;
            return(scmobile);
        }
コード例 #23
0
ファイル: Form1.cs プロジェクト: ziro7/LABSsimcorp
        private void SetupOutputPhoneAndFilter()
        {
            output = new ListViewOutput(MessageListView);
            var smsStorage = new MessageStorage();

            phone = new MobilePhone(Model.Iphone10, output, smsStorage);
            IMessageInisiatorFactory smsInisiatorFactory = LoadMessageInisiator();

            smsInitiator     = (MessageInisiator)smsInisiatorFactory.CreateMessageInisiator(phone);
            filterDictionary = new Dictionary <FilterCheckBox, bool>();
        }
コード例 #24
0
ファイル: MessageStorageTest.cs プロジェクト: mksksc/Labs
        public void AddTest()
        {
            List <Message> messages = InitMessages();
            var            storage  = new MessageStorage();

            messages.ForEach(x => storage.AddMessage(x));

            bool isSequenceEqual = Enumerable.SequenceEqual(messages, storage.GetMessages());

            Assert.IsTrue(isSequenceEqual);
        }
コード例 #25
0
ファイル: MessageStorageTest.cs プロジェクト: Anpl-sc/Labs
        public void AddMessage()
        {
            PhoneMessage testMessage     = new PhoneMessage(new Contact("Nick", 0), "Test Message", DateTime.Now);
            PhoneMessage receivedMessage = new PhoneMessage(new Contact("Nick", 0), "Received Message", DateTime.Now);

            MessageStorage storage = new MessageStorage();

            storage.SMSShow += m => receivedMessage = m[0];
            storage.AddMessage(testMessage);

            Assert.AreEqual(testMessage, receivedMessage);
        }
コード例 #26
0
        private void ApplyButton_Click(object sender, EventArgs e)
        {
            var output      = new LabelOutput(OutputLabel);
            var smsStorage  = new MessageStorage();
            var mobilePhone = new MobilePhone(Model.Iphone10, output, smsStorage);

            output.WriteLine(mobilePhone.GetDescription());

            var choice = -1;

            if (HeadPhonesRadioButton.Checked)
            {
                choice = 1;
            }
            if (SpeakersRadioButton.Checked)
            {
                choice = 2;
            }
            if (PhoneSpeakerRadioButton.Checked)
            {
                choice = 3;
            }

            IPlayback audioDevice = null;

            if (choice == -1)
            {
                return;
            }

            if (choice == 1)
            {
                audioDevice = new Headphones(output);
            }
            else if (choice == 2)
            {
                audioDevice = new Speakers(false, output);
            }
            else if (choice == 3)
            {
                audioDevice = new PhoneSpeaker(output);
            }
            else
            {
                output.Write("No Valid channel selected");
            }

            if (audioDevice != null)
            {
                mobilePhone.InsertEquipmentInJackStick(audioDevice);
                mobilePhone.AudioInJackStik.Play(new object());
            }
        }
コード例 #27
0
 private void Init()
 {
     _sms              = MessageStorage.Instance;
     _sms.SMSReceived += MockOnSMSReceived;
     _sms.MsgList      = new List <Message>();
     _msg1             = new Message {
         User = "******", Text = Txt1, ReceivingTime = _date
     };
     _msg2 = new Message {
         User = "******", Text = Txt2, ReceivingTime = _date
     };
 }
コード例 #28
0
        public TestInputViewModel()
        {
            BindingOperations.EnableCollectionSynchronization(_cardNumbers, _itemsLock1);
            ChangeTracker.TestInputActive = true;
            Mediator          = new MessageStorage();
            BarcodeCommand    = new Command(BarcodeClick);
            InsertCardCommand = new Command(InsertCard);
            EjectCardCommand  = new Command(EjectCard);
            Mediator.Register <string>(this, WriteCardNumber, MsgTag.TestWriteNumber);
            var timer = new System.Timers.Timer(100);

            timer.Elapsed += timer_Elapsed;
            timer.Start();
        }
コード例 #29
0
        public async Task SendAsync_Message_SendsToStorage()
        {
            // Arrange
            MessageStorage
            .Setup(m => m.StoreEnvelopeAsync(TextMessage.To.ToIdentity(), TextMessage))
            .ReturnsAsync(true)
            .Verifiable();

            // Act
            await Target.Value.SendAsync(TextMessage, CancellationToken);

            // Assert
            MessageStorage.Verify();
        }
コード例 #30
0
        public void MessageAddedTest()
        {
            //Arrange
            MessageStorage messageStorage = new MessageStorage("+380971994730");
            SMSGenerator   sMSGenerator   = new SMSGenerator();

            //Act
            sMSGenerator.GenerateMessage(messageStorage);
            int            expectedResult = 1;
            List <Message> messages       = messageStorage.GetAllMessages();
            int            actual         = messages.Count;

            //Assert
            Assert.AreEqual(expectedResult, actual);
        }