public void CheckForFailureOnZeroLengthResource() { Assert.Throws <ArgumentException>(() => { Minter minter = new Minter(); string stamp = minter.Mint(string.Empty, 8, DateTimeOffset.UtcNow, StampFormat.Version0); }); }
public void CheckForFailureOnZeroLengthDenomination() { Assert.Throws <ArgumentOutOfRangeException>(() => { Minter minter = new Minter(); string stamp = minter.Mint("foo0123456789", 0, DateTimeOffset.UtcNow, StampFormat.Version0); }); }
public void CheckForFailureOnUrlResource() { Assert.Throws <ArgumentOutOfRangeException>(() => { Minter minter = new Minter(); string stamp = minter.Mint("http://notgartner.com", 8, DateTimeOffset.UtcNow, StampFormat.Version0); }); }
public void GenerateAFormatVersionZeroStampWithADenominationOfSeventeenAndEnsureItValidatesUsingTheHashcashReferenceImplementation() { Given("a resource of '*****@*****.**'", x => Resource = "foo123456789") .And("an instance of the Minter class", x => Minter = new Minter()) .And("a denomination of sixteen", x => Denomination = 17) .And("a stamp format version of 1", x => Format = StampFormat.Version0) .When("the Mint method is called", x => Stamp = Minter.Mint(Resource, Denomination, Format)) .Then("it should generate a valid stamp", x => IsValidStamp(Denomination, Resource, Stamp, 0)); }
static void TestNHashCash() { for (int i = 0; i < iterations; i++) { Minter minter = new Minter(); string header = minter.Mint("*****@*****.**", Minter.StampFormat.Version1); bool ret = HashCash.Verify(header); Console.WriteLine((ret ? "Passed" : "Failed") + " " + header); } }
private static void Main(string[] args) { string resource = args[0]; int denomination = int.Parse(args[1]); StampFormat format = (StampFormat)Enum.Parse(typeof(StampFormat), $"Version{args[2]}"); Minter minter = new Minter(); string stamp = minter.Mint(resource, denomination, DateTimeOffset.UtcNow, format); Console.WriteLine(stamp); Console.WriteLine("Press a key to exit..."); Console.ReadKey(); }
public void CheckForFailureOnZeroLengthDenomination() { Minter minter = new Minter(); string stamp = minter.Mint("foo0123456789", 0, DateTime.Now, StampFormat.Version0); }
public void CheckForFailureOnUrlResource() { Minter minter = new Minter(); string stamp = minter.Mint("http://notgartner.com", 8, DateTime.Now, StampFormat.Version0); }
public void CheckForFailureOnZeroLengthResource() { Minter minter = new Minter(); string stamp = minter.Mint(string.Empty, 8, DateTime.Now, StampFormat.Version0); }
public void CheckMint20BitVersion1Stamp() { Minter minter = new Minter(); minter.Mint("foo0123456789", 20, DateTimeOffset.UtcNow, StampFormat.Version1); }
public void CheckMint16BitVersion0Stamp() { Minter minter = new Minter(); minter.Mint("foo0123456789", 16, DateTimeOffset.UtcNow, StampFormat.Version0); }