--- /dev/null
+package com.example.multi_module_application.backend;\r
+\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+\r
+/**\r
+ * Generic tests for the CrudService\r
+ */\r
+public class CrudServiceTest {\r
+\r
+ private CrudService<TestBean> service;\r
+\r
+ @Before\r
+ public void setUp() {\r
+ service = new CrudService<>();\r
+ }\r
+\r
+ @Test\r
+ public void testSaveTenBeansToService() {\r
+ for (int i = 0; i < 10; ++i) {\r
+ Assert.assertEquals("Unexpected size of the service storage", service.findAll().size(), i);\r
+ TestBean entity = new TestBean();\r
+ service.save(entity);\r
+ Assert.assertTrue("Storage did not contain new entity", service.findAll().contains(entity));\r
+ }\r
+ }\r
+\r
+ @Test\r
+ public void testRemoveBeanFromService() {\r
+ int i = 0;\r
+ while (i < 10) {\r
+ TestBean entity = new TestBean();\r
+ service.save(entity);\r
+ ++i;\r
+ }\r
+\r
+ Assert.assertEquals("Initial size did not match", service.findAll().size(), i);\r
+ while (service.findAll().size() > 2) {\r
+ TestBean toRemove = service.findAll().get(2);\r
+ service.delete(toRemove);\r
+\r
+ Assert.assertEquals("Size did not match after remove", service.findAll().size(), --i);\r
+ Assert.assertFalse("Storage should not contain removed bean", service.findAll().contains(toRemove));\r
+ }\r
+ }\r
+\r
+ @Test\r
+ public void testAddEntityTwice() {\r
+ TestBean entity = new TestBean();\r
+ service.save(entity);\r
+ Assert.assertEquals("Unexpected size after store", service.findAll().size(), 1);\r
+ service.save(entity);\r
+ Assert.assertEquals("Same bean should not be stored twice", service.findAll().size(), 1);\r
+ }\r
+}\r