public void BuildDictionaryTest() { var reference = new Dictionary <string, long>() { { "w3", 3 }, { "w2", 2 }, { "w1", 1 }, }; var mockReader = new Mock <IInputReader>(); var mockWriter = new Mock <IOutputWriter>(); mockReader.Setup(r => r.ReadSource(null)).Returns(() => new List <string>() { "W1", "w2", "W2", "W3", "w3", "W3" }); var builder = new DictionaryBuilder(mockReader.Object, mockWriter.Object); var data = builder.BuildDictionary(null); Assert.IsTrue(reference.Count == data.Count); var refKeys = reference.Keys.ToArray(); var refValues = reference.Values.ToArray(); var dataKeys = data.Keys.ToArray(); var dataValues = data.Values.ToArray(); for (int i = 0; i < reference.Count; i++) { Assert.IsTrue(string.Equals(dataKeys[i], refKeys[i])); Assert.IsTrue(dataValues[i] == refValues[i]); } }
static void Main(string[] args) { var dictBuilder = new DictionaryBuilder(); dictBuilder.BuildDictionary(); // dictBuilder.ReadDictionary(); // Used this one if you already build the dictionary, which you can check in GeneratingConstant.DICT_PATH xml var generator = new Wordpress.Business.Generating.Generator(dictBuilder.Dictionary); // you can set the content size by adding param in this constructor, currently the default content size is 200 word. generator.Generate(20); // 20 is the number of generated content }
public void RandomBuildDictionaryTest() { long refLength = 10000; var generator = new RandomGenerator(); var mockReader = new Mock <IInputReader>(); var mockWriter = new Mock <IOutputWriter>(); mockReader.Setup(r => r.ReadSource(null)).Returns(() => generator.GetSequence(refLength)); var builder = new DictionaryBuilder(mockReader.Object, mockWriter.Object); var data = builder.BuildDictionary(null); var dataSummary = data.Values.Sum(); Assert.AreEqual(refLength, dataSummary); }