// ReSharper restore InconsistentNaming // ReSharper disable InconsistentNaming private static int Main([NotNull] string[] args) { using (var mission_control = new MissionControl()) { CommandLineProgram<CompilerUserInteractionModel>.submit_missions_to(mission_control); CompileProjects.submit_missions_to(mission_control); mission_control.announce(new DoMyBidding(args)); return (int) mission_control.overlord_throne.watch_the_fools_dance(); } }
public void mission_control_should_execute_mission_parts_when_messages_arrive() { using (var test_subject = new MissionControl()) { test_subject.send_out_fools_to(orc_raid()); test_subject.announce(new ElvesFound()); test_subject.announce_and_wait(new SayGo(), TimeSpan.FromMinutes(100)) .Should() .BeTrue(); should_have_spawned_orcs(1); all_orcs_should_have_raided(); } }
public void mission_control_should_spawn_missions_parts_when_spawn_messages_arrive() { using (var test_subject = new MissionControl()) { var raid = orc_raid(); should_be_no_orcs(); test_subject.send_out_fools_to(raid); test_subject.announce(new ElvesFound()); test_subject.announce_and_wait(new ElvesFound(), TimeSpan.FromMilliseconds(100)) .Should() .BeTrue(); should_have_spawned_orcs(2); } }