-        # self._mcp2221._i2c_configure(frequency)
-
-    def scan(self):
-        """Perform an I2C Device Scan"""
-        # TODO: We need to fake an I2C scan here
-        return self._mcp2221.i2c_scan()
-
-    # pylint: disable=unused-argument
-    def writeto(self, address, buffer, *, start=0, end=None, stop=True):
-        """Write data from the buffer to an address"""
-        #self._mcp2221.i2c_writeto(address, buffer, start=start, end=end)
-
-    def readfrom_into(self, address, buffer, *, start=0, end=None, stop=True):
-        """Read data from an address and into the buffer"""
-        #self._mcp2221.i2c_readfrom_into(address, buffer, start=start, end=end)
-
-    def writeto_then_readfrom(
-        self,
-        address,
-        buffer_out,
-        buffer_in,
-        *,
-        out_start=0,
-        out_end=None,
-        in_start=0,
-        in_end=None,
-        stop=False,
-    ):
-        """Write data from buffer_out to an address and then
-        read data from an address and into buffer_in
+        self._freq = frequency
+
+    @staticmethod
+    def scan(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.