Ejemplo n.º 1
0
        /// <summary>
        /// The top up.
        /// </summary>
        /// <param name="phoneNumber">
        /// The phone number.
        /// </param>
        /// <param name="amount">
        /// The amount.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        public bool TopUp(string phoneNumber, int amount)
        {
            var networkMapper = new NetworkMapper();

            this.NetworkHandler = networkMapper.GetNetworkHandler(phoneNumber);

            var response = this.NetworkHandler.TopUp(phoneNumber, amount);

            return(response.ResultCode == 200);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Render the specified processes into a dot file.
        /// </summary>
        /// <param name="simulation">The simulation setup to render.</param>
        /// <param name="file">The filename to write into.</param>
        public static void Render(Simulation simulation, string file)
        {
            var sb = new StringBuilder();

            sb.AppendFormat("digraph {0} {{", simulation.Processes.First().Instance.GetType().Assembly.GetName().Name);
            sb.AppendLine();

            var r = new NetworkMapper(simulation).ReduceToNames();

            foreach (var b in r.BusDependsOn.Keys.Concat(r.DependsOnBus.Keys).Concat(r.DependsOnClockedBus.Keys).Distinct())
            {
                sb.AppendFormat("\"{0}\" [shape=oval];{1}", b, Environment.NewLine);
            }

            foreach (var p in r.BusDependsOn.Values.Concat(r.DependsOnBus.Values).Concat(r.DependsOnClockedBus.Values).SelectMany(x => x).Select(n => n).Distinct())
            {
                sb.AppendFormat("\"{0}\" [shape=box];{1}", p, Environment.NewLine);
            }

            foreach (var b in r.BusDependsOn)
            {
                foreach (var p in b.Value)
                {
                    sb.AppendFormat("\"{0}\" -> \"{1}\";{2}", b.Key, p, Environment.NewLine);
                }
            }

            foreach (var b in r.DependsOnBus)
            {
                foreach (var p in b.Value)
                {
                    sb.AppendFormat("\"{1}\" -> \"{0}\";{2}", b.Key, p, Environment.NewLine);
                }
            }

            foreach (var b in r.DependsOnClockedBus)
            {
                foreach (var p in b.Value)
                {
                    sb.AppendFormat("\"{0}\" -> \"{1}\" [style=dotted];{2}", b.Key, p, Environment.NewLine);
                }
            }


            sb.AppendLine("}");

            File.WriteAllText(file, sb.ToString());
        }
Ejemplo n.º 3
0
        public void MapNetworkComponentsToNetworkOnSuccessReturnsNetwork()
        {
            //arrange
            var url           = "url";
            var name          = "name";
            var networkRecord = new NetworkRecord
            {
                Name = name,
                Url  = url
            };

            var nodeId = 1;
            var node   = new Mock <INode>();

            node.Setup(n => n.Id).Returns(nodeId);
            IDictionary <int, INode> nodes = new Dictionary <int, INode> {
                { nodeId, node.Object }
            };

            var cashFlowId = 3;
            var cashFlow   = new CashFlow {
                Id = cashFlowId
            };
            IList <CashFlow> cashFlows = new[] { cashFlow };

            var network = new Mock <INetwork>();

            network.SetupAllProperties();

            Func <INetwork> networkFactory = () => network.Object;

            var mapper = new NetworkMapper(null, null, networkFactory);

            //act
            var result = mapper.MapNetworkComponentsToNetwork(networkRecord, nodes, cashFlows);

            //assert
            Assert.AreEqual(name, result.Name);
            Assert.AreEqual(url, result.Url);
            Assert.AreEqual(nodeId, result.Nodes[nodeId].Id);
            Assert.AreEqual(cashFlowId, result.CashFlows[0].Id);
        }
Ejemplo n.º 4
0
        public void MapEntityToViewModelOnSuccessMapsProperties()
        {
            //arrange
            var url     = "url";
            var name    = "name";
            var network = new Mock <INetwork>();

            network.Setup(n => n.Url).Returns(url);
            network.Setup(n => n.Name).Returns(name);

            var nodeId = 1;
            var node   = new Mock <INode>();

            node.Setup(n => n.Id).Returns(nodeId);
            IDictionary <int, INode> nodes = new Dictionary <int, INode> {
                { nodeId, node.Object }
            };

            network.Setup(n => n.Nodes).Returns(nodes);

            var initialValue = 100D;
            var portfolio    = new Mock <IPortfolio>();

            portfolio.Setup(p => p.InitialValue).Returns(initialValue);
            network.Setup(n => n.Portfolio).Returns(portfolio.Object);

            var cashFlowId = 3;
            var cashFlow   = new CashFlow {
                Id = cashFlowId
            };
            IList <CashFlow> cashFlows = new[] { cashFlow };

            network.Setup(n => n.CashFlows).Returns(cashFlows);

            var nodeViewModel = new NodeViewModel {
                Id = nodeId
            };
            IDictionary <int, NodeViewModel> nodeViewModels = new Dictionary <int, NodeViewModel> {
                { nodeId, nodeViewModel }
            };
            var nodeMapper = new Mock <INodeMapper>();

            nodeMapper.Setup(m => m.MapNodesToViewModels(
                                 It.Is <IDictionary <int, INode> >(dict => dict[nodeId].Id == nodeId)))
            .Returns(nodeViewModels);

            var successProbability   = .5D;
            var successProbabilities = new[] { successProbability };
            var portfolioViewModel   = new PortfolioViewModel
            {
                SuccessProbabilities = successProbabilities
            };
            var portfolioMapper = new Mock <IPortfolioMapper>();

            portfolioMapper.Setup(m => m.MapPortfolioToViewModel(
                                      It.Is <IPortfolio>(p => p.InitialValue == initialValue)))
            .Returns(portfolioViewModel);

            var networkMapper = new NetworkMapper(nodeMapper.Object, portfolioMapper.Object, null);

            //act
            var result = networkMapper.MapNetworkToViewModel(network.Object);

            //assert
            Assert.AreEqual(url, result.Url);
            Assert.AreEqual(name, result.Name);
            Assert.AreEqual(nodeId, result.Nodes[nodeId].Id);
            Assert.AreEqual(successProbability, result.Portfolio.SuccessProbabilities[0]);
            Assert.AreEqual(cashFlowId, result.CashFlows[0].Id);
        }
Ejemplo n.º 5
0
 public NetworkMapperNames(NetworkMapper mapper)
 {
     BusDependsOn        = ReduceToNames(mapper.Simulation, mapper.BusDependsOn);
     DependsOnBus        = ReduceToNames(mapper.Simulation, mapper.DependsOnBus);
     DependsOnClockedBus = ReduceToNames(mapper.Simulation, mapper.DependsOnClockedBus);
 }