Ejemplo n.º 1
0
        public void LevelCorrectWhenModelIsLoadedUsingValue()
        {
            var model = new StringMarkov(3);

            model.Learn(ExampleData);
            model.Save(ModelFileName);

            var loaded = model.Load <StringMarkov>(ModelFileName, 2);

            Assert.AreEqual(2, loaded.Level);
        }
Ejemplo n.º 2
0
        public void CanSaveEmptyModel()
        {
            var model = new StringMarkov();

            model.Save(ModelFileName);

            var forLoading = new StringMarkov().Load <StringMarkov>(ModelFileName, model.Level);

            Assert.AreEqual(model.Level, forLoading.Level);
            Assert.AreEqual(model.SourceLines, forLoading.SourceLines);
        }
Ejemplo n.º 3
0
        public void SavedFileDoesntContainModelDictionary()
        {
            var model = new StringMarkov();

            model.Learn(ExampleData);
            model.Save(ModelFileName);

            string  fileContents = File.ReadAllText(ModelFileName);
            dynamic loaded       = JsonConvert.DeserializeObject <dynamic>(fileContents);

            Assert.IsNull(loaded.Model);
        }
Ejemplo n.º 4
0
        public void SavedFileContainsLevel()
        {
            var model = new StringMarkov();

            model.Learn(ExampleData);
            model.Save(ModelFileName);

            string  fileContents = File.ReadAllText(ModelFileName);
            dynamic loaded       = JsonConvert.DeserializeObject <dynamic>(fileContents);

            Assert.IsNotNull(loaded.Level);
            Assert.AreEqual(2, (int)loaded.Level);
        }
Ejemplo n.º 5
0
        public void CanLoadWithGivenLevel(int newLevel)
        {
            var model = new StringMarkov(1);

            model.Learn(ExampleData);
            model.Save(ModelFileName);

            var forLoading = new StringMarkov().Load <StringMarkov>(ModelFileName, newLevel);

            Assert.AreEqual(newLevel, forLoading.Level);
            Assert.AreEqual(model.SourceLines, forLoading.SourceLines);

            Assert.AreEqual(newLevel, forLoading.Model.Max(a => a.Key.Before.Length));
        }
Ejemplo n.º 6
0
        public void CanWalkLoadedModel()
        {
            var model = new StringMarkov(1);

            model.Learn(ExampleData);
            model.Save(ModelFileName);

            var newModel = new StringMarkov().Load <StringMarkov>(ModelFileName);

            var lines = newModel.Walk();

            Logger.Info(string.Join("\r\n", lines));
            Assert.AreEqual(1, lines.Count());
            Assert.That(lines.First(), Is.Not.Empty);
        }