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

118 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-07-22 05:22 +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 EconomicsScheduleMode(models.TextChoices): 

70 STEADY_STATE = "steady_state", "Steady state" 

71 SCENARIO = "scenario", "Production schedule" 

72 COMPOSITE = "composite", "Composite schedule" 

73 

74 

75class EconomicsBaselineMode(models.TextChoices): 

76 MANUAL = "manual", "Manual baseline" 

77 STUDY = "study", "Study baseline" 

78 

79 

80class OutletStreamDisposition(models.TextChoices): 

81 SOLD = "sold", "Sold" 

82 DISPOSED = "disposed", "Disposed" 

83 IGNORED = "ignored", "Ignored" 

84 

85 

86class CostableItemType(models.TextChoices): 

87 SIMULATION_OBJECT = "simulation_object", "Simulation object" 

88 PROJECT_LINE = "project_line", "Project line" 

89 

90 

91class CostDriverSource(models.TextChoices): 

92 PROPERTY = "property", "Property" 

93 MANUAL_OVERRIDE = "manual_override", "Manual override" 

94 UNRESOLVED = "unresolved", "Unresolved" 

95 

96 

97class BulkEquipmentDriverInputMode(models.TextChoices): 

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

99 KEEP = "keep", "Leave unchanged" 

100 MANUAL = "manual", "Manual value" 

101 

102 

103class ResultRunStatus(models.TextChoices): 

104 CURRENT = "current", "Current" 

105 STALE = "stale", "Stale" 

106 DRAFT = "draft", "Draft" 

107 FAILED = "failed", "Failed" 

108 

109 

110class ResultLineKind(models.TextChoices): 

111 CAPITAL = "capital", "Capital" 

112 DEPRECIATION = "depreciation", "Depreciation" 

113 OPERATING = "operating", "Operating" 

114 CASH_FLOW = "cash_flow", "Cash flow" 

115 FINANCIAL_METRIC = "financial_metric", "Financial metric" 

116 WARNING = "warning", "Warning" 

117 SOURCE_LINK = "source_link", "Source link" 

118 

119 

120class ResultDependencyType(models.TextChoices): 

121 ASSUMPTIONS = "assumptions", "Assumptions" 

122 BASELINE = "baseline", "Baseline" 

123 SCHEDULE = "schedule", "Schedule" 

124 COSTABLE_ITEM = "costable_item", "Costable item" 

125 COST_CURVE = "cost_curve", "Cost curve" 

126 CAPITAL_LINE = "capital_line", "Capital line" 

127 OPERATING_LINE = "operating_line", "Operating line" 

128 INDEX_SERIES = "index_series", "Index series" 

129 INDEX_VALUE = "index_value", "Index value" 

130 PROPERTY = "property", "Property" 

131 

132 

133class DefaultRateCategory(models.TextChoices): 

134 UTILITY = "utility", "Utility" 

135 MAINTENANCE = "maintenance", "Maintenance" 

136 

137 

138class DefaultRateType(models.TextChoices): 

139 ELECTRICITY = "electricity", "Electricity" 

140 NATURAL_GAS = "natural_gas", "Natural gas" 

141 DIESEL = "diesel", "Diesel" 

142 FUEL_OIL = "fuel_oil", "Fuel oil" 

143 STEAM = "steam", "Steam" 

144 MAINTENANCE = "maintenance", "Maintenance" 

145 

146 

147class DefaultRateValueKind(models.TextChoices): 

148 REVIEWED_DEFAULT = "reviewed_default", "Source default" 

149 DERIVED_TEMPLATE = "derived_template", "Derived template" 

150 UNAVAILABLE = "unavailable", "Unavailable" 

151 CUSTOM_RATE = "custom_rate", "Custom rate" 

152 

153 

154class DefaultRateReviewStatus(models.TextChoices): 

155 REVIEWED = "reviewed", "Source confirmed" 

156 UNREVIEWED = "unreviewed", "Unreviewed" 

157 UNAVAILABLE = "unavailable", "Unavailable" 

158 CUSTOM = "custom", "Custom" 

159 

160 

161class DefaultRateSourceRole(models.TextChoices): 

162 NUMERIC_SOURCE = "numeric_source", "Numeric source" 

163 CONTEXT_SOURCE = "context_source", "Context source" 

164 BENCHMARK_SOURCE = "benchmark_source", "Benchmark source" 

165 

166 

167class LangFactorDefaultScope(models.TextChoices): 

168 GLOBAL = "global", "Global" 

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

170 EQUIPMENT_CATEGORY = "equipment_category", "Equipment category"