示例#1
0
        public void LoggerProfile()
        {
            this.logger = SsmLogger.GetInstance(Environment.CurrentDirectory, MockEcuStream.PortName);
            IAsyncResult result = logger.BeginConnect(ConnectCallback, null);

            result.AsyncWaitHandle.WaitOne();
            ParameterSource source = logger.EndConnect(result);

            ParameterDatabase database = ParameterDatabase.GetInstance();

            database.Add(source);

            LogProfile expectedProfile = LogProfile.CreateInstance();

            foreach (SsmParameter parameter in database.Parameters)
            {
                expectedProfile.Add(parameter, parameter.Conversions[0]);
                if (expectedProfile.Columns.Count > 3)
                {
                    break;
                }
            }

            logger.SetProfile(expectedProfile, database);
            LogProfile actualProfile = logger.CurrentProfile;

            Assert.AreEqual(expectedProfile.Columns.Count, actualProfile.Columns.Count, "Actual count and expected count");
            foreach (LogColumn expectedColumn in expectedProfile.Columns)
            {
                Assert.IsTrue(actualProfile.Contains(expectedColumn.Parameter), "Actual expected parameter set is missing something");
            }
            foreach (LogColumn actualColumn in actualProfile.Columns)
            {
                Assert.IsTrue(expectedProfile.Contains(actualColumn.Parameter), "Actual expected parameter set contains something extra");
            }
        }
示例#2
0
        public void LoggerAddresses()
        {
            SsmLogger    logger = SsmLogger.GetInstance(Environment.CurrentDirectory, MockEcuStream.PortName);
            IAsyncResult result = logger.BeginConnect(null, null);

            result.AsyncWaitHandle.WaitOne();
            ParameterSource source = logger.EndConnect(result);

            ParameterDatabase database = ParameterDatabase.GetInstance();

            database.Add(source);

            LogProfile profile = LogProfile.CreateInstance();

            foreach (SsmParameter parameter in database.Parameters)
            {
                profile.Add(parameter, parameter.Conversions[0]);
                if (profile.Columns.Count == 8)
                {
                    break;
                }
            }
            logger.SetProfile(profile, database);
            IList <int> actual   = logger.Addresses;
            IList <int> expected = new int[]
            {
                // 9, 10, 8, 14, 15, 17, 18, 13, 16
                8, 9, 10, 13, 14, 15, 16, 17, 18,
            };

            Assert.AreEqual(expected.Count, actual.Count, "Addresses.Length");
            for (int i = 0; i < expected.Count; i++)
            {
                Assert.AreEqual(expected[i], actual[i], "Addresses[" + i + "]");
            }
        }
        public void InternalLogProfileSsmAddressesOneParameter()
        {
            ParameterDatabase  database = ParameterDatabase.GetInstance();
            SsmParameterSource source   = SsmParameterSource.GetInstance(
                Environment.CurrentDirectory,
                SsmParameterSourceTest.EcuIdentifier,
                SsmParameterSourceTest.CompatibilityMap);

            database.Add(source);

            LogProfile   publicProfile = LogProfile.CreateInstance();
            SsmParameter parameter     = database.Parameters[0] as SsmParameter;

            publicProfile.Add(parameter, parameter.Conversions[0]);

            InternalLogProfile internalProfile = InternalLogProfile.GetInstance(publicProfile, database);

            Assert.AreEqual(1, internalProfile.Addresses.Count);
            Assert.AreEqual(parameter.Address, internalProfile.Addresses[0]);
            Assert.AreEqual(1, internalProfile.LogEventArgs.Row.Columns.Count);
            LogColumn column = internalProfile.LogEventArgs.Row.Columns[0];

            Assert.AreEqual(column.PropertyBag[InternalLogProfile.ColumnAddressIndex], 0);
        }