public void CreateWordFreqList_ShouldReturnFrequencies_OneWordInEachLine() { var text = "abc\nabc\nefg"; var preparer = new Preparer(null); preparer.CreateWordFreqList(text).Should().BeEquivalentTo( new[] { new WordFrequency("abc", 2f / 3), new WordFrequency("efg", 1f / 3) }); }
public void CreateWordFreqList_ShouldSplitWords_PlainText() { var text = "abc abc efg\nefg xyz"; var preparer = new Preparer(new [] { "" }); preparer.CreateWordFreqList(text).Should().BeEquivalentTo( new[] { new WordFrequency("abc", 2f / 5), new WordFrequency("efg", 2f / 5), new WordFrequency("xyz", 1f / 5) }); }
public void CreateWordFreqList_ShouldSkipBoringWords_PlainText() { var boringWords = new[] { "abc" }; var text = "abc abc efg\nefg xyz"; var preparer = new Preparer(boringWords); preparer.CreateWordFreqList(text).Should().BeEquivalentTo( new[] { new WordFrequency("efg", 2f / 3), new WordFrequency("xyz", 1f / 3) }); }
public void Demo1() { var textPath = Path.Combine(Directory.GetCurrentDirectory(), "..", "..", "..", "text.txt"); var text = Reader.ReadFile(textPath); var preparer = new Preparer(new[] { "что", "если", "это", "как" }, word => word.Length > 3); var prepared = preparer.CreateWordFreqList(text, 200); var algorithm = AlgorithmFabric.Create(AlgorithmType.Exponential); var graphicalWords = algorithm(prepared); var painter = new Painter(FontFamily.GenericSansSerif, new RandomChoicePalette(new[] { Color.Peru, Color.Pink, Color.Green, Color.Red, Color.Blue, Color.Black }, Color.White), size => new CircularLayouter(size)); var img = painter.Paint(graphicalWords); var path = Path.Combine(Directory.GetCurrentDirectory(), "demo1.jpg"); Saver.SaveImage(img, path); Console.WriteLine($"Изображение сохранено в {path}"); }