public void Constructor_Sets_Initial_Values() { ThermostatContract thermostat = this.NewThermostat(); this.mockPersistentState.Verify(s => s.SetAddress(nameof(ThermostatContract.Installer), this.installer)); this.mockPersistentState.Verify(s => s.SetAddress(nameof(ThermostatContract.User), this.user)); this.mockPersistentState.Verify(s => s.SetInt32(nameof(ThermostatContract.TargetTemperature), TargetTemperature)); }
public void SetTargetTemperature_Throws_If_Caller_Not_User() { ThermostatContract thermostat = this.NewThermostat(); this.mockPersistentState.Setup(s => s.GetAddress(nameof(ThermostatContract.User))).Returns(this.user); this.mockContractState.Setup(s => s.Message.Sender).Returns(Address.Zero); Assert.Throws <SmartContractAssertException>(() => thermostat.SetTargetTemperature(TargetTemperature - 1)); }
public void StartThermostat_Throws_If_Caller_Not_Installer() { ThermostatContract thermostat = this.NewThermostat(); this.mockPersistentState.Setup(s => s.GetAddress(nameof(ThermostatContract.Installer))).Returns(this.installer); this.mockContractState.Setup(s => s.Message.Sender).Returns(Address.Zero); Assert.Throws <SmartContractAssertException>(() => thermostat.StartThermostat()); }
public void StartThermostat_Throws_If_Caller_Installer_But_State_Not_Created() { ThermostatContract thermostat = this.NewThermostat(); this.mockPersistentState.Setup(s => s.GetUInt32(nameof(ThermostatContract.State))).Returns((uint)ThermostatContract.StateType.InUse); this.mockPersistentState.Setup(s => s.GetAddress(nameof(ThermostatContract.Installer))).Returns(this.installer); this.mockContractState.Setup(s => s.Message.Sender).Returns(this.installer); Assert.Throws <SmartContractAssertException>(() => thermostat.StartThermostat()); }
public void SetMode_Invalid_Does_Not_Set_Mode(uint mode) { ThermostatContract thermostat = this.NewThermostat(); this.mockPersistentState.Setup(s => s.GetUInt32(nameof(ThermostatContract.State))).Returns((uint)ThermostatContract.StateType.InUse); this.mockPersistentState.Setup(s => s.GetAddress(nameof(ThermostatContract.User))).Returns(this.user); this.mockContractState.Setup(s => s.Message.Sender).Returns(this.user); Assert.Throws <SmartContractAssertException>(() => thermostat.SetMode(mode)); }
public void SetTargetTemperature_Throws_If_Caller_User_But_State_Not_InUse() { ThermostatContract thermostat = this.NewThermostat(); this.mockPersistentState.Setup(s => s.GetUInt32(nameof(ThermostatContract.State))).Returns((uint)ThermostatContract.StateType.Created); this.mockPersistentState.Setup(s => s.GetAddress(nameof(ThermostatContract.User))).Returns(this.user); this.mockContractState.Setup(s => s.Message.Sender).Returns(this.user); Assert.Throws <SmartContractAssertException>(() => thermostat.SetTargetTemperature(TargetTemperature - 1)); }
public void StartThermostat_Sets_State_InUse() { ThermostatContract thermostat = this.NewThermostat(); this.mockPersistentState.Setup(s => s.GetUInt32(nameof(ThermostatContract.State))).Returns((uint)ThermostatContract.StateType.Created); this.mockPersistentState.Setup(s => s.GetAddress(nameof(ThermostatContract.Installer))).Returns(this.installer); this.mockContractState.Setup(s => s.Message.Sender).Returns(this.installer); thermostat.StartThermostat(); this.mockPersistentState.Verify(s => s.SetUInt32(nameof(ThermostatContract.State), (uint)ThermostatContract.StateType.InUse)); }
public void SetMode_Sets_Mode(uint mode) { ThermostatContract thermostat = this.NewThermostat(); this.mockPersistentState.Setup(s => s.GetUInt32(nameof(ThermostatContract.State))).Returns((uint)ThermostatContract.StateType.InUse); this.mockPersistentState.Setup(s => s.GetAddress(nameof(ThermostatContract.User))).Returns(this.user); this.mockContractState.Setup(s => s.Message.Sender).Returns(this.user); thermostat.SetMode(mode); this.mockPersistentState.Verify(s => s.SetUInt32(nameof(ThermostatContract.Mode), mode)); }
public void SetTargetTemperature_Sets_TargetTemperature(int targetTemperature) { ThermostatContract thermostat = this.NewThermostat(); this.mockPersistentState.Setup(s => s.GetUInt32(nameof(ThermostatContract.State))).Returns((uint)ThermostatContract.StateType.InUse); this.mockPersistentState.Setup(s => s.GetAddress(nameof(ThermostatContract.User))).Returns(this.user); this.mockContractState.Setup(s => s.Message.Sender).Returns(this.user); thermostat.SetTargetTemperature(targetTemperature); this.mockPersistentState.Verify(s => s.SetInt32(nameof(ThermostatContract.TargetTemperature), targetTemperature)); }