当前位置: 首页>>代码示例>>C#>>正文


C# Model.Seal方法代码示例

本文整理汇总了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();
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:11,代码来源:Simulator.cs

示例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 });
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:16,代码来源:single+root.cs

示例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));
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:8,代码来源:cyclic+graph.cs

示例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 });
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:8,代码来源:inline+construction.cs

示例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]));
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:8,代码来源:unbound+ports.cs

示例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));
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:8,代码来源:throws+when+sealed.cs

示例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]));
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:9,代码来源:non-subcomponent.cs

示例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]));
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:10,代码来源:ambiguous,+same+component.cs

示例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);
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:12,代码来源:different+roots.cs

示例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);
			//}
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:53,代码来源:property+access.cs

示例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);
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:12,代码来源:second+level.cs

示例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]);
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:14,代码来源:single+binding.cs

示例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]));
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:14,代码来源:ambiguous,+different+components.cs

示例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);
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:15,代码来源:fault.cs

示例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);
		}
开发者ID:cubeme,项目名称:safety-sharp,代码行数:15,代码来源:state.cs


注:本文中的Model.Seal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。