public void TryParseSuccessTest(string value, int major, int minor, int revision, int build, bool isPtr)
    {
        Assert.IsTrue(HeroesDataVersion.TryParse(value, out HeroesDataVersion? result));
        Assert.AreEqual(major, result !.Major);
        Assert.AreEqual(minor, result.Minor);
        Assert.AreEqual(revision, result.Revision);
        Assert.AreEqual(build, result.Build);
        Assert.AreEqual(isPtr, result.IsPtr);

        Assert.IsTrue(HeroesDataVersion.TryParse(value.AsSpan(), out HeroesDataVersion? resultSpan));
        Assert.AreEqual(major, resultSpan !.Major);
        Assert.AreEqual(minor, resultSpan.Minor);
        Assert.AreEqual(revision, resultSpan.Revision);
        Assert.AreEqual(build, resultSpan.Build);
        Assert.AreEqual(isPtr, resultSpan.IsPtr);
    }
 public void TryParseFailTest(string?value)
 {
     Assert.IsFalse(HeroesDataVersion.TryParse(value, out HeroesDataVersion? _));
     Assert.IsFalse(HeroesDataVersion.TryParse(value.AsSpan(), out HeroesDataVersion? _));
 }