コード例 #1
0
ファイル: SiDriverTest.cs プロジェクト: yannisgu/GecoSI.Net
        public void readSiCard6_192Punches()
        {
            siPort = new MockCommPort(new[]
            {
                SiMessageFixtures.startup_answer, SiMessageFixtures.ok_ext_protocol_answer,
                SiMessageFixtures.si6_192_punches_answer,
                SiMessageFixtures.sicard6_detected, SiMessageFixtures.sicard6_192p_b0_data,
                SiMessageFixtures.sicard6_192p_b6_data, SiMessageFixtures.sicard6_192p_b7_data,
                SiMessageFixtures.sicard6_192p_b2_data,
                SiMessageFixtures.sicard6_192p_b3_data, SiMessageFixtures.sicard5_removed
            });
            var siHandlerMock = new Mock <SiHandler>();

            siHandler = siHandlerMock.Object;

            siHandlerMock.Setup(si => si.Notify(It.IsAny <Si6DataFrame>())).Callback <ISiDataFrame>(data =>
            {
                ISiDataFrame si6Data = data.StartingAt(0);
                Assert.AreEqual(si6Data.NbPunches, (101));
                Assert.AreEqual(si6Data.Punches[0].Code, (31));
                Assert.AreEqual(si6Data.Punches[100].Code, (634));
            });

            testRunDriver(new SiDriver(siPort, siHandler));
            siHandlerMock.Verify(si => si.Notify(It.IsAny <Si6DataFrame>()));
        }
コード例 #2
0
        public void setUp()
        {
            siHandlerMock = new Mock <SiHandler>();
            siHandler     = siHandlerMock.Object;
            writerMock    = new Mock <ICommWriter>();
            writer        = writerMock.Object;

            queue = new SiMessageQueue(10, 1);
            SiDriverState.setSicard6_192PunchesMode(false);
            GecoSiLogger.Open();
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: yannisgu/GecoSI.Net
        private static int Main(string[] args)
        {
            if (args.Length == 0)
            {
                PrintUsage();
#if DEBUG
                System.Console.Read();
#endif
                return(0);
            }

            var handler = new SiHandler(new ConsoleListener());

            if (args.Length == 1)
            {
                try
                {
                    handler.Connect(args[0]);
                }
                catch (Exception e)
                {
                    e.PrintStackTrace();
#if DEBUG
                    System.Console.Read();
#endif
                }
            }
            else if (args.Length == 2 && args[0].Equals("--file"))
            {
                try
                {
                    handler.ReadLog(args[1]);
                }
                catch (IOException e)
                {
                    e.PrintStackTrace();
#if DEBUG
                    System.Console.Read();
#endif
                }
            }
            else
            {
                System.Console.WriteLine("Unknown command line option");
                PrintUsage();
#if DEBUG
                System.Console.Read();
#endif
                return(1);
            }

            return(0);
        }
コード例 #4
0
        public void notifySiCard5()
        {
            ISiListener listener;
            var         listenerMock = new Mock <ISiListener>();
            var         sicard5Mock  = new Mock <Si5DataFrame>();
            var         siHandler    = new SiHandler(listenerMock.Object);

            siHandler.SetZeroHour(10000L);
            siHandler.Notify(sicard5Mock.Object);


            sicard5Mock.Verify(si => si.StartingAt(10000L));
        }
コード例 #5
0
ファイル: SiDriverTest.cs プロジェクト: yannisgu/GecoSI.Net
        public void startupProtocol_failsOnTimeout()
        {
            siPort = new MockCommPort();

            var siHandlerMock = new Mock <SiHandler>();

            siHandler = siHandlerMock.Object;
            testRunDriver(new SiDriver(siPort, siHandler));
//TODO in order

            siHandlerMock.Verify(si => si.Notify(CommStatus.Starting));
            siHandlerMock.Verify(si => si.NotifyError(CommStatus.FatalError, It.IsAny <string>()));
            siHandlerMock.Verify(si => si.Notify(CommStatus.Off));
        }
コード例 #6
0
ファイル: SiDriverTest.cs プロジェクト: yannisgu/GecoSI.Net
        public void startupProtocol_failsOnExtendedProtocolCheck()
        {
            siPort =
                new MockCommPort(new[]
                                 { SiMessageFixtures.startup_answer, SiMessageFixtures.no_ext_protocol_answer });
            var siHandlerMock = new Mock <SiHandler>();

            siHandler = siHandlerMock.Object;
            testRunDriver(new SiDriver(siPort, siHandler));


            siHandlerMock.Verify(si => si.Notify(CommStatus.Starting));
            siHandlerMock.Verify(si => si.NotifyError((CommStatus.FatalError), It.IsAny <string>()));
            siHandlerMock.Verify(si => si.Notify(CommStatus.Off));
        }
コード例 #7
0
ファイル: SiDriverTest.cs プロジェクト: yannisgu/GecoSI.Net
        public void siCard5_removedBeforeRead()
        {
            siPort = new MockCommPort(new[]
            {
                SiMessageFixtures.startup_answer, SiMessageFixtures.ok_ext_protocol_answer,
                SiMessageFixtures.si6_64_punches_answer,
                SiMessageFixtures.sicard5_detected, SiMessageFixtures.sicard5_removed
            });

            var siHandlerMock = new Mock <SiHandler>();

            siHandler = siHandlerMock.Object;
            testRunDriver(new SiDriver(siPort, siHandler));
            siHandlerMock.Verify(si => si.Notify(CommStatus.ProcessingError));
        }
コード例 #8
0
ファイル: SiDriverTest.cs プロジェクト: yannisgu/GecoSI.Net
        public void readSiCard5()
        {
            siPort = new MockCommPort(new[]
            {
                SiMessageFixtures.startup_answer, SiMessageFixtures.ok_ext_protocol_answer,
                SiMessageFixtures.si6_64_punches_answer,
                SiMessageFixtures.sicard5_detected, SiMessageFixtures.sicard5_data, SiMessageFixtures.sicard5_removed
            });
            var siHandlerMock = new Mock <SiHandler>();

            siHandler = siHandlerMock.Object;

            testRunDriver(new SiDriver(siPort, siHandler));

            siHandlerMock.Verify(si => si.Notify(It.IsAny <Si5DataFrame>()));
        }
コード例 #9
0
ファイル: SiDriverTest.cs プロジェクト: yannisgu/GecoSI.Net
        public void startupProtocol_succeeds()
        {
            siPort =
                new MockCommPort(new[]
            {
                SiMessageFixtures.startup_answer, SiMessageFixtures.ok_ext_protocol_answer,
                SiMessageFixtures.si6_64_punches_answer
            });
            var siHandlerMock = new Mock <SiHandler>();

            siHandler = siHandlerMock.Object;
            testRunDriver(new SiDriver(siPort, siHandler));
            //TODO in order

            siHandlerMock.Verify(si => si.Notify(CommStatus.Starting));
            siHandlerMock.Verify(si => si.Notify(CommStatus.Ready));
        }
コード例 #10
0
ファイル: SiDriverTest.cs プロジェクト: yannisgu/GecoSI.Net
        public void readSiCard10_192Punches()
        {
            siPort = new MockCommPort(new[]
            {
                SiMessageFixtures.startup_answer, SiMessageFixtures.ok_ext_protocol_answer,
                SiMessageFixtures.si6_192_punches_answer,
                SiMessageFixtures.sicard10_detected, SiMessageFixtures.sicard10_b0_data,
                SiMessageFixtures.sicard10_b4_data,
                SiMessageFixtures.sicard5_removed
            });


            var siHandlerMock = new Mock <SiHandler>();

            siHandler = siHandlerMock.Object;

            siHandlerMock.Setup((si => si.Notify(It.IsAny <Si8PlusDataFrame>()))).Callback <ISiDataFrame>(si10 =>
            {
                ISiDataFrame si10Data = si10.StartingAt(0);
                Assert.AreEqual(si10Data.NbPunches, (3));
                Assert.AreEqual(si10Data.Punches[0].Code, (42));
                Assert.AreEqual(si10Data.Punches[2].Code, (32));
            });
        }