Skip to content
This repository has been archived by the owner on May 24, 2024. It is now read-only.

Commit

Permalink
test: add protocol-14 related classes tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fracek committed Sep 30, 2020
1 parent c6b1da5 commit 92168ba
Show file tree
Hide file tree
Showing 4 changed files with 98 additions and 5 deletions.
12 changes: 12 additions & 0 deletions stellar-dotnet-sdk-test/ClaimPredicateTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,18 @@ public void TestClaimPredicateOr()

Assert.IsNotNull(parsed.LeftPredicate);
Assert.IsNotNull(parsed.RightPredicate);
}

[TestMethod]
public void TestClaimPredicateUnconditional()
{
var predicate = ClaimPredicate.Unconditional();
var xdr = predicate.ToXdr();

var parsed = (ClaimPredicateUnconditional) ClaimPredicate.FromXdr(xdr);

Assert.IsNotNull(parsed);
}

}
}
85 changes: 85 additions & 0 deletions stellar-dotnet-sdk-test/LedgerKeyTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using stellar_dotnet_sdk;

namespace stellar_dotnet_sdk_test
{
[TestClass]
public class LedgerKeyTest
{
[TestMethod]
public void TestLedgerKeyAccount()
{
var keypair = KeyPair.FromAccountId("GCFRHRU5YRI3IN3IMRMYGWWEG2PX2B6MYH2RJW7NEDE2PTYPISPT3RU7");
var ledgerKey = LedgerKey.Account(keypair);
var xdr = ledgerKey.ToXdr();
var back = LedgerKey.FromXdr(xdr);

var account = (LedgerKeyAccount) back;

Assert.IsNotNull(account);
Assert.AreEqual(keypair.AccountId, account.Account.AccountId);
}

[TestMethod]
public void TestLedgerKeyData()
{
var keypair = KeyPair.FromAccountId("GCFRHRU5YRI3IN3IMRMYGWWEG2PX2B6MYH2RJW7NEDE2PTYPISPT3RU7");
var ledgerKey = LedgerKey.Data(keypair, "Test Data");
var xdr = ledgerKey.ToXdr();
var back = LedgerKey.FromXdr(xdr);

var data = (LedgerKeyData) back;

Assert.IsNotNull(data);
Assert.AreEqual("Test Data", data.DataName);
Assert.AreEqual(keypair.AccountId, data.Account.AccountId);
}

[TestMethod]
public void TestLedgerKeyOffer()
{
var keypair = KeyPair.FromAccountId("GCFRHRU5YRI3IN3IMRMYGWWEG2PX2B6MYH2RJW7NEDE2PTYPISPT3RU7");
var ledgerKey = LedgerKey.Offer(keypair, 1234);
var xdr = ledgerKey.ToXdr();
var back = LedgerKey.FromXdr(xdr);

var offer = (LedgerKeyOffer) back;

Assert.IsNotNull(offer);
Assert.AreEqual(1234, offer.OfferId);
Assert.AreEqual(keypair.AccountId, offer.Seller.AccountId);
}

[TestMethod]
public void TestLedgerKeyTrustline()
{
var keypair = KeyPair.FromAccountId("GCFRHRU5YRI3IN3IMRMYGWWEG2PX2B6MYH2RJW7NEDE2PTYPISPT3RU7");
var issuer = KeyPair.FromAccountId("GB24C27VKWCBG7NTCT4J2L4MXJGYC3K3SQ4JOTCSPOVVEN7EZEB43XNE");
var asset = Asset.CreateNonNativeAsset("ABCD", issuer.AccountId);
var ledgerKey = LedgerKey.Trustline(keypair,asset);
var xdr = ledgerKey.ToXdr();
var back = LedgerKey.FromXdr(xdr);

var trustline = (LedgerKeyTrustline) back;

Assert.IsNotNull(trustline);
Assert.AreEqual("ABCD:GB24C27VKWCBG7NTCT4J2L4MXJGYC3K3SQ4JOTCSPOVVEN7EZEB43XNE", trustline.Asset.CanonicalName());
Assert.AreEqual(keypair.AccountId, trustline.Account.AccountId);
}


[TestMethod]
public void TestLedgerKeyClaimableBalance()
{
var balanceId = Util.HexToBytes("c582697b67cbec7f9ce64f4dc67bfb2bfd26318bb9f964f4d70e3f41f650b1e6");
var ledgerKey = LedgerKey.ClaimableBalance(balanceId);
var xdr = ledgerKey.ToXdr();
var back = LedgerKey.FromXdr(xdr);

var claimableBalance = (LedgerKeyClaimableBalance) back;

Assert.IsNotNull(claimableBalance);
Assert.AreEqual(balanceId, claimableBalance.BalanceId);
}
}
}
5 changes: 0 additions & 5 deletions stellar-dotnet-sdk/ClaimPredicateUnconditional.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,5 @@ public override xdr.ClaimPredicate ToXdr()
},
};
}

public static ClaimPredicateUnconditional FromXdr()
{
return new ClaimPredicateUnconditional();
}
}
}
1 change: 1 addition & 0 deletions stellar-dotnet-sdk/LedgerKey.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ public abstract class LedgerKey
public abstract xdr.LedgerKey ToXdr();

public static LedgerKey Account(KeyPair account) => new LedgerKeyAccount(account);
public static LedgerKey ClaimableBalance(byte[] balanceId) => new LedgerKeyClaimableBalance(balanceId);
public static LedgerKey Data(KeyPair account, string dataName) => new LedgerKeyData(account, dataName);
public static LedgerKey Offer(KeyPair seller, long offerId) => new LedgerKeyOffer(seller, offerId);
public static LedgerKey Trustline(KeyPair account, Asset asset) => new LedgerKeyTrustline(account, asset);
Expand Down

0 comments on commit 92168ba

Please sign in to comment.