public void report_battles() { var dataAccess = new DataAccess(); dataAccess.AddBattles(A.Battle1, A.Battle2); // Only brutal battles { string[] result = new DataAccess().ReportBattles( new DateTime(1700, 1, 1), new DateTime(1900, 1, 1), true); CollectionAssert.AreEqual(new[] { "Battle 1 was a brutal battle within the period", }, result); } // Only friendly battles { string[] result = new DataAccess().ReportBattles( new DateTime(1700, 1, 1), new DateTime(1900, 1, 1), false); CollectionAssert.AreEqual(new[] { "Battle 2 was a friendly battle within the period" }, result); } // Both (note that third parameter is "null") { string[] result = new DataAccess().ReportBattles( new DateTime(1700, 1, 1), new DateTime(1900, 1, 1), null); CollectionAssert.AreEqual(new[] { "Battle 1 was a brutal battle within the period", "Battle 2 was a friendly battle within the period" }, result); } // Filtering by date { string[] result = new DataAccess().ReportBattles( new DateTime(1800, 1, 1), new DateTime(1900, 1, 1), null); CollectionAssert.AreEqual(new[] { "Battle 2 was a friendly battle within the period" }, result); } }