diff --git a/tests/test_series.py b/tests/test_series.py
index 94d73bc27346f091801e279cb44aca457b0d6840..c8608aa1b213ad3bfac69735e991e622e65d040e 100644
--- a/tests/test_series.py
+++ b/tests/test_series.py
@@ -7,12 +7,24 @@ import unittest
 from firanka.exceptions import NotInDomainError
 from firanka.ranges import Range
 from firanka.series import DiscreteSeries, FunctionSeries, ModuloSeries, \
-    LinearInterpolationSeries
+    LinearInterpolationSeries, Series
 
 NOOP = lambda x: x
 
 
+class TestBase(unittest.TestCase):
+    def test_abstract(self):
+        self.assertRaises(NotImplementedError, lambda: Series('<-1;1>')[0])
+
+
 class TestDiscreteSeries(unittest.TestCase):
+
+    def test_redundancy_skip(self):
+        a = DiscreteSeries([(0,0), (1,0), (2,0)], '<0;5>')
+        b = DiscreteSeries([(0,0), (1,0)], '<0;5>')
+
+        a.join(b, lambda x,y: x+y)
+
     def test_uncov(self):
         self.assertRaises(ValueError,
                           lambda: DiscreteSeries([[0, 0], [1, 1], [2, 2]],
@@ -49,6 +61,11 @@ class TestDiscreteSeries(unittest.TestCase):
 
         self.assertRaises(NotInDomainError, lambda: series[-1:2])
 
+    def test_translate(self):
+        sp = DiscreteSeries([[0, 0], [1, 1], [2, 2]]).translate(1)
+        self.assertEqual(sp[1.5], 0)
+        self.assertEqual(sp[2.5], 1)
+
     def test_slice(self):
         series = DiscreteSeries([[0, 0], [1, 1], [2, 2]])
 
@@ -106,6 +123,11 @@ class TestDiscreteSeries(unittest.TestCase):
                                                              '<-10;10)').discretize(
             [0, 1, 2, 3, 4, 5], '(-1;6)'))
 
+        self.assertRaises(NotInDomainError, lambda: FunctionSeries(lambda x: x ** 2,
+                                                             '<-10;10)').discretize(
+            [-100, 0, 1, 2, 3, 4, 5], '(-1;6)'))
+
+
         PTS = [-1, 0, 1, 2, 3, 4, 5]
         sa = FunctionSeries(lambda x: x ** 2, '<-10;10)').discretize(PTS,
                                                                      '(-1;6)')