本文整理汇总了C#中Model.Seal方法的典型用法代码示例。如果您正苦于以下问题:C# Model.Seal方法的具体用法?C# Model.Seal怎么用?C# Model.Seal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Model
的用法示例。
在下文中一共展示了Model.Seal方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Simulator
/// <summary>
/// Initializes a new instance.
/// </summary>
/// <param name="model">The model that should be simulated.</param>
public Simulator(Model model)
{
Requires.NotNull(model, () => model);
_model = model;
_model.Seal();
}
示例2: Check
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 });
}
示例3: Check
protected override void Check()
{
var c = new C9();
var m = new Model();
m.AddRootComponents(c);
Tests.RaisesWith<InvalidHierarchyStructureException>(() => m.Seal(), e => e.Component.ShouldBe(c.Metadata));
}
示例4: Check
protected override void Check()
{
var m = new Model();
m.AddRootComponents(new C(1, 2, 3));
m.Seal();
m.Metadata.RootComponent.Subcomponents[0].Fields[0].InitialValues.ShouldBe(new object[] { 1, 2, 3 });
}
示例5: Check
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]));
}
示例6: Check
protected override void Check()
{
var m = new Model();
m.Seal();
Tests.RaisesWith<MetadataException>(() => AddRootComponent(m, new X()), e => e.Object.ShouldBe(m));
Tests.RaisesWith<MetadataException>(() => AddRootComponents(m, new X()), e => e.Object.ShouldBe(m));
}
示例7: Check
protected override void Check()
{
var z = new Z();
var m = new Model();
m.AddRootComponents(new X(z), new Y(z));
Tests.RaisesWith<InvalidBindingException>(() => m.Seal(),
e => e.Binding.ShouldBe(m.Metadata.RootComponent.Subcomponents[1].Bindings[0]));
}
示例8: Check
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]));
}
示例9: Check
protected override void Check()
{
var x = new X();
var y = new Y();
var m = new Model();
m.AddRootComponents(x, y);
m.Bind(y.RequiredPorts.M = x.ProvidedPorts.N);
m.Seal();
m.Metadata.Bindings.Length.ShouldBe(1);
}
示例10: Check
protected override void Check()
{
var c1 = new C1();
var c2 = new C2();
var m = new Model();
m.AddRootComponents(c1);
m.Seal();
//{
// var actual = (CtlFormula)(!c1.M == false);
// var expected = new StateFormula(
// new BinaryExpression(BinaryOperator.Equals,
// new UnaryExpression(UnaryOperator.Not,
// new MethodInvocationExpression(m.Metadata.RootComponent.Subcomponents[0].ProvidedPorts[0])),
// new BooleanLiteralExpression(false)));
// // TODO: Support properties
// //Check(actual, expected);
//}
//{
// var actual = (CtlFormula)(c1.M2);
// var expected = new StateFormula(new MethodInvocationExpression(m.Metadata.RootComponent.Subcomponents[0].ProvidedPorts[1]));
// // TODO: Support properties
// //Check(actual, expected);
//}
//{
// var actual = (CtlFormula)(c2.M2);
// var expected = new StateFormula(new MethodInvocationExpression(m.Metadata.RootComponent.Subcomponents[0].ProvidedPorts[3]));
// // TODO: Support properties
// //Check(actual, expected);
//}
//{
// var ic = c2;
// var actual = (CtlFormula)(ic.M2);
// var expected = new StateFormula(new MethodInvocationExpression(m.Metadata.RootComponent.Subcomponents[0].ProvidedPorts[3]));
// // TODO: Support properties
// //Check(actual, expected);
//}
//{
// var actual = (CtlFormula)(c2.M);
// var expected = new StateFormula(new MethodInvocationExpression(m.Metadata.RootComponent.Subcomponents[0].ProvidedPorts[2]));
// // TODO: Support properties
// //Check(actual, expected);
//}
}
示例11: Check
protected override void Check()
{
var x1 = new X1();
var x2 = new X2();
var m = new Model();
m.AddRootComponents(new X3(x1, x2));
m.Bind(x1.RequiredPorts.M = x2.ProvidedPorts.M);
m.Seal();
m.Metadata.Bindings.Length.ShouldBe(1);
}
示例12: Check
protected override void Check()
{
var x1 = new X1();
var x2 = new X2();
var m = new Model();
m.AddRootComponents(new X3(x1, x2));
m.Bind(x1.RequiredPorts.M = x2.ProvidedPorts.M);
m.Seal();
m.Metadata.Bindings[0].DeclaringComponent.ShouldBe(m.Metadata.RootComponent);
m.Metadata.Bindings[0].ProvidedPort.ShouldBe(x2.Metadata.ProvidedPorts[0]);
m.Metadata.Bindings[0].RequiredPort.ShouldBe(x1.Metadata.RequiredPorts[0]);
}
示例13: Check
protected override void Check()
{
var c1 = new C5();
var c2 = new C6();
var c3 = new C6();
var m = new Model();
m.AddRootComponents(c2, c1, c3);
m.Bind(c1.RequiredPorts.M = c2.ProvidedPorts.N);
m.Bind(c1.RequiredPorts.M = c3.ProvidedPorts.N);
Tests.RaisesWith<AmbiguousBindingsException>(() => m.Seal(),
e => e.RequiredPort.ShouldBe(m.Metadata.RootComponent.Subcomponents[1].RequiredPorts[0]));
}
示例14: Check
protected override void Check()
{
var c = new C();
var m = new Model();
m.AddRootComponents(c);
m.Seal();
var actual = Ltl.IsOccurring<C.F1>(c) | Ltl.IsOccurring<C.F2>(c);
var expected = new BinaryFormula(
new FaultOccurrenceFormula(c.Metadata.Faults[0]),
BinaryFormulaOperator.Or, PathQuantifier.None,
new FaultOccurrenceFormula(c.Metadata.Faults[1]));
Check(actual, expected);
}
示例15: Check
protected override void Check()
{
var c = new C();
var m = new Model();
m.AddRootComponents(c);
m.Seal();
LtlFormula actual = c.State == C.States.A;
var expected = new StateFormula(
new BinaryExpression(BinaryOperator.Equals,
new FieldExpression(c.Metadata.StateMachine.StateField),
new EnumerationLiteralExpression(C.States.A)));
Check(actual, expected);
}