internal void GetCimEnergyQuantity_WhenQuantityMissing_ReturnZero(TimeSeriesPoint sut)
        {
            // Arrange
            sut.QuantityMissing = true;
            sut.EnergyQuantity  = FixedTestQuantity;

            // Act
            var result = sut.GetCimEnergyQuantity();

            // Assert
            Assert.Equal(0.0m, result);
        }
        internal void GetCimEnergyQuantity_WhenEnergyQuantity_ReturnQuantity(TimeSeriesPoint sut)
        {
            // Arrange
            sut.QuantityMissing = false;
            sut.EnergyQuantity  = FixedTestQuantity;

            // Act
            var result = sut.GetCimEnergyQuantity();

            // Assert
            Assert.Equal(FixedTestQuantity, result);
        }
        private static void WriteTimeSeriesPoint(
            Utf8JsonWriter writer, TimeSeriesPoint point, RSM012Fragments fragments)
        {
            writer.WriteStartObject();

            writer.WriteNumber("Position", point.Position);
            writer.WriteNumber("Quantity", point.GetCimEnergyQuantity());
            writer.WriteString("Quality", point.GetCimQuantityQuality());
            writer.WriteString(
                "Time",
                Iso8601Duration.GetObservationTime(
                    fragments.ObservationTimeSeriesPeriod?.Start,
                    fragments.ObservationTimeSeriesPeriod?.ResolutionDuration,
                    point.Position).ToString());

            writer.WriteEndObject();
        }