static private void TestParser <T>(StringSliceParseDelegate <T> inSliceParse, params string[] inStrings) { foreach (var str in inStrings) { T valFromSlice; bool bFromSlice = inSliceParse(str, out valFromSlice); Debug.LogFormat("parsed '{0}' to {1}, got {2}:{3}", str, typeof(T).Name, bFromSlice, valFromSlice); } }
static private void TestParser <T>(StringParseDelegate <T> inStringParse, StringSliceParseDelegate <T> inSliceParse, params string[] inStrings) { foreach (var str in inStrings) { T valFromString, valFromSlice; bool bFromString = inStringParse(str, out valFromString); bool bFromSlice = inSliceParse(str, out valFromSlice); Debug.LogFormat("parsed '{0}' to {1}, got {2}:{3} and {4}:{5}", str, typeof(T).Name, bFromString, valFromString, bFromSlice, valFromSlice); Assert.AreEqual(bFromString, bFromSlice, "Success<{0}> from slice {1} is different from system {2} for '{3}'", typeof(T).Name, bFromSlice, bFromString, str); Assert.AreEqual(valFromString, valFromSlice, "Result<{0}> from slice {1} is different from system {2} for '{3}'", typeof(T).Name, valFromSlice, valFromString, str); } }