# Path: lantern/structures/decryption.py
# class Decryption:
#     """A decryption object, composed of plaintext, a score and the key.
# 
#     Example:
#         >>> decryption = Decryption("example", "key", -10)
#         >>> decryption.plaintext
#         example
#         >>> decryption.key
#         key
#         >>> decryption.score
#         -10
#     """
# 
#     def __init__(self, plaintext, key, score):
#         """
#         Args:
#             plaintext: The decrypted ciphertext
#             key: The key which resulted in this decryption
#             score: The score of this decryption
#         """
#         self.plaintext = plaintext
#         self.key = key
#         self.score = score
# 
#     def __lt__(self, other):
#         """Compare decryptions with other decryptions by score.
# 
#         Args:
#             other: Object to compare with
# 
#         Returns:
#             True if self is less than other, else False
#         """
#         return self.score < other.score


from lantern.structures import Decryption
"""Tests for the Decryption Structure"""



def test_kwargs():
    """Testing kwargs builds properly"""
    decryption = Decryption(plaintext="plaintext", score=0, key="key")
    assert decryption.plaintext == "plaintext"
    assert decryption.score == 0
    assert decryption.key == "key"


def test_args():
    """Testing args builds properly"""
    decryption = Decryption("plaintext", "key", 0)
    assert decryption.plaintext == "plaintext"
    assert decryption.key == "key"
    assert decryption.score == 0


def test_lt():
    """Testing __lt__ compares using score"""

# Path: lantern/structures/decryption.py
# class Decryption:
#     """A decryption object, composed of plaintext, a score and the key.
# 
#     Example:
#         >>> decryption = Decryption("example", "key", -10)
#         >>> decryption.plaintext
#         example
#         >>> decryption.key
#         key
#         >>> decryption.score
#         -10
#     """
# 
#     def __init__(self, plaintext, key, score):
#         """
#         Args:
#             plaintext: The decrypted ciphertext
#             key: The key which resulted in this decryption
#             score: The score of this decryption
#         """
#         self.plaintext = plaintext
#         self.key = key
#         self.score = score
# 
#     def __lt__(self, other):
#         """Compare decryptions with other decryptions by score.
# 
#         Args:
#             other: Object to compare with
# 
#         Returns:
#             True if self is less than other, else False
#         """
#         return self.score < other.score


# Path: tests/structures/test_decryption.py
from lantern.structures import Decryption

"""Tests for the Decryption Structure"""



def test_kwargs():
    """Testing kwargs builds properly"""
    decryption = Decryption(plaintext="plaintext", score=0, key="key")
    assert decryption.plaintext == "plaintext"
    assert decryption.score == 0
    assert decryption.key == "key"


def test_args():
    """Testing args builds properly"""
    decryption = Decryption("plaintext", "key", 0)
    assert decryption.plaintext == "plaintext"
    assert decryption.key == "key"
    assert decryption.score == 0


def test_lt():
    """Testing __lt__ compares using score"""

    decryption1 = Decryption("plaintext1", "key1", 0)