public void StringInterop() { var v = new hvec3(new Half(7), new Half(-3), new Half(3)); var s0 = v.ToString(); var s1 = v.ToString("#"); var v0 = hvec3.Parse(s0); var v1 = hvec3.Parse(s1, "#"); Assert.AreEqual(v, v0); Assert.AreEqual(v, v1); var b0 = hvec3.TryParse(s0, out v0); var b1 = hvec3.TryParse(s1, "#", out v1); Assert.That(b0); Assert.That(b1); Assert.AreEqual(v, v0); Assert.AreEqual(v, v1); b0 = hvec3.TryParse(null, out v0); Assert.False(b0); b0 = hvec3.TryParse("", out v0); Assert.False(b0); b0 = hvec3.TryParse(s0 + ", 0", out v0); Assert.False(b0); Assert.Throws <NullReferenceException>(() => { hvec3.Parse(null); }); Assert.Throws <FormatException>(() => { hvec3.Parse(""); }); Assert.Throws <FormatException>(() => { hvec3.Parse(s0 + ", 0"); }); var s2 = v.ToString(";", CultureInfo.InvariantCulture); Assert.That(s2.Length > 0); var s3 = v.ToString("; ", "G"); var s4 = v.ToString("; ", "G", CultureInfo.InvariantCulture); var v3 = hvec3.Parse(s3, "; ", NumberStyles.Number); var v4 = hvec3.Parse(s4, "; ", NumberStyles.Number, CultureInfo.InvariantCulture); Assert.AreEqual(v, v3); Assert.AreEqual(v, v4); var b4 = hvec3.TryParse(s4, "; ", NumberStyles.Number, CultureInfo.InvariantCulture, out v4); Assert.That(b4); Assert.AreEqual(v, v4); }
/// <summary> /// Returns a string representation of this vector using a provided seperator and a format and format provider for each component. /// </summary> public static string ToString(hvec3 v, string sep, string format, IFormatProvider provider) => v.ToString(sep, format, provider);
/// <summary> /// Returns a string representation of this vector using a provided seperator and a format for each component. /// </summary> public static string ToString(hvec3 v, string sep, string format) => v.ToString(sep, format);
/// <summary> /// Returns a string representation of this vector using a provided seperator. /// </summary> public static string ToString(hvec3 v, string sep) => v.ToString(sep);
/// <summary> /// Returns a string representation of this vector using ', ' as a seperator. /// </summary> public static string ToString(hvec3 v) => v.ToString();