public void SimpleSchema() { var language = new LanguageSchemaBuilder().Add <DemoAgg>().Build(); var logic = new LogicSchemaBuilder(language) .Add <DemoAggLogic>() .Add <DemoSvc>() .Build(); var projection = new ProjectionSchemaBuilder(logic) .Add <DemoProjector>() .Build(); projection.Projectors.Count.ShouldBe(1); var prjInfo = projection.Projectors.Single(); prjInfo.Type.ShouldBe(typeof(DemoProjector)); prjInfo.Name.ShouldBe(nameof(DemoProjector)); prjInfo.Events.ShouldNotBeNull(); prjInfo.Events.Count.ShouldBe(1); var aggEventInfo = prjInfo.Events.Single(); aggEventInfo.Type.ShouldBe(typeof(DemoAggLogic.AggEvent)); aggEventInfo.Name.ShouldBe(nameof(DemoAggLogic.AggEvent)); }
public void EmptySchema() { var language = new LanguageSchemaBuilder().Build(); var logic = new LogicSchemaBuilder(language).Build(); var projection = new ProjectionSchemaBuilder(logic).Build(); projection.Projectors.ShouldNotBeNull(); projection.Projectors.ShouldBeEmpty(); }