1: [Subject("Fiktive Wareneingänge")]
2: public class Wenn_von_einer_Mappe_die_LZ_5T_die_BZ_1T_und
3: _das_BI_14T_sind_und_3_fWE_ab_heute_berechnet_werden_sollen
4: {
5: Establish context = () =>
6: {
7: Clock = new DummyClock();
8: Folder = new OrderProposalFolder { DeliveryPeriodInDays = 5,
9: HandlingTimeInDays = 1, OrderIntervalInDays = 14 };
10: Sut = new FictitiousIntakes(Clock);
11: };
12:
13: Because of = () =>
14: {
15: Actual = Sut.FromNow(Folder, 3);
16: };
17:
18: It dann_sollten_exakt_3_Datumsangaben_errechnet_werden = () => Actual.Count.ShouldEqual(3);
19: It dann_sollte_der_erste_fWE_in_6T_sein = () => Actual.Min().ShouldEqual(Clock.Today.AddDays(6));
20: It dann_sollte_der_zweite_fWE_in_21T_sein = () => Actual.ElementAt(1).ShouldEqual(Clock.Today.AddDays(21));
21: It dann_sollte_der_dritte_fWE_in_36T_sein = () => Actual.Max().ShouldEqual(Clock.Today.AddDays(36));
22:
23: static FictitiousIntakes Sut;
24: static OrderProposalFolder Folder;
25: static IList<DateTime> Actual;
26: static IClock Clock;
27: }
28:
29: [Subject("Fiktive Wareneingänge")]
30: public class Wenn_von_einer_Mappe_die_LZ_5T_die_BZ_1T_und_das_BI_14T_sind_
31: und_der_nächste_MT_übermorgen_ist_und_2_fWE_ab_dem_nächsten_MT_berechnet_werden_sollen
32: {
33: Establish context = () =>
34: {
35: Clock = new DummyClock();
36: Folder = new OrderProposalFolder {NextOrderDate = Clock.Now.AddDays(2) ,DeliveryPeriodInDays = 5,
37: HandlingTimeInDays = 1, OrderIntervalInDays = 14 };
38: Sut = new FictitiousIntakes(Clock);
39: };
40:
41: Because of = () =>
42: {
43: Actual = Sut.FromNextFolderDate(Folder, 2);
44: };
45:
46: It dann_sollten_exakt_2_Datumsangaben_errechnet_werden = () => Actual.Count.ShouldEqual(2);
47: It dann_sollte_der_erste_fWE_in_8T_sein = () => Actual.Min().ShouldEqual(Clock.Today.AddDays(8));
48: It dann_sollte_der_dritte_fWE_in_23T_sein = () => Actual.Max().ShouldEqual(Clock.Today.AddDays(23));
49:
50: static FictitiousIntakes Sut;
51: static OrderProposalFolder Folder;
52: static IList<DateTime> Actual;
53: static IClock Clock;
54: }