void UpdateTree(NodeWrapper root)
		{
			if (this.treeView.Root == null)
				this.treeView.Root = BuildNode(root);
			else
				UpdateNode(this.treeView.Root as XamlOutlineNode, root);
		}
        public void VerificationIsLatestVerification()
        {
            string xml = "<credit-card>"
                          + "<verifications>"
                          + "    <verification>"
                          + "        <created-at type=\"datetime\">2014-11-20T17:27:15Z</created-at>"
                          + "        <id>123</id>"
                          + "    </verification>"
                          + "    <verification>"
                          + "        <created-at type=\"datetime\">2014-11-20T17:27:18Z</created-at>"
                          + "        <id>932</id>"
                          + "    </verification>"
                          + "    <verification>"
                          + "        <created-at type=\"datetime\">2014-11-20T17:27:17Z</created-at>"
                          + "        <id>456</id>"
                          + "    </verification>"
                          + "</verifications>"
                        + "</credit-card>";

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);
            XmlNode newNode = doc.DocumentElement;

            var node = new NodeWrapper(newNode);

            var result = new ResultImpl<CreditCard>(node, gateway);

            Assert.AreEqual("932", result.Target.Verification.Id);
        }
 public UnknownPaymentMethod(NodeWrapper node)
 {
     Token = node.GetString("token");
     IsDefault = node.GetBoolean("default");
     ImageUrl = "https://assets.braintreegateway.com/payment_method_logo/unknown.png";
     CustomerId = node.GetString("customer-id");
 }
        public OAuthResult(NodeWrapper node)
        {
            if (node == null)
                return;

            Result = node.GetBoolean("success");
        }
 protected internal VenmoAccountDetails(NodeWrapper node)
 {
     Token = node.GetString("token");
     Username = node.GetString("username");
     VenmoUserId = node.GetString("venmo-user-id");
     ImageUrl = node.GetString("image-url");
     SourceDescription = node.GetString("source-description");
 }
 protected internal Descriptor(NodeWrapper node)
 {
     if (node != null)
     {
         Name = node.GetString("name");
         Phone = node.GetString("phone");
         Url = node.GetString("url");
     }
 }
        public void Setup()
        {
            gateway = new BraintreeGateway
            {
                //Environment = Environment.DEVELOPMENT,
                //MerchantId = "integration_merchant_id",
                //PublicKey = "integration_public_key",
                //PrivateKey = "integration_private_key"
            };

            XmlDocument attributesXml = CreateAttributesXml();
            attributes = new NodeWrapper(attributesXml).GetNode("//disbursement");
        }
		XamlOutlineNode BuildNode(NodeWrapper item)
		{
			XamlOutlineNode node = new XamlOutlineNode() {
				Name = item.Name,
				ElementName = item.ElementName,
				Marker = editor.Document.CreateAnchor(Utils.MinMax(item.StartOffset, 0, editor.Document.TextLength - 1)),
				EndMarker = editor.Document.CreateAnchor(Utils.MinMax(item.EndOffset, 0, editor.Document.TextLength - 1)),
				Editor = editor
			};
			
			foreach (var child in item.Children)
				node.Children.Add(BuildNode(child));
			
			return node;
		}
Beispiel #9
0
        public void SaveNode(NodeWrapper wrapper)
        {
            using (MySqlConnection connection = OpenConnection())
            {
                using (IDbTransaction transaction = connection.BeginTransaction())
                {
                    if (SaveWrapper(connection, wrapper))
                    {
                        int rootId = connection.Query <int>(@"SELECT `RootId` FROM `unno_node_wrapper` WHERE `NodeId` = @NodeId;",
                                                            new { NodeId = wrapper.NodeId }).Single();

                        SaveNode(connection, rootId, wrapper.Node, UNNO_TABLE_PREFIX, 0);
                        transaction.Commit();
                    }
                }
            }
        }
        public void GetEnum_ReturnsEnumValue()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
                         + "<outer-element>"
                         + "  <element>second</element>"
                         + "</outer-element>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode     node        = doc.DocumentElement;
            NodeWrapper nodeWrapper = new NodeWrapper(node);

            TestEnum value = nodeWrapper.GetEnum("element", TestEnum.UNRECOGNIZED);

            Assert.AreEqual(TestEnum.SECOND, value);
        }
        public void GetEnum_WhenDescriptionNotFound_ReturnsDefaultValue()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
                         + "<outer-element>"
                         + "  <element>invalid</element>"
                         + "</outer-element>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode     node        = doc.DocumentElement;
            NodeWrapper nodeWrapper = new NodeWrapper(node);

            TestEnum value = nodeWrapper.GetEnum("element", TestEnum.UNRECOGNIZED);

            Assert.AreEqual(TestEnum.UNRECOGNIZED, value);
        }
        public void NullableGetEnum_WhenDescriptionNotFound_AndDefaultIsOmitted_ReturnsNull()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
                         + "<outer-element>"
                         + "  <element>invalid</element>"
                         + "</outer-element>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode     node        = doc.DocumentElement;
            NodeWrapper nodeWrapper = new NodeWrapper(node);

            TestEnum?value = nodeWrapper.GetEnum <TestEnum>("invalid");

            Assert.Null(value);
        }
Beispiel #13
0
        /// <summary>
        /// 绘制GUI
        /// </summary>
        public static void DrawGUI()
        {
            // 注意:需要在OnGUI接口里调用
            InitGlobalStyle();

            GUILayout.BeginHorizontal();
            {
                // 绘制背景
                if (_visibleToggle && _bgTexture != null)
                {
                    GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), _bgTexture, ScaleMode.StretchToFill, true);
                }

                // 显示开关
                if (GUILayout.Button("X", GUIButtonStyle, GUILayout.Width(GUIButtonStyle.fixedHeight)))
                {
                    _visibleToggle = !_visibleToggle;
                }
                if (_visibleToggle == false)
                {
                    return;
                }

                // 绘制节点按钮
                _showIndex = GUILayout.Toolbar(_showIndex, _toolbarTitles, GUIToolbarStyle);
            }
            GUILayout.EndHorizontal();

            // 绘制选中节点的内容
            float scrollWidth  = Screen.width;
            float scrollHeight = Screen.height - GUIButtonStyle.fixedHeight - 10;

            _scrollPos = GUILayout.BeginScrollView(_scrollPos, GUILayout.Width(scrollWidth), GUILayout.Height(scrollHeight));
            {
                for (int i = 0; i < _wrappers.Count; i++)
                {
                    if (_showIndex != i)
                    {
                        continue;
                    }
                    NodeWrapper wrapper = _wrappers[i];
                    wrapper.Instance.OnGUI();
                }
            }
            GUILayout.EndScrollView();
        }
Beispiel #14
0
        public void AssignsMerchantId()
        {
            string xml = "<oauth-application-revocation>" +
                         "<merchant-id>abc123def</merchant-id>" +
                         "</oauth-application-revocation>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode newNode = doc.DocumentElement;

            var node = new NodeWrapper(newNode);

            OAuthAccessRevocation revocation = new OAuthAccessRevocation(node);

            Assert.AreEqual(revocation.MerchantId, "abc123def");
        }
Beispiel #15
0
        /*
         * public string TypeConverter(string sourceType)
         * {
         *  if (sourceType.ToLower() == "string")
         *      return "System.String";
         *
         *  if (sourceType.ToLower() == "bool")
         *      return "System.Boolean";
         *
         *  if (sourceType.ToLower() == "float")
         *      return "System.Single";
         *
         *  if (sourceType.ToLower() == "int")
         *      return "System.Int32";
         *
         *  LogStatus("Couldn't parse type: " + sourceType + ". Using default string type for this object", true);
         *  return "System.String";
         * }
         * */


        public void DeleteNodeFromNodeList(NodeWrapper node)
        {
            if (node.TypeOfNode == NodeType.MethodNode)
            {
                Methods.Remove(node);
            }

            if (node.TypeOfNode == NodeType.ConditionNode || node.TypeOfNode == NodeType.RootNode)
            {
                Triggers.Remove(node);
            }

            if (node.TypeOfNode == NodeType.VariableNode)
            {
                Variables.Remove(node);
            }
        }
Beispiel #16
0
        public void Constructor_populatesTransaction()
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(Payload_attributes());
            XmlNode newNode = doc.DocumentElement;

            var node   = new NodeWrapper(newNode);
            var result = new Dispute(node);

            Assert.AreEqual("new_transaction_id", result.Transaction.Id);
            Assert.AreEqual(101m, result.Transaction.Amount);
            Assert.IsNull(result.Transaction.OrderId);
            Assert.AreEqual("Visa", result.Transaction.PaymentInstrumentSubtype);
            Assert.IsNull(result.Transaction.PurchaseOrderNumber);
            Assert.AreEqual(DateTime.Parse("2017-06-21T20:44:41Z"), result.Transaction.CreatedAt);
        }
Beispiel #17
0
        public void Constructor_handlesEmptyFields()
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(Payload_attributesWithEmptyValues());
            XmlNode newNode = doc.DocumentElement;

            var node   = new NodeWrapper(newNode);
            var result = new Dispute(node);

            Assert.IsNull(result.Amount);
            Assert.IsNull(result.DateOpened);
            Assert.IsNull(result.DateWon);
            Assert.IsEmpty(result.Evidence);
            Assert.IsNull(result.ReplyByDate);
            Assert.IsEmpty(result.StatusHistory);
        }
Beispiel #18
0
        /// <summary>
        /// Creates a new segment. See <see cref="CreateNode(Vector3, NetInfo)"/>, <see cref="CreateNode(Vector3, string)"/>
        /// </summary>
        /// <param name="startNode">A created start <see cref="NetNode"/></param>
        /// <param name="endNode">A end start <see cref="NetNode"/></param>
        /// <param name="netPrefab">A <see cref="NetInfo"/> object</param>
        /// <returns>A new <see cref="SegmentWrapper"/> object</returns>
        /// <exception cref="NetCreationException">When the node is not be created</exception>
        public static SegmentWrapper CreateSegment(NodeWrapper startNode, NodeWrapper endNode, NetInfo netPrefab)
        {
            if (!TryCreateSegment(startNode.Id, startNode.Position, endNode.Id, endNode.Position, netPrefab, out ushort segmentId))
            {
                var pos1 = $"({startNode.Position.x},{startNode.Position.y},{startNode.Position.z})";
                var pos2 = $"({endNode.Position.x},{endNode.Position.y},{endNode.Position.z})";

                throw new NetCreationException($"Cannot create road {netPrefab.name}. Error creating segment ({pos1},{pos2})");
            }

            return(new SegmentWrapper()
            {
                Id = segmentId,
                StartPosition = startNode,
                EndPosition = endNode,
                Road = netPrefab
            });
        }
Beispiel #19
0
        /// <summary>
        /// 初始化控制台
        /// </summary>
        public static void Init()
        {
            // 加载背景纹理
            _bgTexture = Resources.Load <Texture>("builtin_background");
            if (_bgTexture == null)
            {
                UnityEngine.Debug.LogWarning("Not found builtin_background texture in Resources folder.");
            }

            // 获取所有调试类
            List <Type> allTypes = AssemblyUtility.GetAssignableAttributeTypes(typeof(IDebugWindow), typeof(DebugAttribute));

            for (int i = 0; i < allTypes.Count; i++)
            {
                DebugAttribute attribute = (DebugAttribute)Attribute.GetCustomAttribute(allTypes[i], typeof(DebugAttribute));
                NodeWrapper    wrapper   = new NodeWrapper()
                {
                    ClassType = allTypes[i],
                    Title     = attribute.Title,
                    Priority  = attribute.Order,
                };
                _wrappers.Add(wrapper);
            }

            // 根据优先级排序
            _wrappers.Sort();

            // 创建实例类
            for (int i = 0; i < _wrappers.Count; i++)
            {
                NodeWrapper wrapper = _wrappers[i];
                wrapper.Instance = (IDebugWindow)Activator.CreateInstance(wrapper.ClassType);
                wrapper.Instance.OnInit();
            }

            // 标题列表
            List <string> titles = new List <string>();

            for (int i = 0; i < _wrappers.Count; i++)
            {
                titles.Add(_wrappers[i].Title);
            }
            _toolbarTitles = titles.ToArray();
        }
Beispiel #20
0
        public void DeserializesNetworkTransactionIdFromXml()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                         "<transaction>\n" +
                         "  <network-transaction-id>123456789012345</network-transaction-id>\n" +
                         "  <disbursement-details></disbursement-details>\n" +
                         "  <subscription></subscription>\n" +
                         "</transaction>\n";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode newNode = doc.DocumentElement;
            var     node    = new NodeWrapper(newNode);

            Transaction transaction = new Transaction(node, gateway);

            Assert.AreEqual("123456789012345", transaction.NetworkTransactionId);
        }
        public void ParseThreeDSecureInfo()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                         "<payment-method-nonce>" +
                         "  <type>CreditCard</type>" +
                         "  <nonce>fake-valid-nonce</nonce>" +
                         "  <description>ending in 22</description>" +
                         "  <consumed type=\"boolean\">false</consumed>" +
                         "  <three-d-secure-info>" +
                         "    <enrolled>Y</enrolled>" +
                         "    <status>authenticate_successful</status>" +
                         "    <liability-shifted>true</liability-shifted>" +
                         "    <liability-shift-possible>true</liability-shift-possible>" +
                         "    <cavv>cavv-value</cavv>" +
                         "    <xid>xid-value</xid>" +
                         "    <ds-transaction-id>ds-trx-id-value</ds-transaction-id>" +
                         "    <eci-flag>06</eci-flag>" +
                         "    <three-d-secure-version>2.0.1</three-d-secure-version>" +
                         "  </three-d-secure-info>" +
                         "  <details nil=\"true\"/>" +
                         "</payment-method-nonce>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode newNode = doc.DocumentElement;

            var node = new NodeWrapper(newNode);

            var result           = new ResultImpl <PaymentMethodNonce>(node, gateway);
            var threeDSecureInfo = result.Target.ThreeDSecureInfo;

            Assert.IsNotNull(result.Target.ThreeDSecureInfo);
            Assert.AreEqual("Y", threeDSecureInfo.Enrolled);
            Assert.AreEqual("authenticate_successful", threeDSecureInfo.Status);
            Assert.IsTrue(threeDSecureInfo.LiabilityShifted);
            Assert.IsTrue(threeDSecureInfo.LiabilityShiftPossible);
            Assert.AreEqual("cavv-value", threeDSecureInfo.Cavv);
            Assert.AreEqual("xid-value", threeDSecureInfo.Xid);
            Assert.AreEqual("ds-trx-id-value", threeDSecureInfo.DsTransactionId);
            Assert.AreEqual("06", threeDSecureInfo.EciFlag);
            Assert.AreEqual("2.0.1", threeDSecureInfo.ThreeDSecureVersion);
        }
        public void ParsesNodeCorrectlyWithoutScaIndicator()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                         "<authentication-insight>" +
                         "  <regulation-environment>bar</regulation-environment>" +
                         "</authentication-insight>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode newNode = doc.DocumentElement;

            var node = new NodeWrapper(newNode);

            var result = new ResultImpl <AuthenticationInsightResponse>(node, gateway);

            Assert.IsNotNull(result.Target);
            Assert.AreEqual(null, result.Target.ScaIndicator);
            Assert.AreEqual("bar", result.Target.RegulationEnvironment);
        }
Beispiel #23
0
        public void SaveNode(NodeWrapper wrapper)
        {
            NodeWrapper4Mongo wrapper4Mongo = new NodeWrapper4Mongo(wrapper);
            var reload = LoadNode(wrapper.NodeId);

            if (reload != null)
            {
                if (reload.Version != wrapper.Version)
                {
                    throw new ConcurrencyException(wrapper.NodeId.ToString());
                }
                wrapper4Mongo.Id      = (reload as NodeWrapper4Mongo).Id;
                wrapper4Mongo.Version = wrapper4Mongo.Version + 1;
            }
            Converter converter = new Converter(_options.JsonSingleChildAsCollection);

            wrapper4Mongo.Data = converter.NodeToSerializableObject(wrapper.Node);
            wrapper4Mongo.Node = null;
            _proxy.Node.Save(wrapper4Mongo);
        }
        public void Ids_ReturnsEmptyListWhenNoIds()
        {
            string body = @"<search-results>
                              <page-size>2</page-size>
                              <ids type='array'>
                              </ids>
                            </search-results>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(body);
            NodeWrapper xml = new NodeWrapper(doc.ChildNodes[0]);

            ResourceCollection <string> resourceCollection = new ResourceCollection <string>(xml,
                                                                                             ids => new List <string>());

            List <string> assertIds = new List <string>();

            Assert.AreEqual(resourceCollection.Ids, assertIds);
        }
Beispiel #25
0
        public void ResourceCollection_IteratesOverCollectionsProperly()
        {
            string body = @"<search-results>
                              <page-size>2</page-size>
                              <ids type='array'>
                                <items>0</items>
                                <items>1</items>
                                <items>2</items>
                                <items>3</items>
                                <items>4</items>
                              </ids>
                            </search-results>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(body);
            NodeWrapper xml = new NodeWrapper(doc.ChildNodes[0]);

            ResourceCollection <string> resourceCollection = new ResourceCollection <string>(xml, delegate(string[] ids) {
                List <string> results = new List <string>();

                foreach (string id in ids)
                {
                    results.Add(values[int.Parse(id)]);
                }

                return(results);
            });

            int index = 0;
            int count = 0;

            foreach (string item in resourceCollection)
            {
                Assert.AreEqual(values[index], item);
                index++;
                count++;
            }

            Assert.AreEqual(values.Length, count);
        }
Beispiel #26
0
        public void DeserializesNetworkResponseCodeAndTextFromXml()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                         "<transaction>\n" +
                         "  <network-response-code>00</network-response-code>\n" +
                         "  <network-response-text>Approved</network-response-text>\n" +
                         "  <disbursement-details></disbursement-details>\n" +
                         "  <subscription></subscription>\n" +
                         "</transaction>\n";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode newNode = doc.DocumentElement;
            var     node    = new NodeWrapper(newNode);

            Transaction transaction = new Transaction(node, gateway);

            Assert.AreEqual("00", transaction.NetworkResponseCode);
            Assert.AreEqual("Approved", transaction.NetworkResponseText);
        }
Beispiel #27
0
        public void Constructor_newAttributes()
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(Payload_attributes());
            XmlNode newNode = doc.DocumentElement;

            var node   = new NodeWrapper(newNode);
            var result = new Dispute(node);

            Assert.AreEqual("12345678", result.Id);
            Assert.AreEqual(101m, result.Amount);
            Assert.AreEqual("USD", result.CurrencyIsoCode);
            Assert.AreEqual(DisputeReason.FRAUD, result.Reason);
            Assert.AreEqual(DisputeStatus.OPEN, result.Status);
            Assert.AreEqual("new_transaction_id", result.TransactionDetails.Id);
            Assert.AreEqual("101.00", result.TransactionDetails.Amount);
            Assert.AreEqual(DateTime.Parse("2014-03-28"), result.DateOpened);
            Assert.AreEqual(DateTime.Parse("2014-04-05"), result.DateWon);
            Assert.AreEqual(DisputeKind.CHARGEBACK, result.Kind);
        }
Beispiel #28
0
        static NodeWrapper addReverseRecur(Node n1, Node n2)
        {
            if (n1 == null && n2 == null)
            {
                return(new NodeWrapper(0, null));
            }

            NodeWrapper wrapper = addReverseRecur(n1.next, n2.next);
            int         result  = wrapper.carry + n1.data + n2.data;
            int         carry   = 0;

            if (result >= 10)
            {
                result -= 10;
                carry   = 1;
            }
            Node current = new Node(result);

            current.next = wrapper.n;
            return(new NodeWrapper(carry, current));
        }
Beispiel #29
0
        public NodeWrapper LoadNode(Guid id)
        {
            NodeWrapper      wrapper     = null;
            int              rootId      = 0;
            UnitWrapper      unitWrapper = null;
            List <NodeTable> tables      = new List <NodeTable>();

            using (MySqlConnection connection = OpenConnection())
            {
                using (var cmd = connection.CreateCommand())
                {
                    cmd.CommandText = @"SELECT `NodeId`, `UnitId`, `RootId`, `Version`, `UpdateAt` FROM `unno_node_wrapper` WHERE `NodeId` = @NodeId;";
                    cmd.Parameters.AddWithValue("@NodeId", id);
                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            wrapper          = new NodeWrapper();
                            rootId           = (int)reader["RootId"];
                            wrapper.NodeId   = id;
                            wrapper.UnitId   = Guid.Parse(reader["UnitId"].ToString());
                            wrapper.Version  = (int)reader["Version"];
                            wrapper.UpdateAt = (DateTime)reader["UpdateAt"];
                        }
                    }
                }
                if (wrapper != null)
                {
                    unitWrapper = _unitRepository.LoadUnit(wrapper.UnitId);
                    LoadDataFromDB(connection, rootId, unitWrapper.Unit, UNNO_TABLE_PREFIX, tables);
                }
            }

            if (wrapper == null)
            {
                return(null);
            }
            wrapper.Node = BuildNode(unitWrapper.Unit, tables, UNNO_TABLE_PREFIX, 0);
            return(wrapper);
        }
        public void Generate_CanBeGroupedByACustomField()
        {
            TransactionRequest request = new TransactionRequest
            {
                Amount     = 1000M,
                CreditCard = new TransactionCreditCardRequest
                {
                    Number         = "4111111111111111",
                    ExpirationDate = "05/2012",
                    CardholderName = "Tom Smith",
                },
                Options = new TransactionOptionsRequest
                {
                    SubmitForSettlement = true
                },
                CustomFields = new Dictionary <string, string>
                {
                    { "store_me", "custom value" }
                }
            };

            Transaction transaction      = gateway.Transaction.Sale(request).Target;
            NodeWrapper settlementResult = TestHelper.Settle(service, transaction.Id);
            var         settlementDate   = settlementResult.GetString("/transaction/settlement-batch-id").Split('_')[0];

            transaction = gateway.Transaction.Find(transaction.Id);

            var result       = gateway.SettlementBatchSummary.Generate(System.DateTime.Parse(settlementDate), "store_me");
            var customValues = new List <IDictionary <string, string> >();

            foreach (var row in result.Target.Records)
            {
                if ("custom value".Equals(row["store_me"]))
                {
                    customValues.Add(row);
                }
            }

            Assert.AreEqual(1, customValues.Count);
        }
        public void ResourceCollection_IteratesOverCollectionsProperly()
        {
            string body = @"<search-results>
                              <page-size>2</page-size>
                              <ids type='array'>
                                <items>0</items>
                                <items>1</items>
                                <items>2</items>
                                <items>3</items>
                                <items>4</items>
                              </ids>
                            </search-results>";

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(body);
            NodeWrapper xml = new NodeWrapper(doc.ChildNodes[0]);

            ResourceCollection<string> resourceCollection = new ResourceCollection<string>(xml, delegate(string[] ids) {
                List<string> results = new List<string>();

                foreach (string id in ids)
                {
                    results.Add(values[int.Parse(id)]);
                }

                return results;
            });

            int index = 0;
            int count = 0;
            foreach (string item in resourceCollection)
            {
                Assert.AreEqual(values[index], item);
                index++;
                count++;
            }

            Assert.AreEqual(values.Length, count);
        }
        public void ParsesNodeCorrectlyWithPayPalDetails()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                         "<payment-method-nonce>" +
                         "  <type>PayPalAccount</type>" +
                         "  <nonce>fake-paypal-account-nonce</nonce>" +
                         "  <description></description>" +
                         "  <consumed type=\"boolean\">false</consumed>" +
                         "  <details>" +
                         "    <payer-info>" +
                         "      <email>[email protected]</email>" +
                         "      <first-name>first</first-name>" +
                         "      <last-name>last</last-name>" +
                         "      <payer-id>pay-123</payer-id>" +
                         "      <country-code>US</country-code>" +
                         "    </payer-info>" +
                         "  </details>" +
                         "</payment-method-nonce>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode newNode = doc.DocumentElement;

            var node = new NodeWrapper(newNode);

            var result = new ResultImpl <PaymentMethodNonce>(node, gateway);

            Assert.IsNotNull(result.Target);
            Assert.AreEqual("fake-paypal-account-nonce", result.Target.Nonce);
            Assert.AreEqual("PayPalAccount", result.Target.Type);
            Assert.IsNotNull(result.Target.Details);
            Assert.IsNotNull(result.Target.Details.PayerInfo);
            Assert.AreEqual("*****@*****.**", result.Target.Details.PayerInfo.Email);
            Assert.AreEqual("first", result.Target.Details.PayerInfo.FirstName);
            Assert.AreEqual("last", result.Target.Details.PayerInfo.LastName);
            Assert.AreEqual("pay-123", result.Target.Details.PayerInfo.PayerId);
            Assert.AreEqual("US", result.Target.Details.PayerInfo.CountryCode);
        }
Beispiel #33
0
        private void newNodeBtn_Click(object sender, EventArgs e)
        {
            INode newNode = _dependencyMapper.CreateNode();

            newNode.UpdateName("New Node");
            newNode.UpdateCategory(DefaultCategory);

            if (nodesListCategoryFilter.Text != NodesListCategoryFilterAll &&
                nodesListCategoryFilter.Text != NodesListCategoryFilterCustom)
            {
                newNode.UpdateCategory(nodesListCategoryFilter.Text);
            }

            var uiNode = new NodeWrapper(newNode);

            nodesList.Items.Add(uiNode);

            nodesList.ClearSelected();
            nodesList.SelectedItem = uiNode;

            nodeNameTxtBox.Focus();
        }
Beispiel #34
0
        public void Constructor_populatesNewFields()
        {
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(Payload_attributes());
            XmlNode newNode = doc.DocumentElement;

            var node   = new NodeWrapper(newNode);
            var result = new Dispute(node);

            Assert.AreEqual(101m, result.AmountDisputed);
            Assert.AreEqual(95m, result.AmountWon);
            Assert.AreEqual("CASE-12345", result.CaseNumber);
            Assert.AreEqual(DateTime.Parse("2017-06-16"), result.CreatedAt);
            Assert.AreEqual("Processor comments", result.ProcessorComments);
            Assert.AreEqual("abc123", result.MerchantAccountId);
            Assert.AreEqual("original_dispute_id", result.OriginalDisputeId);
            Assert.AreEqual("83", result.ReasonCode);
            Assert.AreEqual("Reason code 83 description", result.ReasonDescription);
            Assert.AreEqual("123456", result.ReferenceNumber);
            Assert.AreEqual(DateTime.Parse("2013-04-10"), result.UpdatedAt);
            Assert.AreEqual(DisputeStatus.OPEN, result.StatusHistory[0].Status);
            Assert.AreEqual(DateTime.Parse("2013-04-10T10:50:39Z"), result.StatusHistory[0].Timestamp);
            Assert.AreEqual(DateTime.Parse("2013-04-10"), result.StatusHistory[0].EffectiveDate);
            Assert.AreEqual("message", result.PayPalMessages[0].Message);
            Assert.AreEqual("seller", result.PayPalMessages[0].Sender);
            Assert.AreEqual(DateTime.Parse("2013-04-10T10:50:39Z"), result.PayPalMessages[0].SentAt);
            Assert.AreEqual("evidence1", result.Evidence[0].Id);
            Assert.AreEqual("url_of_file_evidence", result.Evidence[0].Url);
            Assert.AreEqual(DateTime.Parse("2013-04-10T10:50:39Z"), result.Evidence[0].CreatedAt);
            Assert.IsNull(result.Evidence[0].Comment);
            Assert.IsNull(result.Evidence[0].SentToProcessorAt);
            Assert.AreEqual("evidence2", result.Evidence[1].Id);
            Assert.AreEqual("text evidence", result.Evidence[1].Comment);
            Assert.AreEqual(DateTime.Parse("2013-04-10T10:50:39Z"), result.Evidence[1].CreatedAt);
            Assert.AreEqual(DateTime.Parse("2009-04-11"), result.Evidence[1].SentToProcessorAt);
            Assert.IsNull(result.Evidence[1].Url);
        }
Beispiel #35
0
        public void SaveNode(NodeWrapper wrapper)
        {
            NodeWrapper4File wrapper4File = new NodeWrapper4File(wrapper);
            var reload = LoadNode(wrapper.NodeId);

            if (reload != null)
            {
                if (reload.Version != wrapper.Version)
                {
                    throw new ConcurrencyException(wrapper.NodeId.ToString());
                }
                wrapper4File.Version = reload.Version + 1;
            }
            if (_options.JsonNormalize)
            {
                Converter converter = new Converter(_options.JsonSingleChildAsCollection);
                wrapper4File.Data = converter.NodeToSerializableObject(wrapper.Node);
                wrapper4File.Node = null;
            }
            string json = JsonConvert.SerializeObject(wrapper4File, Formatting.Indented, _settings);

            System.IO.File.WriteAllText(Path.Combine(_nodePath, wrapper.NodeId.ToString()), json, Encoding.UTF8);
        }
        public void ParseAuthenticationInsights()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                         "<payment-method-nonce>" +
                         "  <authentication-insight>" +
                         "    <regulation-environment>bar</regulation-environment>" +
                         "    <sca-indicator>foo</sca-indicator>" +
                         "  </authentication-insight>" +
                         "</payment-method-nonce>";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode newNode = doc.DocumentElement;

            var node = new NodeWrapper(newNode);

            var result = new ResultImpl <PaymentMethodNonce>(node, gateway);

            Assert.IsNotNull(result.Target);
            Assert.AreEqual("foo", result.Target.AuthenticationInsight.ScaIndicator);
            Assert.AreEqual("bar", result.Target.AuthenticationInsight.RegulationEnvironment);
        }
Beispiel #37
0
        public void DeserializesLevel3SummaryFieldsFromXml()
        {
            string xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                         "<transaction>\n" +
                         "  <shipping-amount>1.00</shipping-amount>\n" +
                         "  <discount-amount>2.00</discount-amount>\n" +
                         "  <ships-from-postal-code>12345</ships-from-postal-code>\n" +
                         "  <disbursement-details></disbursement-details>\n" +
                         "  <subscription></subscription>\n" +
                         "</transaction>\n";

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(xml);
            XmlNode newNode = doc.DocumentElement;
            var     node    = new NodeWrapper(newNode);

            Transaction transaction = new Transaction(node, gateway);

            Assert.AreEqual(1.00M, transaction.ShippingAmount);
            Assert.AreEqual(2.00M, transaction.DiscountAmount);
            Assert.AreEqual("12345", transaction.ShipsFromPostalCode);
        }
		void UpdateNode(XamlOutlineNode node, NodeWrapper dataNode)
		{
			if (dataNode != null && node != null) {
				node.Name = dataNode.Name;
				node.ElementName = dataNode.ElementName;
				node.Marker = editor.Document.CreateAnchor(Utils.MinMax(dataNode.StartOffset, 0, editor.Document.TextLength));
				node.EndMarker = editor.Document.CreateAnchor(Utils.MinMax(dataNode.EndOffset, 0, editor.Document.TextLength));
				
				int childrenCount = node.Children.Count;
				int dataCount = dataNode.Children.Count;
				
				for (int i = 0; i < Math.Max(childrenCount, dataCount); i++) {
					if (i >= childrenCount) {
						node.Children.Add(BuildNode(dataNode.Children[i]));
					} else if (i >= dataCount) {
						while (node.Children.Count > dataCount)
							node.Children.RemoveAt(dataCount);
					} else {
						UpdateNode(node.Children[i] as XamlOutlineNode, dataNode.Children[i]);
					}
				}
			}
		}
        public void Ids_ReturnsAllIdsInCollection()
        {
            string body = @"<search-results>
                              <page-size>2</page-size>
                              <ids type='array'>
                                <items>0</items>
                                <items>1</items>
                                <items>2</items>
                                <items>3</items>
                                <items>4</items>
                              </ids>
                            </search-results>";

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(body);
            NodeWrapper xml = new NodeWrapper(doc.ChildNodes[0]);

            ResourceCollection<string> resourceCollection = new ResourceCollection<string>(xml, delegate(string[] ids) {
                return new List<string>();
            });

            List<string> assertIds = new List<string>() {"0","1","2","3","4"};
            Assert.AreEqual(resourceCollection.Ids, assertIds);
        }
Beispiel #40
0
        public Merchant(NodeWrapper node)
        {
            if (node == null)
                return;

            NodeWrapper merchantNode = node.GetNode("merchant");

            Id = merchantNode.GetString("id");
            Email = merchantNode.GetString("email");
            CompanyName = merchantNode.GetString("company-name");
            CountryCodeAlpha3 = merchantNode.GetString("country-code-alpha3");
            CountryCodeAlpha2 = merchantNode.GetString("country-code-alpha2");
            CountryCodeNumeric = merchantNode.GetString("country-code-numeric");
            CountryName = merchantNode.GetString("country-name");

            Credentials = new OAuthCredentials(node.GetNode("credentials"));

            var merchantAccountXmlNodes = merchantNode.GetList("merchant-accounts/merchant-account");
            MerchantAccounts = new MerchantAccount[merchantAccountXmlNodes.Count];
            for (int i = 0; i < merchantAccountXmlNodes.Count; i++)
            {
                MerchantAccounts[i] = new MerchantAccount(merchantAccountXmlNodes[i]);
            }
        }
        static void TestStoSort()
        {
            var nodes = new List<NodeWrapper<INetworkNode>>();
            for (int i = 1; i < 11; i++)
            {
                var node = new NodeWrapper<INetworkNode>(new MetlinkNode(i, TransportMode.Unknown, "", 0, 0, null));
                node.EuclidianDistance = i;
                node.TotalTime = TimeSpan.FromSeconds(i);
                nodes.Add(node);
                //nodes.Add();

            }
            nodes.Shuffle();

            Console.WriteLine("Before: " + String.Join(",", nodes.Cast<object>()));
            for (int i = 1; i < 11; i++)
            {
                var newNodes = new List<NodeWrapper<INetworkNode>>(nodes);
                newNodes.StochasticSort((i - 1) / 10.0);
                newNodes.Reverse();

                Console.WriteLine("After:  " + String.Join(",", newNodes.Cast<object>()));
            }
        }
        public void Generate_ReturnsTransactionsSettledOnAGivenDay()
        {
            TransactionRequest request = new TransactionRequest
            {
                Amount     = 1000M,
                CreditCard = new TransactionCreditCardRequest
                {
                    Number         = "4111111111111111",
                    ExpirationDate = "05/2012",
                    CardholderName = "Tom Smith",
                },
                Options = new TransactionOptionsRequest
                {
                    SubmitForSettlement = true
                },
            };

            Transaction transaction      = gateway.Transaction.Sale(request).Target;
            NodeWrapper settlementResult = TestHelper.Settle(service, transaction.Id);
            var         settlementDate   = settlementResult.GetString("/transaction/settlement-batch-id").Split('_')[0];

            transaction = gateway.Transaction.Find(transaction.Id);

            var result = gateway.SettlementBatchSummary.Generate(System.DateTime.Parse(settlementDate));
            var visas  = new List <IDictionary <string, string> >();

            foreach (var row in result.Target.Records)
            {
                if (Braintree.CreditCardCardType.VISA.ToString().Equals(row["card_type"]))
                {
                    visas.Add(row);
                }
            }

            Assert.AreEqual(1, visas.Count);
        }
Beispiel #43
0
        public static void Escrow(BraintreeService service, string transactionId)
        {
            NodeWrapper response = new NodeWrapper(service.Put(service.MerchantPath() + "/transactions/" + transactionId + "/escrow"));

            Assert.IsTrue(response.IsSuccess());
        }
Beispiel #44
0
 public static string Create3DSVerification(BraintreeService service, string merchantAccountId, ThreeDSecureRequestForTests request)
 {
   string url = "/three_d_secure/create_verification/" + merchantAccountId;
   NodeWrapper response = new NodeWrapper(service.Post(service.MerchantPath() + url, request));
   Assert.IsTrue(response.IsSuccess());
   return response.GetString("three-d-secure-token");
 }
Beispiel #45
0
 public static void Escrow(BraintreeService service, string transactionId)
 {
   NodeWrapper response = new NodeWrapper(service.Put(service.MerchantPath() + "/transactions/" + transactionId + "/escrow"));
   Assert.IsTrue(response.IsSuccess());
 }
Beispiel #46
0
 internal Discount(NodeWrapper node) : base(node) {
 }
Beispiel #47
0
 internal TestPlan(NodeWrapper node) : base(node) {
 }
        /// <summary>
        /// Returns the specified nodes sorted stochastically according to
        /// their Euclidian distance value only.
        /// </summary>
        /// <param name="nodes">
        /// The nodes to be sorted.
        /// </param>
        /// <returns>
        /// The nodes stochastically sorted.
        /// </returns>
        protected override NodeWrapper<INetworkNode>[] OrderChildren(NodeWrapper<INetworkNode>[] nodes)
        {
            var target = (Location)(this.CurrentIndex == 0 ? this.Destination : this.Origin);
            foreach (var wrapper in nodes)
            {
                /*
                if (Bidirectional)
                {
                    INetworkNode otherCurrent = this.current[CurrentIndex == 0 ? 1 : 0].Node;
                    /*
                    wrapper.EuclidianDistance = this.Bidirectional && otherCurrent != null
                                                         ? GeometryHelper.GetStraightLineDistance(
                                                             (Location)wrapper.Node, (Location)otherCurrent)
                                                         : GeometryHelper.GetStraightLineDistance(
                                                             (Location)wrapper.Node, (Location)this.Destination);
                     *

                }
                else
                {
                    wrapper.EuclidianDistance = GeometryHelper.GetStraightLineDistance((Location)wrapper.Node, (Location)this.Destination);
                }

                //if (wrapper.Node.TransportType == "Train")
                //{
                //    wrapper.EuclidianDistance /= 2.0;
               // }
                 *
                 **/
                wrapper.EuclidianDistance = GeometryHelper.GetStraightLineDistance((Location)wrapper.Node, target);
            }

            // Array.Sort(nodes, new NodeComparer());
            nodes.StochasticSort(this.Entropy);

            return nodes.Reverse().ToArray();

            // return nodes.OrderBy(n => n.EuclidianDistance).Reverse().ToArray();
        }
 private void MakePastDue(Subscription subscription, int numberOfDays)
 {
     BraintreeService service = new BraintreeService(gateway.Configuration);
     NodeWrapper response = new NodeWrapper(service.Put(service.MerchantPath() + "/subscriptions/" + subscription.Id + "/make_past_due?days_past_due=" + numberOfDays));
     Assert.IsTrue(response.IsSuccess());
 }
        public void Ids_ReturnsEmptyListWhenNoIds()
        {
            string body = @"<search-results>
                              <page-size>2</page-size>
                              <ids type='array'>
                              </ids>
                            </search-results>";

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(body);
            NodeWrapper xml = new NodeWrapper(doc.ChildNodes[0]);

            ResourceCollection<string> resourceCollection = new ResourceCollection<string>(xml, delegate(string[] ids) {
                return new List<string>();
            });

            List<string> assertIds = new List<string>();
            Assert.AreEqual(resourceCollection.Ids, assertIds);
        }
		public override void VisitElement(AXmlElement element)
		{
			AXmlTag tag = element.Children.FirstOrDefault() as AXmlTag;
			
			if (tag != null && tag.IsStartOrEmptyTag) {
				NodeWrapper node = new NodeWrapper() {
					ElementName = element.LocalName,
					StartOffset = element.StartOffset,
					EndOffset = element.EndOffset,
					Name = element.GetAttributeValue("Name") ?? element.GetAttributeValue(CompletionDataHelper.XamlNamespace, "Name"),
					Children = new List<NodeWrapper>()
				};
				
				if (CompilationUnit.TreeRootNode == null) {
					CompilationUnit.TreeRootNode = node;
					nodeStack.Push(CompilationUnit.TreeRootNode);
				} else {
					if (nodeStack.Count > 0)
						nodeStack.Peek().Children.Add(node);
					if (!tag.IsEmptyTag)
						nodeStack.Push(node);
				}
			}
			
			base.VisitElement(element);
			
			if (tag != null && tag.IsStartTag)
				nodeStack.PopOrDefault();
		}
Beispiel #52
0
 public static void Settle(BraintreeService service, String transactionId)
 {
     NodeWrapper response = new NodeWrapper(service.Put("/transactions/" + transactionId + "/settle"));
     Assert.IsTrue(response.IsSuccess());
 }
        /// <summary>
        /// Returns the specified nodes sorted stochastically according to
        /// their Euclidian distance value with a penalty for node changes.
        /// </summary>
        /// <param name="nodes">
        /// The nodes to be sorted.
        /// </param>
        /// <returns>
        /// The nodes stochastically sorted.
        /// </returns>
        protected override NodeWrapper<INetworkNode>[] OrderChildren(NodeWrapper<INetworkNode>[] nodes)
        {
            // nodes = base.OrderChildren(nodes);
            var target = (Location)(this.CurrentIndex == 0 ? this.Destination : this.Origin);

            foreach (var wrapper in nodes)
            {
                wrapper.EuclidianDistance = GeometryHelper.GetStraightLineDistance((Location)wrapper.Node, target);

                // wrapper.EuclidianDistance = 1;
                if (((PtvDataProvider)this.provider).RoutesIntersect(wrapper.Node, this.Current[0].Node))
                {
                    // wrapper.EuclidianDistance *= 0.5; //best
                    wrapper.EuclidianDistance *= 0.5;
                }
            }

            // Array.Sort(nodes, new NodeComparer());
            // Array.Reverse(nodes);
            nodes.StochasticSort(this.Entropy);

            return nodes.Reverse().ToArray();
        }
Beispiel #54
0
 internal AddOn(NodeWrapper node) : base(node) {
 }