#!/usr/bin/env python
"""
:Author Patrik Valkovic
:Created 23.06.2017 16:39
:Licence GNUv3
Part of grammpy

"""
from unittest import TestCase
from grammpy import Terminal


class TempClass:
    pass


class TerminalCreationTest(TestCase):
    def test_noneClass(self):
        ter1 = Terminal(0, None)
        ter2 = Terminal(0, TempClass)
        self.assertNotEqual(ter1, ter2)

    def test_noneInstance(self):
        ter1 = Terminal(0, None)
        ter2 = Terminal(0, TempClass())
        self.assertNotEqual(ter1, ter2)

    def test_noneString(self):
        ter1 = Terminal(0, None)
        ter2 = Terminal(0, 'str')
        self.assertNotEqual(ter1, ter2)

    def test_noneNumber(self):
        ter1 = Terminal(0, None)
        ter2 = Terminal(0, 5)
        self.assertNotEqual(ter1, ter2)

    def test_classInstance(self):
        ter1 = Terminal(0, TempClass)
        ter2 = Terminal(0, TempClass())
        self.assertNotEqual(ter1, ter2)

    def test_classString(self):
        ter1 = Terminal(0, TempClass)
        ter2 = Terminal(0, 'str')
        self.assertNotEqual(ter1, ter2)

    def test_classNumber(self):
        ter1 = Terminal(0, TempClass)
        ter2 = Terminal(0, 5)
        self.assertNotEqual(ter1, ter2)

    def test_instanceString(self):
        ter1 = Terminal(0, TempClass())
        ter2 = Terminal(0, 'str')
        self.assertNotEqual(ter1, ter2)

    def test_instanceNumber(self):
        ter1 = Terminal(0, TempClass)
        ter2 = Terminal(0, 5)
        self.assertNotEqual(ter1, ter2)

    def test_stringNumber(self):
        ter1 = Terminal(0, 'str')
        ter2 = Terminal(0, 5)
        self.assertNotEqual(ter1, ter2)

    def test_defferentInstances(self):
        ter1 = Terminal(0, TempClass())
        ter2 = Terminal(0, TempClass())
        self.assertNotEqual(ter1, ter2)

Add tests for Terminal when grammar is different so terminals should not be equal
Add tests for Terminal when grammar is different so terminals should not be equal
