File tree Expand file tree Collapse file tree 1 file changed +65
-0
lines changed Expand file tree Collapse file tree 1 file changed +65
-0
lines changed Original file line number Diff line number Diff line change @@ -5601,3 +5601,68 @@ send [USD/2 10] (
5601
5601
})
5602
5602
5603
5603
}
5604
+
5605
+ func TestSendHalfUsingVirtual (t * testing.T ) {
5606
+ script := `
5607
+ vars { account $v = virtual() }
5608
+
5609
+ send [USD/2 10] (
5610
+ source = {
5611
+ 1/2 from @alice
5612
+ remaining from $v allowing unbounded overdraft
5613
+ }
5614
+ destination = @interests
5615
+ )
5616
+ `
5617
+
5618
+ tc := NewTestCase ()
5619
+ tc .compile (t , script )
5620
+ tc .setBalance ("alice" , "USD/2" , 5 )
5621
+
5622
+ tc .expected = CaseResult {
5623
+ Postings : []machine.Posting {
5624
+ {
5625
+ Source : "alice" ,
5626
+ Destination : "interests" ,
5627
+ Asset : "USD/2" ,
5628
+ Amount : big .NewInt (5 ),
5629
+ },
5630
+ },
5631
+ }
5632
+ test (t , tc )
5633
+ }
5634
+
5635
+ func TestVirtualSendCreditAround (t * testing.T ) {
5636
+ script := `
5637
+ vars {
5638
+ account $v1 = virtual()
5639
+ account $v2 = virtual()
5640
+ }
5641
+
5642
+ send [USD 1] (
5643
+ source = $v1 allowing unbounded overdraft
5644
+ destination = $v2
5645
+ )
5646
+
5647
+ send [USD 1] (
5648
+ // here's we're sending the credit we have from $v1
5649
+ // so $v2 doesn't "owe" anything to @dest
5650
+ source = $v2
5651
+ destination = @dest
5652
+ )
5653
+
5654
+ send [USD 1] (
5655
+ // that's why this doesn't output any postings
5656
+ source = @world
5657
+ destination = $v2
5658
+ )
5659
+ `
5660
+
5661
+ tc := NewTestCase ()
5662
+ tc .compile (t , script )
5663
+
5664
+ tc .expected = CaseResult {
5665
+ Postings : []machine.Posting {},
5666
+ }
5667
+ test (t , tc )
5668
+ }
You can’t perform that action at this time.
0 commit comments