/// <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); }
/// <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()); }
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); }
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); }
public NetworkMapperNames(NetworkMapper mapper) { BusDependsOn = ReduceToNames(mapper.Simulation, mapper.BusDependsOn); DependsOnBus = ReduceToNames(mapper.Simulation, mapper.DependsOnBus); DependsOnClockedBus = ReduceToNames(mapper.Simulation, mapper.DependsOnClockedBus); }