protected override void Check() { var m = new Model(); m.AddRootComponent(new C2()); Tests.RaisesWith<UnboundRequiredPortException>(() => m.Seal(), e => e.RequiredPort.ShouldBe(m.Metadata.RootComponent.Subcomponents[0].Subcomponents[1].RequiredPorts[0])); }
protected override void Check() { var c = new C4(); var m = new Model(); m.AddRootComponent(c); m.Bind(c.RequiredPorts.M = c.ProvidedPorts.A); Tests.RaisesWith<AmbiguousBindingsException>(() => m.Seal(), e => e.RequiredPort.ShouldBe(m.Metadata.RootComponent.Subcomponents[0].RequiredPorts[0])); }
protected override void Check() { var c = new C1(); var m = new Model(); m.AddRootComponent(c); m.Seal(); m.Metadata.RootComponent.Subcomponents.ShouldBe(new[] { c.Metadata }); m.Metadata.Components.ShouldBe(new[] { m.Metadata.RootComponent, c.Metadata }); m.Metadata.RootComponent.Subcomponents[0].Name.ShouldBe("c"); m.Seal(); // Second call should have no effect m.Metadata.RootComponent.Subcomponents.ShouldBe(new[] { c.Metadata }); m.Metadata.Components.ShouldBe(new[] { m.Metadata.RootComponent, c.Metadata }); }
protected override void Check() { var c1 = new C2(); var c2 = new C2(); var c3 = new C3("name"); var c4 = new C2(); var m = new Model(); m.AddRootComponent(c1); m.AddRootComponents(c2, c3); m.AddRootComponents(c4); m.AddRootComponents(); // should have no effect m.Seal(); m.Metadata.RootComponent.Subcomponents.ShouldBe(new[] { c1.Metadata, c2.Metadata, c3.Metadata, c4.Metadata }); m.Metadata.Components.ShouldBe(new[] { m.Metadata.RootComponent, c1.Metadata, c2.Metadata, c3.Metadata, c4.Metadata }); m.Metadata.RootComponent.Subcomponents[0].Name.ShouldBe("c1"); m.Metadata.RootComponent.Subcomponents[1].Name.ShouldBe("c2"); m.Metadata.RootComponent.Subcomponents[2].Name.ShouldBe("name"); m.Metadata.RootComponent.Subcomponents[3].Name.ShouldBe("c4"); }
private static void AddRootComponent(Model m, Component c) { m.AddRootComponent(c); }