diff --git a/src/emuvim/test/test_resourcemodel_api.py b/src/emuvim/test/test_resourcemodel_api.py
index 2ec31a0..f31f3e4 100644
--- a/src/emuvim/test/test_resourcemodel_api.py
+++ b/src/emuvim/test/test_resourcemodel_api.py
@@ -1,13 +1,22 @@
+import time
 from emuvim.test.base import SimpleTestTopology
-from emuvim.dcemulator.resourcemodel import BaseResourceModel
+from emuvim.dcemulator.resourcemodel import BaseResourceModel, ResourceFlavor
 
 
 class testResourceModel(SimpleTestTopology):
 
     def testBaseResourceModelApi(self):
-        pass
-        # TODO test add flavor etc.
-        # TODO test aaloc / free
+        r = BaseResourceModel()
+        # check if default flavors are there
+        assert(len(r._flavors) == 5)
+        # check addFlavor functionality
+        f = ResourceFlavor("test", {"testmetric": 42})
+        r.addFlavour(f)
+        assert("test" in r._flavors)
+        assert(r._flavors.get("test").get("testmetric") == 42)
+        # test if allocate and free runs through
+        assert(len(r.allocate("testc", "tiny")) == 3)  # expected: 3tuple
+        assert(r.free("testc"))
 
     def testAddRmToDc(self):
         # create network
@@ -27,8 +36,15 @@
         # check resource model and resource model registrar
         assert(self.dc[0]._resource_model is not None)
         assert(self.net.rm_registrar.num_models == 1)
-        # TODO test if alloc was called on start
-        # TODO if free was called on stop
+
+        # check if alloc was called during startCompute
+        assert(len(r.allocated_compute_instances) == 0)
+        self.dc[0].startCompute("tc1")
+        time.sleep(1)
+        assert(len(r.allocated_compute_instances) == 1)
+        # check if free was called during stopCompute
+        self.dc[0].stopCompute("tc1")
+        assert(len(r.allocated_compute_instances) == 0)
         # check connectivity by using ping
         assert(self.net.ping([self.h[0], self.h[1]]) <= 0.0)
         # stop Mininet network
