Пример #1
0
        protected override void Context()
        {
            _containerTask        = A.Fake <IContainerTask>();
            _objectBaseFactory    = A.Fake <IObjectBaseFactory>();
            _projectRetriever     = A.Fake <IMoBiProjectRetriever>();
            _eventPublisher       = A.Fake <IEventPublisher>();
            _cloneManagerForModel = A.Fake <ICloneManagerForModel>();
            _formulaTask          = A.Fake <IFormulaTask>();

            sut = new PassiveTransportConverter(_objectBaseFactory, _projectRetriever, _containerTask, _eventPublisher, _cloneManagerForModel, _formulaTask);

            A.CallTo(() => _containerTask.CreateUniqueName(A <IEnumerable <IWithName> > ._, A <string> ._, true))
            .ReturnsLazily(x => x.Arguments[1].ToString());

            _passiveTransportKinetic      = new ExplicitFormula("1+2");
            _moleculeWithPassiveTransport = new MoleculeBuilder().WithName("MOLECULE");
            _passiveTransport             = new TransportBuilder().WithName("PASSIVE TRANSPORT").WithFormula(_passiveTransportKinetic);
            _moleculeWithPassiveTransport.Add(_passiveTransport);
            _passiveTransports = new PassiveTransportBuildingBlock();
            _molecules         = new MoleculeBuildingBlock {
                _moleculeWithPassiveTransport
            }.WithName("MBB");
            _project = new MoBiProject();
            A.CallTo(() => _projectRetriever.Current).Returns(_project);
            A.CallTo(() => _eventPublisher.PublishEvent(A <ShowNotificationsEvent> ._))
            .Invokes(x => _showNotificationEvent = x.GetArgument <ShowNotificationsEvent>(0));
        }
Пример #2
0
        protected override void Context()
        {
            var dim = new Dimension();

            dim.AddUnit("mg", 1, 0);

            sut = new TransportBuilder()
                  .WithName("T1")
                  .WithDimension(dim)
                  .WithKinetic(new ConstantFormula(99));

            sut.AddParameter(new Parameter().WithName("P1").WithId("P1"));
            sut.Description = "Tralala";

            sut.SourceCriteria = new DescriptorCriteria();
            sut.SourceCriteria.Add(new MatchTagCondition("x"));
            sut.SourceCriteria.Add(new NotMatchTagCondition("y"));

            sut.TargetCriteria = new DescriptorCriteria();
            sut.TargetCriteria.Add(new MatchTagCondition("z"));
            sut.TargetCriteria.Add(new NotMatchTagCondition("t"));
            sut.TargetCriteria.Add(new NotMatchTagCondition("t2"));

            sut.TransportType = TransportType.Diffusion;
        }
Пример #3
0
 protected override void Context()
 {
     base.Context();
     _simulation = A.Fake <IMoBiSimulation>();
     _simulation.BuildConfiguration.Molecules         = _molecules;
     _simulation.BuildConfiguration.PassiveTransports = _passiveTransports;
     _clonedPassiveTransport = new TransportBuilder().WithName("PASSIVE TRANSPORT");
     A.CallTo(() => _cloneManagerForModel.Clone <ITransportBuilder>(_passiveTransport)).Returns(_clonedPassiveTransport);
 }
        protected override void Context()
        {
            base.Context();
            _applicationBuilder = new ApplicationBuilder();
            _applicationBuilder.SourceCriteria = Create.Criteria(x => x.With(_oldName));
            var appTransport = new TransportBuilder();

            appTransport.SourceCriteria = Create.Criteria(x => x.With(_oldName));
            appTransport.TargetCriteria = Create.Criteria(x => x.With(_oldName));
            _applicationBuilder.AddTransport(appTransport);
        }
        protected override void Context()
        {
            base.Context();
            var transportbuilder = new TransportBuilder().WithName("Trans");

            transportbuilder.AddMoleculeNameToExclude(_oldName);
            var transportbuilder2 = new TransportBuilder().WithName("Trans2");

            transportbuilder2.AddMoleculeName(_oldName);
            _test = new PassiveTransportBuildingBlock().WithName("Test");
            _test.Add(transportbuilder);
            _test.Add(transportbuilder2);
        }
        public void TestSerialization()
        {
            MoleculeBuilder x1 = CreateObject <MoleculeBuilder>().WithName("Monica.Builder");

            x1.IsFloating          = true;
            x1.QuantityType        = QuantityType.Metabolite;
            x1.DefaultStartFormula = CreateObject <ConstantFormula>().WithDimension(DimensionLength).WithValue(23.4);
            TransportBuilder t1                   = CreateObject <TransportBuilder>().WithName("Passive Transport");
            IFormula         consFormula          = CreateObject <ConstantFormula>().WithDimension(DimensionLength).WithValue(5);
            IParameter       transporterParameter = CreateObject <Parameter>().WithName("Passive Transport Param").WithFormula(consFormula).WithMode(ParameterBuildMode.Property)
                                                    .WithDimension(DimensionLength);

            t1.AddParameter(transporterParameter);
            IFormula           f1  = CreateObject <ExplicitFormula>().WithDimension(DimensionLength).WithFormulaString("3*Patty");
            IFormulaUsablePath fup = new FormulaUsablePath(new[] { "Patricia" }).WithAlias("Patty").WithDimension(DimensionLength);

            f1.AddObjectPath(fup);
            IParameter p1 = CreateObject <Parameter>().WithName("Patricia").WithFormula(f1).WithValue(3.1).WithMode(ParameterBuildMode.Property);
            IParameter p2 = CreateObject <Parameter>().WithName("Pascal").WithFormula(f1).WithValue(3.2).WithMode(ParameterBuildMode.Local);
            IParameter p3 = CreateObject <Parameter>().WithName("Paul").WithFormula(f1).WithValue(3.3);

            x1.AddParameter(p1);
            x1.AddParameter(p2);

            var atbc1 = CreateObject <TransporterMoleculeContainer>().WithName("Tranquilo");
            ITransportBuilder atb1 = CreateObject <TransportBuilder>();

            atb1.Formula = CreateObject <ConstantFormula>().WithDimension(DimensionLength).WithValue(2.5);
            atb1.AddParameter(p3);
            atb1.Name = "Tranquilo";
            atbc1.AddActiveTransportRealization(atb1);
            var atbc2 = CreateObject <TransporterMoleculeContainer>().WithName("Tranquilo2");
            ITransportBuilder atb2 = CreateObject <TransportBuilder>();

            atb2.Formula = f1;
            atb2.Name    = "Tranquilo2";
            atbc2.AddActiveTransportRealization(atb2);
            x1.AddTransporterMoleculeContainer(atbc1);
            x1.AddTransporterMoleculeContainer(atbc2);
            x1.IsXenobiotic = !x1.IsXenobiotic;


            var interactionContainer = CreateObject <InteractionContainer>().WithName("Interactions");

            x1.AddInteractionContainer(interactionContainer);

            var x2 = SerializeAndDeserialize(x1);

            AssertForSpecs.AreEqualMoleculeBuilder(x1, x2);
        }
        protected override void Context()
        {
            base.Context();
            var t1 = new TransportBuilder().WithName("Passive");

            t1.TargetCriteria = Create.Criteria(x => x.With("Liver").And.Not("Plasma"));

            var t2 = new TransportBuilder().WithName("Passive");

            t2.TargetCriteria = Create.Criteria(x => x.With("Liver").And.With("Plasma"));

            _object1 = t1;
            _object2 = t2;
        }
        protected override void Context()
        {
            base.Context();
            var t1 = new TransportBuilder().WithName("Passive");

            t1.ForAll = true;

            var t2 = new TransportBuilder().WithName("Passive");

            t2.ForAll = false;

            _object1 = t1;
            _object2 = t2;
        }
        protected override void Context()
        {
            base.Context();
            var t1 = new TransportBuilder().WithName("Passive");

            t1.ForAll = false;
            t1.AddMoleculeName("Drug");

            var t2 = new TransportBuilder().WithName("Passive");

            t2.ForAll = false;
            t2.AddMoleculeName("Metab");

            _object1 = t1;
            _object2 = t2;
        }
Пример #10
0
        protected override void Context()
        {
            base.Context();
            _passiveTransportBuildingBlock = new PassiveTransportBuildingBlock();
            var pt1 = new TransportBuilder().WithName("T1");

            new Parameter().WithName("LP").WithMode(ParameterBuildMode.Local).WithParentContainer(pt1);
            new Parameter().WithName("PP").WithMode(ParameterBuildMode.Property).WithParentContainer(pt1);
            new Parameter().WithName("GP").WithMode(ParameterBuildMode.Global).WithParentContainer(pt1);
            _passiveTransportBuildingBlock.Add(pt1);
            var pt2 = new TransportBuilder().WithName("T2");

            new Parameter().WithName("LP").WithMode(ParameterBuildMode.Local).WithParentContainer(pt2);
            new Parameter().WithName("PP").WithMode(ParameterBuildMode.Property).WithParentContainer(pt2);
            new Parameter().WithName("GP").WithMode(ParameterBuildMode.Global).WithParentContainer(pt2);
            _passiveTransportBuildingBlock.Add(pt2);
        }
Пример #11
0
        public void TestSerialization()
        {
            TransportBuilder x1 = CreateObject <TransportBuilder>().WithName("Acerola.Builder").WithDimension(DimensionLength);

            x1.Formula = CreateObject <ConstantFormula>().WithDimension(DimensionLength).WithValue(23.4);

            IFormula   f1 = CreateObject <ConstantFormula>().WithDimension(DimensionLength).WithValue(2.3);
            IParameter p1 = CreateObject <Parameter>().WithName("Patricia").WithFormula(f1).WithDimension(DimensionLength);

            x1.AddParameter(p1);
            x1.Name = "Tranquilo";
            x1.CreateProcessRateParameter      = true;
            x1.ProcessRateParameterPersistable = true;

            ITransportBuilder x2 = SerializeAndDeserialize(x1);

            AssertForSpecs.AreEqualTransportBuilder(x1, x2);
        }
Пример #12
0
        static void Main(string[] args)
        {
            TransportBuilder builder = new TransportBuilder();

            builder.CreateTransport("Honda").SetWheel(4).SetMaxSpeed(200);

            Transport honda = builder.GetTransport();

            Console.WriteLine(honda);

            Director director = new Director();

            Transport ferrari = director.CreateFerrari();
            Transport ducatti = director.CreateDucatti();

            Console.WriteLine(ferrari);
            Console.WriteLine(ducatti);

            Console.Read();
        }
Пример #13
0
        public void TestSerialization()
        {
            TransportBuilder x1 = CreateObject <TransportBuilder>().WithName("Priscilla.Builder").WithDimension(DimensionLength);

            x1.Formula = CreateObject <ConstantFormula>().WithDimension(DimensionLength).WithValue(23.4);
            x1.CreateProcessRateParameter = true;
            IFormula           f1  = CreateObject <ExplicitFormula>().WithDimension(DimensionLength).WithFormulaString("3*Patty");
            IFormulaUsablePath fup = new FormulaUsablePath(new[] { "Patricia" }).WithAlias("Patty").WithDimension(DimensionLength);

            f1.AddObjectPath(fup);
            //WithValue to avoid formula evaluation in McAssertForSpecs-comparison.
            IParameter p1 = CreateObject <Parameter>().WithName("Patricia").WithFormula(f1).WithValue(3.1);
            IParameter p2 = CreateObject <Parameter>().WithName("Pascal").WithFormula(f1).WithValue(3.2);

            x1.AddParameter(p1);
            x1.AddParameter(p2);

            ITransportBuilder x2 = SerializeAndDeserialize(x1);

            AssertForSpecs.AreEqualProcessBuilder(x1, x2);
        }
Пример #14
0
        protected override void Context()
        {
            base.Context();
            _passiveTransports2 = new PassiveTransportBuildingBlock();
            _project.AddBuildingBlock(_passiveTransports);
            _project.AddBuildingBlock(_passiveTransports2);
            _project.AddBuildingBlock(_molecules);

            var anotherMoleculeWithPassiveTransport = new MoleculeBuilder().WithName("MOLECULE");
            var molecules2 = new MoleculeBuildingBlock {
                anotherMoleculeWithPassiveTransport
            }.WithName("MBB2");
            var samePassiveTransport = new TransportBuilder().WithName("PASSIVE TRANSPORT").WithFormula(A.Fake <IFormula>());

            anotherMoleculeWithPassiveTransport.Add(samePassiveTransport);

            A.CallTo(() => _formulaTask.FormulasAreTheSame(_passiveTransportKinetic, samePassiveTransport.Formula)).Returns(true);

            A.CallTo(() => _cloneManagerForModel.Clone <ITransportBuilder>(_passiveTransport)).ReturnsLazily(x => new TransportBuilder().WithFormula(_passiveTransportKinetic));
            A.CallTo(() => _containerTask.CreateUniqueName(_passiveTransports, A <string> ._, true)).ReturnsLazily(x => x.Arguments[1].ConvertedTo <string>());
            _project.AddBuildingBlock(molecules2);
        }
Пример #15
0
        public void TestSerialization()
        {
            TransportBuilder x1 = CreateObject <TransportBuilder>().WithName("Passionata.Builder");

            x1.Formula = CreateObject <ConstantFormula>().WithDimension(DimensionLength).WithValue(23.4);


            x1.AddParameter(CreateObject <Parameter>().WithName("Patricia").WithValue(5.1));
            x1.TransportType  = TransportType.Diffusion;
            x1.SourceCriteria = new DescriptorCriteria {
                new MatchTagCondition("Venous")
            };
            x1.TargetCriteria = new DescriptorCriteria {
                new NotMatchTagCondition("Venous")
            };

            x1.MoleculeList.ForAll = !x1.MoleculeList.ForAll;
            x1.AddMoleculeName("A");
            x1.AddMoleculeNameToExclude("B");

            var x2 = SerializeAndDeserialize(x1);

            AssertForSpecs.AreEqualTransportBuilder(x1, x2);
        }
 public void Init()
 {
     transportBuilder = new SimpleInMemTransportBuilder();
 }
Пример #17
0
        private IStartableMessageBus Build()
        {
            var messageTypes  = MessageTypeConventions.ScanAssembliesForMessageTypes(assembliesToScan);
            var messageMapper = new MessageMapper();

            messageMapper.SetMessageTypeConventions(this.MessageTypeConventions);
            messageMapper.Initialize(messageTypes);
            var allMessageTypes = messageTypes.Concat(messageMapper.DynamicTypes);

            MessageSerializer = new XmlMessageSerializer(messageMapper);
            (MessageSerializer as XmlMessageSerializer).Initialize(messageTypes);

            this.MessageHandlers.AddAssembliesToScan(assembliesToScan);
            this.MessageHandlers.Init();
            if (executeTheseHandlersFirst.Any())
            {
                this.MessageHandlers.ExecuteTheseHandlersFirst(executeTheseHandlersFirst);
            }
            if (executeTheseHandlersLast.Any())
            {
                this.MessageHandlers.ExecuteTheseHandlersLast(executeTheseHandlersLast);
            }

            // Get endpoint mapping
            foreach (MessageEndpointMapping mapping in this.MessageEndpointMappingCollection)
            {
                try {
                    var messageType = Type.GetType(mapping.Messages, false);
                    if (messageType != null && MessageTypeConventions.IsMessageType(messageType))
                    {
                        typesToEndpoints[messageType] = mapping.Endpoint.Trim();
                        continue;
                    }
                } catch (Exception ex) {
                    Logger.Error("Problem loading message type: " + mapping.Messages, ex);
                }

                try {
                    var a = Assembly.Load(mapping.Messages);
                    foreach (var t in a.GetTypes().Where(t => MessageTypeConventions.IsMessageType(t)))
                    {
                        typesToEndpoints[t] = mapping.Endpoint.Trim();
                    }
                } catch (Exception ex) {
                    throw new ArgumentException("Problem loading message assembly: " + mapping.Messages, ex);
                }
            }

            var transport = TransportBuilder.Build();

            var messageDispatcher = new MessageDispatcher(ServiceLocator, this.MessageHandlers);
            var messageBus        = new UnicastMessageBus(messageMapper, transport, messageDispatcher);

            messageBus.MapMessageTypesToAddress(typesToEndpoints);

            var performanceCounters = new PerformanceCounters();

            messageBus.MessageReceived += performanceCounters.OnMessageReceived;
            messageBus.MessageSent     += performanceCounters.OnMessageSent;
            messageBus.MessageFailed   += performanceCounters.OnMessageFailure;
            messageBus.MessageHandled  += performanceCounters.OnMessageHandled;

            return(messageBus);
        }
 protected override void Context()
 {
     _builder = new TransportBuilder();
     sut      = new PassiveTransportBuilderToObjectBaseSummaryDTOMapper(new ObjectTypeResolver());
 }
Пример #19
0
 public void Init()
 {
     transportBuilder = new SimpleInMemTransportBuilder();
 }