public void TryParseStringDateTimeFormatInfoDateTimeStylesDateTimeResultRef_should_be_callable_indirectly() { using (new IndirectionsContext()) { // Arrange var dateTimeParse = typeof(DateTime).Assembly.GetTypes().First(_ => _.Name == "DateTimeParse"); var dateTimeResult = typeof(DateTime).Assembly.GetTypes().First(_ => _.Name == "DateTimeResult"); var dateTimeParse_TryParse = dateTimeParse.GetMethod("TryParse", BindingFlags.NonPublic | BindingFlags.Static, null, new[] { typeof(string), typeof(DateTimeFormatInfo), typeof(DateTimeStyles), dateTimeResult.MakeByRefType() }, null); var expected = Activator.CreateInstance(dateTimeResult); PDateTimeParse.TryParseStringDateTimeFormatInfoDateTimeStylesDateTimeResultRef().Body = args => { args[3] = expected; return(true); }; // Act var @params = new object[] { "aiueo", new DateTimeFormatInfo(), DateTimeStyles.None, null }; var result = dateTimeParse_TryParse.Invoke(null, @params); // Assert Assert.AreEqual(true, result); Assert.IsNotNull(@params[3]); } }
public void TryParseStringDateTimeFormatInfoDateTimeStylesDateTimeRef_should_be_callable_indirectly() { using (new IndirectionsContext()) { // Arrange PDateTimeParse.TryParseStringDateTimeFormatInfoDateTimeStylesDateTimeRef().Body = (string s, DateTimeFormatInfo dtfi, DateTimeStyles styles, out DateTime result) => { result = new DateTime(2014, 02, 14, 11, 30, 55, 00); return(true); }; // Act var actualResult = default(DateTime); var actualReturn = DateTime.TryParse(DateTime.Now.ToString("yyyyMMddHHmmss"), new CultureInfo("en-us"), DateTimeStyles.None, out actualResult); // Assert Assert.IsTrue(actualReturn); Assert.AreEqual(new DateTime(2014, 02, 14, 11, 30, 55, 00), actualResult); } }