public void Configure_IncludeName_Specify_Data() { // Arrange var nameData = new NameData { FirstNameData = new List<IFirstNameData> { new FirstNameData { Gender = Gender.Female, Name = "Amy" } }, GenderFilter = GenderFilter.Female, LastNameData = new List<string> { "Jackson" } }; // Act var generator = Generator.Configure() .IncludeName(nameData) .Build(); // Assertfilter Assert.Equal(GenderFilter.Female, generator.Genders); Assert.True(generator.IncludeName); Assert.True(((Generator)generator).NameData.FirstNameData.Count() == 1); Assert.Equal(GenderFilter.Female, ((Generator)generator).NameData.GenderFilter); Assert.True(((Generator)generator).NameData.LastNameData.Count() == 1); }
internal void LoadInternalNameData(GenderFilter genderFilter) { string line; var firstNames = new List<IFirstNameData>(); var lastNames = new List<string>(); using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("EfficientlyLazy.IdentityGenerator.DataFiles.NamesFirst.data")) { if (stream == null) { throw new InvalidOperationException("NamesFirst.data Embedded Resource Not Found"); } using (var cr = new GZipStream(stream, CompressionMode.Decompress)) { using (var sr = new StreamReader(cr)) { while ((line = sr.ReadLine()) != null) { var parts = line.Split('|'); switch (parts[1]) { case "M": // Male firstNames.Add(new FirstNameData { Gender = Gender.Male, Name = parts[0] }); break; case "F": // Female firstNames.Add(new FirstNameData { Gender = Gender.Female, Name = parts[0] }); break; case "B": // Male or Female firstNames.Add(new FirstNameData { Gender = Gender.Male, Name = parts[0] }); firstNames.Add(new FirstNameData { Gender = Gender.Female, Name = parts[0] }); break; default: throw new InvalidOperationException(string.Format("Invalid Line: '{0}'", line)); } } } } } using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("EfficientlyLazy.IdentityGenerator.DataFiles.NamesLast.data")) { if (stream == null) { throw new InvalidOperationException("NamesLast.txt Embedded Resource Not Found"); } using (var cr = new GZipStream(stream, CompressionMode.Decompress)) { using (var sr = new StreamReader(cr)) { while ((line = sr.ReadLine()) != null) { lastNames.Add(line); } } } } NameData = new NameData { FirstNameData = firstNames, GenderFilter = genderFilter, LastNameData = lastNames }; }