コード例 #1
0
        public void TestGetHashCode()
        {
            Dsuid dsuid1 = new Dsuid("0000000000001234568790abcdefabcdef");
            Dsuid dsuid2 = new Dsuid("0000000000000000000000000000000001");

            Assert.Equal("0000000000001234568790abcdefabcdef".GetHashCode(), dsuid1.GetHashCode());
            Assert.Equal("0000000000000000000000000000000001".GetHashCode(), dsuid2.GetHashCode());
        }
コード例 #2
0
        public void TestComparable()
        {
            Dsuid               dsuid                  = new Dsuid("0000000000001234568790abcdefabcdef");
            Dsuid               dsuidToCompare         = new Dsuid("0000000000000000000000000000000001");
            IComparable         dsuidComparable        = dsuid;
            IComparable <Dsuid> dsuidGenericComparable = dsuid;

            Assert.True(dsuidComparable.CompareTo(dsuidToCompare) > 0);
            Assert.True(dsuidGenericComparable.CompareTo(dsuidToCompare) > 0);
        }
コード例 #3
0
        public void TestConstructor(string expected, string input)
        {
            Dsuid dsuid = new Dsuid(input);

            Assert.Equal(expected, dsuid.ToString());

            Dsuid dsuidAgain = new Dsuid(dsuid.ToString());

            Assert.Equal(expected, dsuidAgain.ToString());
        }
コード例 #4
0
        public string GetCircuitName(Dsuid circuit)
        {
            LazyLoad();

            if (circuitNames != null && circuitNames.TryGetValue(circuit, out string?name))
            {
                return(name);
            }

            return(circuit.ToString());
        }
コード例 #5
0
        public IEnumerable <Zone> GetCircuitZones(Dsuid circuit)
        {
            LazyLoad();

            if (circuitZones != null && circuitZones.ContainsKey(circuit))
            {
                foreach (var zone in circuitZones[circuit])
                {
                    yield return(zone);
                }
            }

            yield break;
        }
コード例 #6
0
        public void TestEquals()
        {
            Dsuid dsuid1 = new Dsuid("0000000000001234568790abcdefabcdef");
            Dsuid dsuid2 = new Dsuid("0000000000001234568790abcdefabcdef");
            Dsuid dsuid3 = new Dsuid("0000000000000000000000000000000001");

            Assert.True(dsuid1.Equals(dsuid2));
            Assert.False(dsuid2.Equals(dsuid3));

            Assert.True(dsuid1 == dsuid2);
            Assert.False(dsuid2 == dsuid3);

            Assert.False(dsuid1 != dsuid2);
            Assert.True(dsuid2 != dsuid3);
        }
コード例 #7
0
        public void TestSerialization(string input)
        {
            Dsuid dsuidBeforeSerialization = new Dsuid(input);
            Dsuid dsuidAfterSerialization;

            using (var stream = new MemoryStream())
            {
                dsuidBeforeSerialization.WriteTo(stream);

                stream.Seek(0, SeekOrigin.Begin);

                dsuidAfterSerialization = Dsuid.ReadFrom(stream);
            }

            Assert.Equal(dsuidBeforeSerialization, dsuidAfterSerialization);
        }
コード例 #8
0
 /// <summary>
 /// Returns a time series of values for the power consumption of the given circuit.
 /// </summary>
 /// <param name="meterDsuid">The circuits digitalstrom unique id</param>
 /// <param name="resolution">The desired resolution in seconds for the values</param>
 /// <param name="count">The requested number of values</param>
 public async Task <EnergyMeteringResponse> GetEnergy(Dsuid meterDsuid, int resolution, int count)
 {
     return(await Load <EnergyMeteringResponse>(new Uri("/json/metering/getValues", UriKind.Relative)
                                                .AddQuery("dsuid", meterDsuid).AddQuery("type", "consumption")
                                                .AddQuery("resolution", resolution).AddQuery("valueCount", count)));
 }
コード例 #9
0
        public bool IsMeteringCircuit(Dsuid circuit)
        {
            LazyLoad();

            return(circuitsWithMetering?.Contains(circuit) ?? false);
        }