Ich suche eine Komponente zum generieren von Testdaten am besten nicht auf einer Datenbank. Ich habe für .Net da nichts passendes gefunden.
Hat da jemand Erfahrung und kann mir was empfehlen?
Ein Traum wäre wenn ich sagen könnte generiere mir n Datumswerte
im Zeitraum 2004-2006 Montags-Freitags 8-16 Uhr gleichmässig verteilt.
Gibts das für .NET ?
Viele Grüsse
Sebastian
Hi Sebastian,
vielleicht hilft ja schon LINQ selbst weiter 😃
static IEnumerable<DateTime> EnumerateDateTimes(int startYear, int endYear, IList<DayOfWeek> possibleDays, int startHour, int endHour)
{
return Enumerable.Range(startYear, endYear-startYear+1)
.SelectMany(year => EnumerateDaysInYear(year, possibleDays, startHour, endHour));
}
static IEnumerable<DateTime> EnumerateDaysInYear(int year, IList<DayOfWeek> possibleDays, int startHour, int endHour)
{
return Enumerable.Range(1, 12)
.SelectMany(month => EnumerateDaysInMonth(year, month, possibleDays, startHour, endHour));
}
static IEnumerable<DateTime> EnumerateDaysInMonth(int year, int month, IList<DayOfWeek> possibleDays, int startHour, int endHour)
{
return Enumerable.Range(1, DateTime.DaysInMonth(year, month))
.Select(day =>new DateTime(year, month, day))
.Where(date => possibleDays.Contains(date.DayOfWeek))
.SelectMany(date => EnumerateHoursInDay(date, startHour, endHour));
}
static IEnumerable<DateTime> EnumerateHoursInDay(DateTime date, int startHour, int endHour)
{
return Enumerable.Range(startHour, endHour - startHour + 1)
.Select(hour => date + new TimeSpan(hour, 0, 0));
}
static void Main(string[] args)
{
var days = EnumerateDateTimes(
2004,
2006,
new[] { DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday },
8,
16).ToList();
foreach (DateTime day in days)
{
Console.WriteLine(day);
}
}
beste Grüße
zommi
Hallo,
ich krame den Thread mal wieder aus ... ist jetzt bald schon ein Jahr vergangen - Frage bleibt die gleiche.
Bevor ich anfange, das selbst zu coden wollte ich mich mal vergewissern ob es nicht (mittlerweile) ein geeignetes Tool gibt.
Ich möchte ein Tool, welches mir ein Objekt(graphen) mit Testdaten befüllt, welche ich konfigurieren kann.
Beispielsweise gibt es in einem Objekt ein Property Ort, dann möchte ich alle relevanten Orte, z.B. "Hamburg", "München", "Stuttgart" konfigurieren können, die zur Auswahl stehen oder bei Decimal-Properties Ranges angeben können usw.
Gruß und Danke für etwaige Antworten schon einmal im Voraus.
Hallo mosspower,
wenns um Test-Daten für Unit-Tests geht ist das NUnit sehr komfortabel mit zB TestCase-Attribute, TestCaseSource-Attribut, etc.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"