Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Komponente zum generieren von Testdaten gesucht
Gelöschter Benutzer

Komponente zum generieren von Testdaten gesucht

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal am .
zommi
myCSharp.de - Member

Avatar #avatar-2617.png


Dabei seit:
Beiträge: 1.361
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Gelöschter Benutzer

beantworten | zitieren | melden

hey zoomi

auf Linq wäre ich garnicht gekommen :p warum eigentlich nicht

danke, ich schulde dir ein bier.
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 452
Herkunft: Bamberg

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von mosspower am .
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 6.843
Herkunft: Waidring

beantworten | zitieren | melden

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!"
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo mosspower,

siehe Pex: Automated White box Testing for .NET (Microsoft Research).

herbivore
private Nachricht | Beiträge des Benutzers