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"); } }
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); }