()
| 768 | |
| 769 | #[test] |
| 770 | fn test_stack() { |
| 771 | || -> Result<()> { |
| 772 | let c = create_unchecked_context()?; |
| 773 | let g = c.create_graph()?; |
| 774 | let t = array_type(vec![10], BIT); |
| 775 | let shared_tuple = g.input(tuple_type(vec![t.clone(), t.clone(), t.clone()]))?; |
| 776 | let public_array = g.input(t.clone())?; |
| 777 | let private_array = g.input(t.clone())?; |
| 778 | |
| 779 | g.stack(vec![public_array.clone(), private_array.clone()], vec![2])? |
| 780 | .set_name("stack1")?; |
| 781 | g.stack(vec![public_array.clone(), public_array.clone()], vec![2])? |
| 782 | .set_name("stack2")?; |
| 783 | g.stack( |
| 784 | vec![shared_tuple.tuple_get(0)?, shared_tuple.tuple_get(1)?], |
| 785 | vec![2], |
| 786 | )? |
| 787 | .set_name("stack3")?; |
| 788 | g.stack( |
| 789 | vec![shared_tuple.tuple_get(0)?, shared_tuple.tuple_get(0)?], |
| 790 | vec![2], |
| 791 | )? |
| 792 | .set_name("stack4")?; |
| 793 | |
| 794 | let result_classes = generate_equivalence_class( |
| 795 | c.clone(), |
| 796 | vec![vec![IOStatus::Shared, IOStatus::Public, IOStatus::Party(1)]], |
| 797 | )?; |
| 798 | |
| 799 | assert_eq!( |
| 800 | get_class_from_name(&g, &result_classes, "stack1")?, |
| 801 | private_class() |
| 802 | ); |
| 803 | assert_eq!( |
| 804 | get_class_from_name(&g, &result_classes, "stack2")?, |
| 805 | public_class() |
| 806 | ); |
| 807 | assert_eq!( |
| 808 | get_class_from_name(&g, &result_classes, "stack3")?, |
| 809 | private_class() |
| 810 | ); |
| 811 | assert_eq!( |
| 812 | get_class_from_name(&g, &result_classes, "stack4")?, |
| 813 | share0_class() |
| 814 | ); |
| 815 | |
| 816 | Ok(()) |
| 817 | }() |
| 818 | .unwrap(); |
| 819 | } |
| 820 | |
| 821 | #[test] |
| 822 | fn test_vector_to_array() { |
nothing calls this directly
no test coverage detected