Coverage for backend/django/Economics/shared/choices.py: 100%

110 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-06-23 21:51 +0000

1from django.db import models 

2 

3 

4class AnnualHeatBasisUnit(models.TextChoices): 

5 MJ_PER_YEAR = "MJ/year", "MJ/year" 

6 GJ_PER_YEAR = "GJ/year", "GJ/year" 

7 PJ_PER_YEAR = "PJ/year", "PJ/year" 

8 

9 

10class AnnualHeatBasisMode(models.TextChoices): 

11 EXPLICIT = "explicit", "Explicit" 

12 AVERAGE_POWER = "average_power", "Hourly heat quantity" 

13 

14 

15class AveragePowerUnit(models.TextChoices): 

16 MJ_PER_HOUR = "MJ/hr", "MJ/hr" 

17 GJ_PER_HOUR = "GJ/hr", "GJ/hr" 

18 PJ_PER_HOUR = "PJ/hr", "PJ/hr" 

19 

20 

21class CostBasis(models.TextChoices): 

22 PURCHASE = "purchase", "Purchase" 

23 INSTALLED = "installed", "Installed" 

24 

25 

26class CostCurveEvaluationKind(models.TextChoices): 

27 EXPRESSION = "expression", "Expression" 

28 DISCRETE_FAMILY = "discrete_family", "Discrete family" 

29 

30 

31class CapitalLineBasis(models.TextChoices): 

32 FIXED = "fixed", "Fixed amount" 

33 BASE_CAPEX_PERCENT = "base_capex_percent", "Percent of base CAPEX" 

34 

35 

36class CapitalLineDepreciationMode(models.TextChoices): 

37 STUDY_DEFAULT = "study_default", "Study default" 

38 CUSTOM = "custom", "Custom" 

39 EXCLUDED = "excluded", "Excluded" 

40 

41 

42class OperatingLineCategory(models.TextChoices): 

43 ENERGY = "energy", "Energy" 

44 FEEDSTOCK = "feedstock", "Feedstock" 

45 OUTPUT_REVENUE = "output_revenue", "Output revenue" 

46 DISPOSAL = "disposal", "Disposal" 

47 MAINTENANCE = "maintenance", "Maintenance" 

48 LABOUR = "labour", "Labour" 

49 FIXED_ANNUAL = "fixed_annual", "Fixed annual" 

50 CUSTOM = "custom", "Custom" 

51 

52 

53class OperatingLineEconomicEffect(models.TextChoices): 

54 COST = "cost", "Cost" 

55 REVENUE = "revenue", "Revenue" 

56 

57 

58class OperatingLineRateSourceMode(models.TextChoices): 

59 PROJECT_DEFAULT = "project_default", "Project default" 

60 SOURCE_DEFAULT = "source_default", "Source default" 

61 CUSTOM = "custom", "Custom" 

62 

63 

64class OperatingLineBasisQuantitySource(models.TextChoices): 

65 SOURCE_PROPERTY = "source_property", "Source property" 

66 MANUAL_OVERRIDE = "manual_override", "Manual override" 

67 

68 

69class OutletStreamDisposition(models.TextChoices): 

70 SOLD = "sold", "Sold" 

71 DISPOSED = "disposed", "Disposed" 

72 IGNORED = "ignored", "Ignored" 

73 

74 

75class CostableItemType(models.TextChoices): 

76 SIMULATION_OBJECT = "simulation_object", "Simulation object" 

77 PROJECT_LINE = "project_line", "Project line" 

78 

79 

80class CostDriverSource(models.TextChoices): 

81 PROPERTY = "property", "Property" 

82 MANUAL_OVERRIDE = "manual_override", "Manual override" 

83 UNRESOLVED = "unresolved", "Unresolved" 

84 

85 

86class BulkEquipmentDriverInputMode(models.TextChoices): 

87 AUTO_PROPERTY = "auto_property", "Auto-select property" 

88 KEEP = "keep", "Leave unchanged" 

89 MANUAL = "manual", "Manual value" 

90 

91 

92class ResultRunStatus(models.TextChoices): 

93 CURRENT = "current", "Current" 

94 STALE = "stale", "Stale" 

95 DRAFT = "draft", "Draft" 

96 FAILED = "failed", "Failed" 

97 

98 

99class ResultLineKind(models.TextChoices): 

100 CAPITAL = "capital", "Capital" 

101 DEPRECIATION = "depreciation", "Depreciation" 

102 OPERATING = "operating", "Operating" 

103 CASH_FLOW = "cash_flow", "Cash flow" 

104 FINANCIAL_METRIC = "financial_metric", "Financial metric" 

105 WARNING = "warning", "Warning" 

106 SOURCE_LINK = "source_link", "Source link" 

107 

108 

109class ResultDependencyType(models.TextChoices): 

110 ASSUMPTIONS = "assumptions", "Assumptions" 

111 BASELINE = "baseline", "Baseline" 

112 COSTABLE_ITEM = "costable_item", "Costable item" 

113 COST_CURVE = "cost_curve", "Cost curve" 

114 CAPITAL_LINE = "capital_line", "Capital line" 

115 OPERATING_LINE = "operating_line", "Operating line" 

116 INDEX_SERIES = "index_series", "Index series" 

117 INDEX_VALUE = "index_value", "Index value" 

118 PROPERTY = "property", "Property" 

119 

120 

121class DefaultRateCategory(models.TextChoices): 

122 UTILITY = "utility", "Utility" 

123 MAINTENANCE = "maintenance", "Maintenance" 

124 

125 

126class DefaultRateType(models.TextChoices): 

127 ELECTRICITY = "electricity", "Electricity" 

128 NATURAL_GAS = "natural_gas", "Natural gas" 

129 DIESEL = "diesel", "Diesel" 

130 FUEL_OIL = "fuel_oil", "Fuel oil" 

131 STEAM = "steam", "Steam" 

132 MAINTENANCE = "maintenance", "Maintenance" 

133 

134 

135class DefaultRateValueKind(models.TextChoices): 

136 REVIEWED_DEFAULT = "reviewed_default", "Source default" 

137 DERIVED_TEMPLATE = "derived_template", "Derived template" 

138 UNAVAILABLE = "unavailable", "Unavailable" 

139 CUSTOM_RATE = "custom_rate", "Custom rate" 

140 

141 

142class DefaultRateReviewStatus(models.TextChoices): 

143 REVIEWED = "reviewed", "Source confirmed" 

144 UNREVIEWED = "unreviewed", "Unreviewed" 

145 UNAVAILABLE = "unavailable", "Unavailable" 

146 CUSTOM = "custom", "Custom" 

147 

148 

149class DefaultRateSourceRole(models.TextChoices): 

150 NUMERIC_SOURCE = "numeric_source", "Numeric source" 

151 CONTEXT_SOURCE = "context_source", "Context source" 

152 BENCHMARK_SOURCE = "benchmark_source", "Benchmark source" 

153 

154 

155class LangFactorDefaultScope(models.TextChoices): 

156 GLOBAL = "global", "Global" 

157 UNIT_OPERATION_TYPE = "unit_operation_type", "Unit-operation type" 

158 EQUIPMENT_CATEGORY = "equipment_category", "Equipment category"