41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
# Copyright 2024 (c) Anna Schumaker.
|
|
"""Tests our common Thread class."""
|
|
import emmental.thread
|
|
import unittest
|
|
|
|
|
|
class TestData(unittest.TestCase):
|
|
"""Tests our thread Data class."""
|
|
|
|
def test_init_kwargs(self):
|
|
"""Tests initializing the data class with keyword args."""
|
|
data = emmental.thread.Data(a=1, b=2)
|
|
self.assertEqual(data.a, 1)
|
|
self.assertEqual(data.b, 2)
|
|
self.assertEqual(repr(data), "Data(a=1, b=2)")
|
|
|
|
def test_init_values_dict(self):
|
|
"""Test initializing the data class with a dictionary of values."""
|
|
data = emmental.thread.Data({"a": 1, "b": 2})
|
|
self.assertEqual(data.a, 1)
|
|
self.assertEqual(data.b, 2)
|
|
self.assertEqual(repr(data), "Data(a=1, b=2)")
|
|
|
|
def test_init_both(self):
|
|
"""Test initializing the data class with both."""
|
|
data = emmental.thread.Data({"a": 1, "b": 2}, b=3, c='4')
|
|
self.assertEqual(data.a, 1)
|
|
self.assertEqual(data.b, 3)
|
|
self.assertEqual(data.c, '4')
|
|
self.assertEqual(repr(data), "Data(a=1, b=3, c='4')")
|
|
|
|
def test_compare(self):
|
|
"""Test comparing two data classes."""
|
|
data1 = emmental.thread.Data({"a": 1, "b": 2})
|
|
data2 = emmental.thread.Data({"c": 3, "d": 4})
|
|
self.assertTrue(data1 == data1)
|
|
self.assertTrue(data1 == {"a": 1, "b": 2})
|
|
self.assertFalse(data1 == data2)
|
|
self.assertFalse(data1 == {"c": 2, "d": 4})
|
|
self.assertFalse(data1 == 3)
|