From eb82f45c8bed3666f9446d4ab036b54240af8019 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Wed, 12 Oct 2022 22:43:24 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E6=9B=B8=E3=81=8D=E8=BE=BC=E3=81=BF=E5=87=A6=E7=90=86=E3=81=AE?= =?UTF-8?q?=E5=9F=BA=E5=BA=95=E3=82=AF=E3=83=A9=E3=82=B9=E3=81=AE=E3=83=86?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tests/writer/test_file_writer.py | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/ecs/crm-datafetch/tests/writer/test_file_writer.py b/ecs/crm-datafetch/tests/writer/test_file_writer.py index 6097d54b..cb6e748b 100644 --- a/ecs/crm-datafetch/tests/writer/test_file_writer.py +++ b/ecs/crm-datafetch/tests/writer/test_file_writer.py @@ -2,7 +2,35 @@ import os import textwrap import pytest -from src.writer.file_writer import CsvWriter, JsonWriter +from src.writer.file_writer import CsvWriter, FileWriter, JsonWriter + + +class ConcreteFileWriter(FileWriter): + def write(self) -> str: + return super().write() + + +class ConcreteFileWriterAbstractMethodNotImplemented(FileWriter): + pass + + +class TestFileWriter: + + def test_concrete_file_writer_instance_create(self): + concrete_file_writer = ConcreteFileWriter('', '') + assert isinstance(concrete_file_writer, FileWriter) + + def test_concrete_file_writer_call_write_method(self): + concrete_file_writer = ConcreteFileWriter('', '') + concrete_file_writer.write() + + def test_raise_abstract_class_do_not_create_instance(self): + with pytest.raises(TypeError): + FileWriter('', '') + + def test_raise_concrete_file_writer_not_implemented_abstract_method(self): + with pytest.raises(TypeError): + ConcreteFileWriterAbstractMethodNotImplemented('', '') class TestJsonFileWriter: