mirror of
https://github.com/logos-blockchain/logos-blockchain-specs.git
synced 2026-01-25 08:23:07 +00:00
Merging set tests
This commit is contained in:
parent
0885287213
commit
962be7c094
@ -1,2 +1,4 @@
|
||||
from .carnot import *
|
||||
from .my_carnot import *
|
||||
from .beacon import RandomBeaconHandler
|
||||
|
||||
from carnot import merging_committees
|
||||
|
||||
@ -21,6 +21,8 @@
|
||||
# Step 6: Block Proposal
|
||||
# The proposal of a new block is done using the propose_block function in Carnot psuedocode.
|
||||
|
||||
# UnHappy Path:
|
||||
|
||||
|
||||
from dataclasses import dataclass
|
||||
from typing import Union, List, Set, Optional, Type, TypeAlias, Dict
|
||||
34
carnot/test_carnot_vote_aggregation.py
Normal file
34
carnot/test_carnot_vote_aggregation.py
Normal file
@ -0,0 +1,34 @@
|
||||
import unittest
|
||||
|
||||
import carnot
|
||||
from carnot import merging_committees
|
||||
from carnot.merging_committees import merge_committees
|
||||
import itertools
|
||||
import unittest
|
||||
|
||||
class TestMergeCommittees(unittest.TestCase):
|
||||
|
||||
def assertMergedSetsEqual(self, merged, original):
|
||||
merged_elements = set(itertools.chain.from_iterable(merged))
|
||||
self.assertEqual(merged_elements, original)
|
||||
|
||||
def test_merge_committees_even(self):
|
||||
# Test merging when the number of committees is even
|
||||
original_sets = [set([1, 2, 3]), set([4, 5, 6]), set([7, 8, 9]), set([10, 11, 12])]
|
||||
merged = merge_committees(original_sets)
|
||||
self.assertMergedSetsEqual(merged, set.union(*original_sets))
|
||||
|
||||
def test_merge_committees_odd(self):
|
||||
# Test merging when the number of committees is odd
|
||||
original_sets = [set([1, 2, 3]), set([4, 5, 6]), set([7, 8, 9])]
|
||||
merged = merge_committees(original_sets)
|
||||
self.assertMergedSetsEqual(merged, set.union(*original_sets))
|
||||
|
||||
def test_merge_committees_empty(self):
|
||||
# Test merging when there are empty committees
|
||||
original_sets = [set([1, 2, 3]), set([]), set([4, 5, 6])]
|
||||
merged = merge_committees(original_sets)
|
||||
self.assertMergedSetsEqual(merged, set.union(*original_sets))
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Loading…
x
Reference in New Issue
Block a user