private static void Main(string[] args) { IEnumerable <string> quotesList = new string[] { "quote1", "quote2", "quote3", "quote4", "quote5", "quotes6" }; SimpleRandomQuoteProvider object1 = new SimpleRandomQuoteProvider(); DefaultRandomQuoteGenerator object2 = new DefaultRandomQuoteGenerator(quotesList); if (args.Length > 0) { Console.WriteLine("Number of quotes wanted (enter a number):" + args[0]); object1.printNumberofQuotes(Convert.ToInt64(args[0])); object2.printNumberofQuotes(Convert.ToInt64(args[0])); } else { Console.WriteLine("No command line arguments found."); } Console.ReadKey(); // test code to see if simpleRandomQuoteProvider and DefaultRandomQuoteGenerator works object1.printNumberofQuotes(3); Console.WriteLine("---------------------"); object2.printNumberofQuotes(4); }
public void TestGetSingleQuoteFive() { IEnumerable <string> lines = System.IO.File.ReadAllLines(@"..\..\quotes.txt"); DefaultRandomQuoteGenerator d = new DefaultRandomQuoteGenerator(lines); QuotesController q = new QuotesController(d); var actual1 = q.Get(5); Assert.That(actual1.Value.id, Is.EqualTo(5)); Assert.That(actual1.Value.quote, Is.EqualTo("You miss 100% of the shots you don’t take.")); Assert.That(actual1.Value.author, Is.EqualTo("Wayne Gretzky")); }
public void TestFindQuotesById() { IEnumerable <string> lines = System.IO.File.ReadAllLines(@"..\..\quotes.txt"); DefaultRandomQuoteGenerator d = new DefaultRandomQuoteGenerator(lines); var id = 5; string q = d.FindQuoteById(5); string a = d.FindAuthorById(5); Assert.That(id, Is.EqualTo(5)); Assert.That(q, Is.EqualTo("You miss 100% of the shots you don’t take.")); Assert.That(a, Is.EqualTo("Wayne Gretzky")); }
public void Test_Get_2() { IEnumerable <string> quoteList = System.IO.File.ReadLines(@"C:\Users\drayl20\source\repos\PleaseWork480b\quotable\quotable.core\quotesFile"); DefaultRandomQuoteGenerator generator = new DefaultRandomQuoteGenerator(quoteList); quotesController controller = new quotesController(generator); var actual = controller.Get(2.ToString()); //String instead of object Assert.That(actual.Value.id, Is.EqualTo(2.ToString())); Assert.That(actual.Value.quote, Is.EqualTo("Anything can happen in life, especially nothing")); Assert.That(actual.Value.author, Is.EqualTo("Michel Houellebecq")); }
public void Test_Get_1() { IEnumerable <string> quoteList = System.IO.File.ReadLines(@"C:\Users\drayl20\source\repos\PleaseWork480b\quotable\quotable.core\quotesFile"); DefaultRandomQuoteGenerator generator = new DefaultRandomQuoteGenerator(quoteList); quotesController controller = new quotesController(generator); var actual = controller.Get(1.ToString()); //String instead of object Assert.That(actual.Value.id, Is.EqualTo(1.ToString())); Assert.That(actual.Value.quote, Is.EqualTo("Never regret anything that made you smile")); Assert.That(actual.Value.author, Is.EqualTo("Mark Twain")); }
public void Test_Get_0() { IEnumerable <string> quoteList = System.IO.File.ReadLines(@"C:\Users\drayl20\source\repos\PleaseWork480b\quotable\quotable.core\quotesFile"); DefaultRandomQuoteGenerator generator = new DefaultRandomQuoteGenerator(quoteList); quotesController controller = new quotesController(generator); var actual = controller.Get(0.ToString()); //String instead of object Assert.That(actual.Value.id, Is.EqualTo(0.ToString())); Assert.That(actual.Value.quote, Is.EqualTo("You can get straight A's and still flunk life")); Assert.That(actual.Value.author, Is.EqualTo("Walker Percy")); }
public void Test_Random() { IEnumerable <string> quoteList = System.IO.File.ReadLines(@"C:\Users\drayl20\source\repos\PleaseWork480b\quotable\quotable.core\quotesFile"); DefaultRandomQuoteGenerator generator = new DefaultRandomQuoteGenerator(quoteList); randomController controller = new randomController(generator); var actual = controller.Get(); var id = actual.Value.id; var quote = generator.RetrieveQuoteById(id); var author = generator.RetrieveAuthorById(id); Assert.That(id, Is.EqualTo(actual.Value.id.ToString())); Assert.That(quote, Is.EqualTo(actual.Value.quote)); //Assert.That(author, Is.EqualTo(actual.Value.author)); }
public void TestGetRandomQuote() { IEnumerable <string> lines = System.IO.File.ReadAllLines(@"..\..\quotes.txt"); DefaultRandomQuoteGenerator d = new DefaultRandomQuoteGenerator(lines); RandomQuotesController q = new RandomQuotesController(d); var actual1 = q.Get(); var finalCount = 0; var count = 0; foreach (string l in lines) { if (actual1.Value.quote == d.FindQuoteById(count) && actual1.Value.author == d.FindAuthorById(count)) { finalCount++; } count++; } Assert.AreEqual(finalCount, 1); }
static void Main(string[] args) { SimpleRandomQuoteProvider threeQuotes = new SimpleRandomQuoteProvider(); Console.WriteLine("Enter a number of quotes to show."); Console.WriteLine(); // Quickly googled how to cast string to long, it will crash if the input isn't a number though. long N = long.Parse(Console.ReadLine()); threeQuotes.showQuotes(N); // Now time for DefaultRandomQuoteGenerator: Console.WriteLine(" Now using DefaultRandomQuoteGenerator, printing all 3 quotes:"); Console.WriteLine(); DefaultRandomQuoteGenerator someName = new DefaultRandomQuoteGenerator(theQuotes); Console.ReadLine(); }
public void TestGetAllQuotes() { IEnumerable <string> lines = System.IO.File.ReadAllLines(@"..\..\quotes.txt"); DefaultRandomQuoteGenerator d = new DefaultRandomQuoteGenerator(lines); QuotesController q = new QuotesController(d); var expected = 101; var count = 0; var actual1 = q.Get(); var finalCount = 0; foreach (QuotableData qd in actual1.Value) { if (qd.quote == d.FindQuoteById(count) && qd.author == d.FindAuthorById(count)) { finalCount++; } count++; } Assert.AreEqual(finalCount, expected); }
/// <summary> /// Main class the runs both parts of the program. /// The SimpleRandomQuoteProvider is run first after the long value is typed into the console. /// Afterwards, an IEnumerable reads the quotes.txt file, and the DefaultRandomQuoteGenerator is run. /// </summary> private void HW2() { SimpleRandomQuoteProvider s = new SimpleRandomQuoteProvider(); long N = long.Parse(Console.ReadLine()); foreach (string i in s.FindQuotes(N)) { Console.WriteLine(i); } Console.WriteLine("\nThese are the default quotes."); IEnumerable <string> lines = System.IO.File.ReadAllLines(@"..\..\quotes.txt"); DefaultRandomQuoteGenerator d = new DefaultRandomQuoteGenerator(lines); N = long.Parse(Console.ReadLine()); foreach (string i in d.FindQuotes(N)) { Console.WriteLine(i); } Console.WriteLine("End of Program HW1-2"); }
private static void PopulateDatabase(QuotableContext c) { IEnumerable <string> lines = System.IO.File.ReadAllLines(@"..\..\quotes.txt"); DefaultRandomQuoteGenerator d = new DefaultRandomQuoteGenerator(lines); var count = 0; foreach (string s in lines) { var author = new Author() { FirstName = d.FindAuthorFirstName(count), LastName = d.FindAuthorLastName(count) }; var quote = new Quote(); quote.quote = d.FindQuoteById(count); var qa = new QuoteAuthor() { quote = quote, Author = author }; c.AddRange(qa); count++; } c.SaveChanges(); }
public void Test_GetAll() { IEnumerable <string> quoteList = System.IO.File.ReadLines(@"C:\Users\drayl20\source\repos\PleaseWork480b\quotable\quotable.core\quotesFile"); DefaultRandomQuoteGenerator generator = new DefaultRandomQuoteGenerator(quoteList); quotesController controller = new quotesController(generator); int sizeOfList = 0; int count = 0; int actualCount = 0; var actual = controller.Get(); foreach (QuotableData quote in actual.Value) { sizeOfList++; if (quote.quote == generator.RetrieveQuoteById(count.ToString()) && quote.author == generator.RetrieveAuthorById(count.ToString())) { actualCount++; } count++; } Assert.AreEqual(actualCount, sizeOfList); }
/// <summary> /// Constructor for the controller object. /// </summary> /// <param name="gen"></param> public QuotesController(DefaultRandomQuoteGenerator gen) { generator = gen; }
public quotesController(DefaultRandomQuoteGenerator generator) { Generator = generator; }
/// <summary> /// Main creates an instance of SimpleRandomQuoteProvider named simple that /// then creates 7 simple quotes in SimpleRandomQuoteProvider from quotable.core /// /// Main then creates a DefaultRandomQuoteGenerator that prints out quotes /// from DefaultRandomQuoteGenerator in quotable.core /// </summary> /// <param name="args"></param> // [miko] // entering the world of async // see the stackoverflow entry below if your visual studio // is complaining about not finding a main method. // https://stackoverflow.com/a/44254451/167160 static async Task Main(string[] args) { SimpleRandomQuoteProvider simple = new SimpleRandomQuoteProvider(); foreach (var s in simple.getQuotes(7)) { Console.WriteLine(s); } string[] quo = new string[4] { "one", "two", "three", "four" }; DefaultRandomQuoteGenerator defaultRand = new DefaultRandomQuoteGenerator(quo); // [miko] // even in a plain console application, we can use the dependency injection functionality // provided by microsoft...it is not limited to only aspnet.core applications. var container = new ServiceCollection(); // setup to use a sqlite database container.AddDbContext <QuotableContext>(options => options.UseSqlite("Data Source=quote.db"), ServiceLifetime.Transient); // [miko] // getting a context that has already been disposed. // yup. // AddDbContext is implicitly scoped. // explicitly set the service lifetime // https://github.com/aspnet/EntityFrameworkCore/issues/4988 var provider = container.BuildServiceProvider(); using (var context = provider.GetService <QuotableContext>()) { // [miko] // good for testing // bad for production... await context.Database.EnsureDeletedAsync(); // [miko] // if the database doesn't exist it will be created // this should ideally only be run once in an application lifetime // this only ensure existence, this does not perform migrations. var dbDidntExist = await context.Database.EnsureCreatedAsync(); if (dbDidntExist) { await PopulateDatabase(context); } } using (var context = provider.GetService <QuotableContext>()) { var quotes = context.Quotes .Include(d => d.QuoteAuthor) .ThenInclude(x => x.Author); foreach (var quote in quotes) { Console.WriteLine($"quote.id = {quote.Id}"); Console.WriteLine($"quote.title = {quote.Body}"); foreach (var author in quote.Authors) { Console.WriteLine($"quote.author.id = {author.Id}"); Console.WriteLine($"quote.author.firstname = {author.FirstName}"); Console.WriteLine($"quote.author.firstname = {author.LastName}"); } Console.WriteLine(); } } Console.ReadKey(); }