diff --git a/gsy_framework/data_classes.py b/gsy_framework/data_classes.py index 88c1c7cc..d008b608 100644 --- a/gsy_framework/data_classes.py +++ b/gsy_framework/data_classes.py @@ -184,12 +184,13 @@ def __eq__(self, other) -> bool: def csv_values(self) -> Tuple: """Return values of class members that are needed for creation of CSV export.""" rate = round(self.energy_rate, 4) - return self.creation_time, rate, self.energy, self.price, self.seller + return self.creation_time, rate, self.energy, self.price, self.seller, self.seller_id @classmethod def csv_fields(cls) -> Tuple: """Return labels for csv_values for CSV export.""" - return "creation_time", "rate [ct./kWh]", "energy [kWh]", "price [ct.]", "seller" + return ("creation_time", "rate [ct./kWh]", "energy [kWh]", + "price [ct.]", "seller", "seller_id") @staticmethod def copy(offer: "Offer") -> "Offer": @@ -266,12 +267,13 @@ def from_dict(bid: Dict) -> "Bid": def csv_values(self) -> Tuple: """Return values of class members that are needed for creation of CSV export.""" rate = round(self.energy_rate, 4) - return self.creation_time, rate, self.energy, self.price, self.buyer + return self.creation_time, rate, self.energy, self.price, self.buyer, self.buyer_id @classmethod def csv_fields(cls) -> Tuple: """Return labels for csv_values for CSV export.""" - return "creation_time", "rate [ct./kWh]", "energy [kWh]", "price [ct.]", "buyer" + return ("creation_time", "rate [ct./kWh]", "energy [kWh]", + "price [ct.]", "buyer", "buyer_id") def __eq__(self, other) -> bool: return (self.id == other.id and @@ -341,12 +343,14 @@ def __str__(self) -> str: @classmethod def csv_fields(cls) -> Tuple: """Return labels for csv_values for CSV export.""" - return "creation_time", "rate [ct./kWh]", "energy [kWh]", "seller", "buyer" + return ("creation_time", "rate [ct./kWh]", "energy [kWh]", + "seller", "buyer", "seller_id", "buyer_id") def csv_values(self) -> Tuple: """Return values of class members that are needed for creation of CSV export.""" rate = round(self.offer_bid.energy_rate, 4) - return self.creation_time, rate, self.offer_bid.energy, self.seller, self.buyer + return (self.creation_time, rate, self.offer_bid.energy, + self.seller, self.buyer, self.seller_id, self.buyer_id) def to_json_string(self) -> str: """Return json string of the representation.""" diff --git a/tests/test_dataclasses.py b/tests/test_dataclasses.py index bd8963db..546b4688 100644 --- a/tests/test_dataclasses.py +++ b/tests/test_dataclasses.py @@ -332,12 +332,18 @@ def test_csv_values(self): ) rate = round(offer.energy_rate, 4) assert offer.csv_values() == ( - offer.creation_time, rate, offer.energy, offer.price, offer.seller) + offer.creation_time, rate, offer.energy, offer.price, offer.seller, offer.seller_id) @staticmethod def test_csv_fields(): - assert (Offer.csv_fields() == - ("creation_time", "rate [ct./kWh]", "energy [kWh]", "price [ct.]", "seller")) + assert ( + Offer.csv_fields() == ( + "creation_time", + "rate [ct./kWh]", + "energy [kWh]", + "price [ct.]", + "seller", + "seller_id")) def test_copy(self): offer = Offer( @@ -445,12 +451,19 @@ def test_csv_values(self): **self.initial_data ) rate = round(bid.energy_rate, 4) - assert bid.csv_values() == (bid.creation_time, rate, bid.energy, bid.price, bid.buyer) + assert (bid.csv_values() == + (bid.creation_time, rate, bid.energy, bid.price, bid.buyer, bid.buyer_id)) @staticmethod def test_csv_fields(): - assert (Bid.csv_fields() == - ("creation_time", "rate [ct./kWh]", "energy [kWh]", "price [ct.]", "buyer")) + assert ( + Bid.csv_fields() == ( + "creation_time", + "rate [ct./kWh]", + "energy [kWh]", + "price [ct.]", + "buyer", + "buyer_id")) class TestTradeBidOfferInfo: @@ -492,13 +505,26 @@ def test_str(self): @staticmethod def test_csv_fields(): assert Trade.csv_fields() == ( - "creation_time", "rate [ct./kWh]", "energy [kWh]", "seller", "buyer") + "creation_time", + "rate [ct./kWh]", + "energy [kWh]", + "seller", + "buyer", + "seller_id", + "buyer_id") def test_csv_values(self): trade = Trade(**self.initial_data) rate = round(trade.offer_bid.energy_rate, 4) - assert (trade.csv_values() == - (trade.creation_time, rate, trade.offer_bid.energy, trade.seller, trade.buyer)) + assert ( + trade.csv_values() == ( + trade.creation_time, + rate, + trade.offer_bid.energy, + trade.seller, + trade.buyer, + trade.seller_id, + trade.buyer_id)) def test_to_json_string(self): trade = Trade(**self.initial_data)