-    def scan(self):
-        """Perform an I2C Device Scan"""
-        # TODO: We need to fake an I2C scan here
-        return self._mcp2221.i2c_scan()
+    def scan(self, address_list = None):
+        """Mocks an I2C scan.
+        If address_list is not provided, this function returns a list of 3 randomly generated I2C addresses from 0x0 to 0x79.
+        For a stimulus-driven test: If address_list is provided, this function returns the provided address_list.
+        """
+        if address_list == None:
+            # Generate a list of 3 randomly generated addresses from 0x0 to 0x79
+            address_list = []
+            for _ in range(3):
+                address_list.append(random.randint(0x0, 0x79))
+            return address_list
+        return address_list