public void AsAutomatonCompression()
        {
            var normalizedAutomaton = StringDictionaryWeightFunction.FromValues(NormalizedComplexDistributionTable).AsAutomaton();

            Assert.True(normalizedAutomaton.IsDeterministic());
            Assert.True(normalizedAutomaton.States.Count <= 23);
            var nonNormalizedAutomaton = StringDictionaryWeightFunction.FromValues(NonNormalizedComplexDistributionTable).AsAutomaton();

            Assert.True(nonNormalizedAutomaton.IsDeterministic());
            Assert.True(nonNormalizedAutomaton.States.Count <= 31);
        }
 public void AsAutomatonCorrectness()
 {
     Assert.True(StringDictionaryWeightFunction.FromValues(ZeroDistributionTable).AsAutomaton().IsZero());
     AssertAutomatonEqualsTable(
         NormalizedPointMassDistributionTable,
         StringDictionaryWeightFunction.FromValues(NormalizedPointMassDistributionTable).AsAutomaton());
     AssertAutomatonEqualsTable(
         NonNormalizedPointMassDistributionTable,
         StringDictionaryWeightFunction.FromValues(NonNormalizedPointMassDistributionTable).AsAutomaton());
     AssertAutomatonEqualsTable(
         NormalizedComplexDistributionTable,
         StringDictionaryWeightFunction.FromValues(NormalizedComplexDistributionTable).AsAutomaton());
     AssertAutomatonEqualsTable(
         NonNormalizedComplexDistributionTable,
         StringDictionaryWeightFunction.FromValues(NonNormalizedComplexDistributionTable).AsAutomaton());
 }