public void Test_DoesTokenExist_TestNotExistingToken(
            [Values("abraham", "butts", "everything", "ostrich", "wow", "zit")] string searchText,
            [Values(0, 1, 2, 3, 4, 5)] int index
            )
        {
            var result = TokenManager.DoesTokenExist(searchText, token.ChildrenTokens, out var outIndex);

            Assert.IsFalse(result);
            Assert.AreEqual(index, outIndex);
        }
        public void Test_DoesTokenExist_TestExistingToken(
            [Values("alpha", "cat", "fart", "poop", "zeta")] string searchText,
            [Values(0, 1, 2, 3, 4)] int index
            )
        {
            var result = TokenManager.DoesTokenExist(searchText, token.ChildrenTokens, out var outIndex);

            Assert.IsTrue(result);
            Assert.AreEqual(index, outIndex);
        }
        public void Test_DoesTokenExist_TestNotExistingTokenLargeRoot(
            [Values("alex", "cats", "fate", "pope", "zapper")] string searchText,
            [Values(291, 1372, 3400, 10520, 16916)] int index
            )
        {
            var moqObject = mockTokenMemoryManager.Object;
            var start     = DateTime.Now.Ticks;
            var result    = TokenManager.DoesTokenExist(searchText, bigToken.ChildrenTokens, out var outIndex);

            var timeInMS = (DateTime.Now.Ticks - start) / (TimeSpan.TicksPerMillisecond * 1.0m);

            //Assert.Warn($"{searchText} completed, took: {timeInMS}ms");
            Assert.IsFalse(result);
            Assert.AreEqual(index, outIndex);
        }