public void GetHashCodeEqualTest() { var _SensorHashCode1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "5").GetHashCode(); var _SensorHashCode2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "5").GetHashCode(); Assert.AreEqual(_SensorHashCode1, _SensorHashCode2); }
public void CompareToEqualsTest() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "1"); Assert.IsTrue(_EVSE_Id1.CompareTo(_EVSE_Id2) == 0); }
public void EqualsEqualsTest() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "1"); Assert.IsTrue(_EVSE_Id1.Equals(_EVSE_Id2)); }
public void op_BiggerOrEqual_Bigger1_Test() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "2"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "1"); Assert.IsTrue(_EVSE_Id1 >= _EVSE_Id2); }
public void CompareToSmallerTest1() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "2"); Assert.IsTrue(_EVSE_Id1.CompareTo(_EVSE_Id2) < 0); }
public void op_BiggerOrEqual_SmallerThan2_Test() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "5"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "23"); Assert.IsFalse(_EVSE_Id1 >= _EVSE_Id2); }
public void op_Bigger_Bigger2_Test() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "23"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "5"); Assert.IsTrue(_EVSE_Id1 > _EVSE_Id2); }
public void op_Bigger_Smaller1_Test() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "2"); Assert.IsFalse(_EVSE_Id1 > _EVSE_Id2); }
public void op_Equality_NotEquals_Test() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "2"); Assert.IsFalse(_EVSE_Id1 == _EVSE_Id2); }
public void op_Smaller_Smaller1_Test() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "2"); Assert.Throws <ArgumentNullException>(() => { var x = _EVSE_Id1 < _EVSE_Id2; }); }
public void op_Inequality_Equals_Test() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); Assert.IsFalse(_EVSE_Id1 != _EVSE_Id2); }
public void EVSE_IdStringConstructorTest() { var _EVSE_Id = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "123"); Assert.AreEqual("123", _EVSE_Id.ToString()); Assert.AreEqual(3, _EVSE_Id.Length); }
public void op_Inequality_NotEquals2_Test() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "5"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "23"); Assert.IsTrue(_EVSE_Id1 != _EVSE_Id2); }
public void GetHashCodeNotEqualTest() { var _SensorHashCode1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1").GetHashCode(); var _SensorHashCode2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "2").GetHashCode(); Assert.AreNotEqual(_SensorHashCode1, _SensorHashCode2); }
public void CompareToBiggerTest() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "2"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); Assert.IsTrue(_EVSE_Id1.CompareTo(_EVSE_Id2) > 0); }
public void EqualsNotEqualsTest() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "2"); Assert.IsFalse(_EVSE_Id1.Equals(_EVSE_Id2)); }
public void op_BiggerOrEqual_Bigger2_Test() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "23"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "5"); Assert.IsTrue(_EVSE_Id1 >= _EVSE_Id2); }
public void CompareToSmallerTest2() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "5"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "23"); Assert.IsTrue(_EVSE_Id1.CompareTo(_EVSE_Id2) < 0); }
public void op_BiggerOrEqual_SmallerThan1_Test() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "2"); Assert.IsFalse(_EVSE_Id1 >= _EVSE_Id2); }
public void op_Bigger_Bigger1_Test() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "2"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); Assert.IsTrue(_EVSE_Id1 > _EVSE_Id2); }
public void op_Bigger_Smaller2_Test() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "5"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "23"); Assert.IsFalse(_EVSE_Id1 > _EVSE_Id2); }
public void op_SmallerOrEqual_Equals_Test() { var _EVSE_Id1 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); Assert.IsTrue(_EVSE_Id1 <= _EVSE_Id2); }
public void op_SmallerOrEqual_SmallerThan1_Test() { var _EVSE_Id1 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "1"); var _EVSE_Id2 = EVSE_Id.Parse(EVSEOperator_Id.Parse(Country.Germany, "822"), "2"); Assert.IsTrue(_EVSE_Id1 <= _EVSE_Id2); }
public void EVSE_IdsAndNUnitTest() { var a = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); var b = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "2"); var c = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); Assert.AreEqual(a, a); Assert.AreEqual(b, b); Assert.AreEqual(c, c); Assert.AreEqual(a, c); Assert.AreNotEqual(a, b); Assert.AreNotEqual(b, c); }
public void Test0() { var _rn = new RoamingNetwork(RoamingNetwork_Id.Parse("Test1")); var _op = _rn.CreateChargingStationOperator(ChargingStationOperator_Id.Parse("DE*822")); var _cp = _op.CreateChargingPool(); _cp.StatusAggregationDelegate = report => { var max = report.Max(v => v.Value); var max_n = report.Where(o => o.Value == max); return((ChargingPoolStatusTypes)max_n.OrderBy(o => o.Key).First().Key); }; _cp.OnStatusChanged += async(ts, EventTrackingId, pool, os, ns) => { Console.WriteLine("New pool state: " + ns.Value); }; var s1 = _cp.CreateChargingStation(ChargingStation_Id.Random(_op.Id)); s1.StatusAggregationDelegate = report => { var max = report.Max(v => v.Value); var max_n = report.Where(o => o.Value == max); return((ChargingStationStatusTypes)max_n.OrderBy(o => o.Key).First().Key); }; s1.OnStatusChanged += async(ts, EventTrackingId, sta, os, ns) => { Console.WriteLine("New station #1 state: " + ns.Value); }; var e1 = s1.CreateEVSE(EVSE_Id.Parse("DE*822*E1111*1")); var e2 = s1.CreateEVSE(EVSE_Id.Parse("DE*822*E1111*2")); var e3 = s1.CreateEVSE(EVSE_Id.Parse("DE*822*E1111*3")); var s2 = _cp.CreateChargingStation(ChargingStation_Id.Random(_op.Id)); s2.StatusAggregationDelegate = report => { var max = report.Max(v => v.Value); var max_n = report.Where(o => o.Value == max); return((ChargingStationStatusTypes)max_n.OrderBy(o => o.Key).First().Key); }; s2.OnStatusChanged += async(ts, EventTrackingId, sta, os, ns) => { Console.WriteLine("New station #2 state: " + ns.Value); }; var f1 = s2.CreateEVSE(EVSE_Id.Parse("DE*822*E2222*1")); var f2 = s2.CreateEVSE(EVSE_Id.Parse("DE*822*E2222*2")); var f3 = s2.CreateEVSE(EVSE_Id.Parse("DE*822*E2222*3")); e1.Status = EVSEStatusTypes.Available; e2.Status = EVSEStatusTypes.Available; e3.Status = EVSEStatusTypes.Available; f1.Status = EVSEStatusTypes.Available; f2.Status = EVSEStatusTypes.Available; f3.Status = EVSEStatusTypes.Available; e2.Status = EVSEStatusTypes.Charging; e3.Status = EVSEStatusTypes.Charging; }
public void EVSE_IdsInHashSetTest() { var a = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); var b = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "2"); var c = EVSE_Id.Parse(ChargingStationOperator_Id.Parse(Country.Germany, "822"), "1"); var _HashSet = new HashSet <EVSE_Id>(); Assert.AreEqual(0, _HashSet.Count); _HashSet.Add(a); Assert.AreEqual(1, _HashSet.Count); _HashSet.Add(b); Assert.AreEqual(2, _HashSet.Count); _HashSet.Add(c); Assert.AreEqual(2, _HashSet.Count); }
public static void EVSE_SerializeDeserialize_Test01() { #region Define EVSE1 var EVSE1 = new EVSE( EVSE_UId.Parse("DE*GEF*E*LOC0001*1"), StatusTypes.AVAILABLE, new Connector[] { new Connector( Connector_Id.Parse("1"), ConnectorTypes.IEC_62196_T2, ConnectorFormats.SOCKET, PowerTypes.AC_3_PHASE, 400, 30, 12, new Tariff_Id[] { Tariff_Id.Parse("DE*GEF*T0001"), Tariff_Id.Parse("DE*GEF*T0002") }, URL.Parse("https://open.charging.cloud/terms"), DateTime.Parse("2020-09-21T00:00:00Z") ), new Connector( Connector_Id.Parse("2"), ConnectorTypes.IEC_62196_T2_COMBO, ConnectorFormats.CABLE, PowerTypes.AC_3_PHASE, 400, 20, 8, new Tariff_Id[] { Tariff_Id.Parse("DE*GEF*T0003"), Tariff_Id.Parse("DE*GEF*T0004") }, URL.Parse("https://open.charging.cloud/terms"), DateTime.Parse("2020-09-21T00:00:00Z") ) }, EVSE_Id.Parse("DE*GEF*E*LOC0001*1"), new StatusSchedule[] { new StatusSchedule( StatusTypes.INOPERATIVE, DateTime.Parse("2020-09-22T00:00:00.000Z"), DateTime.Parse("2020-09-23T00:00:00.000Z") ), new StatusSchedule( StatusTypes.OUTOFORDER, DateTime.Parse("2020-12-30T00:00:00.000Z"), DateTime.Parse("2020-12-31T00:00:00.000Z") ) }, new CapabilityTypes[] { CapabilityTypes.RFID_READER, CapabilityTypes.RESERVABLE }, "1. Stock", GeoCoordinate.Parse(10.1, 20.2), "Ladestation #1", new DisplayText[] { DisplayText.Create(Languages.de, "Bitte klingeln!"), DisplayText.Create(Languages.en, "Ken sent me!") }, new ParkingRestrictions[] { ParkingRestrictions.EV_ONLY, ParkingRestrictions.PLUGGED }, new Image[] { new Image( URL.Parse("http://example.com/pinguine.jpg"), ImageFileType.jpeg, ImageCategories.OPERATOR, 100, 150, URL.Parse("http://example.com/kleine_pinguine.jpg") ), new Image( URL.Parse("http://example.com/wellensittiche.jpg"), ImageFileType.png, ImageCategories.ENTRANCE, 200, 300, URL.Parse("http://example.com/kleine_wellensittiche.jpg") ) }, DateTime.Parse("2020-09-18T00:00:00Z") ); #endregion var JSON = EVSE1.ToJSON(); Assert.AreEqual("DE*GEF*E*LOC0001*1", JSON["uid"].Value <String>()); Assert.AreEqual("AVAILABLE", JSON["status"].Value <String>()); Assert.AreEqual("1", JSON["connectors"] [0]["id"].Value <String>()); Assert.AreEqual("2", JSON["connectors"] [1]["id"].Value <String>()); Assert.AreEqual("DE*GEF*E*LOC0001*1", JSON["evse_id"].Value <String>()); Assert.AreEqual("INOPERATIVE", JSON["status_schedule"] [0]["status"].Value <String>()); Assert.AreEqual("2020-09-22T00:00:00.000Z", JSON["status_schedule"] [0]["period_begin"].Value <String>()); Assert.AreEqual("2020-09-23T00:00:00.000Z", JSON["status_schedule"] [0]["period_end"].Value <String>()); Assert.AreEqual("OUTOFORDER", JSON["status_schedule"] [1]["status"].Value <String>()); Assert.AreEqual("2020-12-30T00:00:00.000Z", JSON["status_schedule"] [1]["period_begin"].Value <String>()); Assert.AreEqual("2020-12-31T00:00:00.000Z", JSON["status_schedule"] [1]["period_end"].Value <String>()); Assert.AreEqual("RFID_READER", JSON["capabilities"] [0].Value <String>()); Assert.AreEqual("RESERVABLE", JSON["capabilities"] [1].Value <String>()); Assert.AreEqual("1. Stock", JSON["floor_level"].Value <String>()); Assert.AreEqual("10.1000000", JSON["coordinates"] ["latitude"].Value <String>()); Assert.AreEqual("20.2000000", JSON["coordinates"] ["longitude"].Value <String>()); Assert.AreEqual("Ladestation #1", JSON["physical_reference"].Value <String>()); Assert.AreEqual("de", JSON["directions"] [0]["language"].Value <String>()); Assert.AreEqual("Bitte klingeln!", JSON["directions"] [0]["text"].Value <String>()); Assert.AreEqual("en", JSON["directions"] [1]["language"].Value <String>()); Assert.AreEqual("Ken sent me!", JSON["directions"] [1]["text"].Value <String>()); Assert.AreEqual("EV_ONLY", JSON["parking_restrictions"][0].Value <String>()); Assert.AreEqual("PLUGGED", JSON["parking_restrictions"][1].Value <String>()); Assert.AreEqual("http://example.com/pinguine.jpg", JSON["images"] [0]["url"].Value <String>()); Assert.AreEqual("http://example.com/kleine_pinguine.jpg", JSON["images"] [0]["thumbnail"].Value <String>()); Assert.AreEqual("OPERATOR", JSON["images"] [0]["category"].Value <String>()); Assert.AreEqual("jpeg", JSON["images"] [0]["type"].Value <String>()); Assert.AreEqual(100, JSON["images"] [0]["width"].Value <UInt16>()); Assert.AreEqual(150, JSON["images"] [0]["height"].Value <UInt16>()); Assert.AreEqual("http://example.com/wellensittiche.jpg", JSON["images"] [1]["url"].Value <String>()); Assert.AreEqual("2020-09-18T00:00:00.000Z", JSON["last_updated"].Value <String>()); Assert.IsTrue(EVSE.TryParse(JSON, out EVSE EVSE2, out String ErrorResponse)); Assert.IsNull(ErrorResponse); Assert.AreEqual(EVSE1.UId, EVSE2.UId); Assert.AreEqual(EVSE1.Status, EVSE2.Status); Assert.AreEqual(EVSE1.Connectors, EVSE2.Connectors); Assert.AreEqual(EVSE1.EVSEId, EVSE2.EVSEId); Assert.AreEqual(EVSE1.StatusSchedule, EVSE2.StatusSchedule); Assert.AreEqual(EVSE1.Capabilities, EVSE2.Capabilities); Assert.AreEqual(EVSE1.FloorLevel, EVSE2.FloorLevel); Assert.AreEqual(EVSE1.Coordinates, EVSE2.Coordinates); Assert.AreEqual(EVSE1.PhysicalReference, EVSE2.PhysicalReference); Assert.AreEqual(EVSE1.Directions, EVSE2.Directions); Assert.AreEqual(EVSE1.ParkingRestrictions, EVSE2.ParkingRestrictions); Assert.AreEqual(EVSE1.Images, EVSE2.Images); Assert.AreEqual(EVSE1.LastUpdated.ToIso8601(), EVSE2.LastUpdated.ToIso8601()); }
public static void CDR_SerializeDeserialize_Test01() { #region Defined CDR1 var CDR1 = new CDR(CountryCode.Parse("DE"), Party_Id.Parse("GEF"), CDR_Id.Parse("CDR0001"), DateTime.Parse("2020-04-12T18:20:19Z"), DateTime.Parse("2020-04-12T22:20:19Z"), new CDRToken( Token_Id.Parse("1234"), TokenTypes.RFID, Contract_Id.Parse("C1234") ), AuthMethods.AUTH_REQUEST, new CDRLocation( Location_Id.Parse("LOC0001"), "Biberweg 18", "Jena", "Deutschland", GeoCoordinate.Parse(10, 20), EVSE_UId.Parse("DE*GEF*E*LOC0001*1"), EVSE_Id.Parse("DE*GEF*E*LOC0001*1"), Connector_Id.Parse("1"), ConnectorTypes.IEC_62196_T2, ConnectorFormats.SOCKET, PowerTypes.AC_3_PHASE, "Name?", "07749" ), Currency.EUR, new ChargingPeriod[] { new ChargingPeriod( DateTime.Parse("2020-04-12T18:21:49Z"), new CDRDimension[] { new CDRDimension( CDRDimensions.ENERGY, 1.33M ) }, Tariff_Id.Parse("DE*GEF*T0001") ), new ChargingPeriod( DateTime.Parse("2020-04-12T18:21:50Z"), new CDRDimension[] { new CDRDimension( CDRDimensions.TIME, 5.12M ) }, Tariff_Id.Parse("DE*GEF*T0002") ) }, // Total costs new Price( 10.00, 11.60 ), // Total Energy 50.00M, // Total time TimeSpan.FromMinutes(30), Session_Id.Parse("0815"), AuthorizationReference.Parse("Auth0815"), Meter_Id.Parse("Meter0815"), // OCPI Computer Science Extentions new EnergyMeter( Meter_Id.Parse("Meter0815"), "EnergyMeter Model #1", "hw. v1.80", "fw. v1.20", "Energy Metering Services", null, null ), // OCPI Computer Science Extentions new TransparencySoftware[] { new TransparencySoftware( "Chargy Transparency Software Desktop Application", "v1.00", LegalStatus.LegallyBinding, OpenSourceLicenses.GPL3, "GraphDefined GmbH", URL.Parse("https://open.charging.cloud/logo.svg"), URL.Parse("https://open.charging.cloud/Chargy/howto"), URL.Parse("https://open.charging.cloud/Chargy"), URL.Parse("https://github.com/OpenChargingCloud/ChargyDesktopApp") ), new TransparencySoftware( "Chargy Transparency Software Mobile Application", "v1.00", LegalStatus.ForInformationOnly, OpenSourceLicenses.GPL3, "GraphDefined GmbH", URL.Parse("https://open.charging.cloud/logo.svg"), URL.Parse("https://open.charging.cloud/Chargy/howto"), URL.Parse("https://open.charging.cloud/Chargy"), URL.Parse("https://github.com/OpenChargingCloud/ChargyMobileApp") ) }, new Tariff[] { new Tariff( CountryCode.Parse("DE"), Party_Id.Parse("GEF"), Tariff_Id.Parse("TARIFF0001"), Currency.EUR, new TariffElement[] { new TariffElement( new PriceComponent[] { PriceComponent.ChargingTime( TimeSpan.FromSeconds(300), 2.00M, 0.10M ) }, new TariffRestrictions [] { new TariffRestrictions( Time.FromHourMin(08, 00), // Start time Time.FromHourMin(18, 00), // End time DateTime.Parse("2020-12-01"), // Start timestamp DateTime.Parse("2020-12-31"), // End timestamp 1.12M, // MinkWh 5.67M, // MaxkWh 1.34M, // MinCurrent 8.89M, // MaxCurrent 1.49M, // MinPower 9.91M, // MaxPower TimeSpan.FromMinutes(10), // MinDuration TimeSpan.FromMinutes(30), // MaxDuration new DayOfWeek[] { DayOfWeek.Monday, DayOfWeek.Tuesday }, ReservationRestrictionTypes.RESERVATION ) } ) }, TariffTypes.PROFILE_GREEN, new DisplayText[] { new DisplayText(Languages.de, "Hallo Welt!"), new DisplayText(Languages.en, "Hello world!"), }, URL.Parse("https://open.charging.cloud"), new Price( // Min Price 1.10, 1.26 ), new Price( // Max Price 2.20, 2.52 ), DateTime.Parse("2020-12-01"), // Start timestamp DateTime.Parse("2020-12-31"), // End timestamp new EnergyMix( true, new EnergySource[] { new EnergySource( EnergySourceCategories.SOLAR, 80 ), new EnergySource( EnergySourceCategories.WIND, 20 ) }, new EnvironmentalImpact[] { new EnvironmentalImpact( EnvironmentalImpactCategories.CARBON_DIOXIDE, 0.1 ) }, "Stadtwerke Jena-Ost", "New Green Deal" ), DateTime.Parse("2020-09-22") ) }, new SignedData( EncodingMethod.GraphDefiened, new SignedValue[] { new SignedValue( SignedValueNature.START, "PlainStartValue", "SignedStartValue" ), new SignedValue( SignedValueNature.INTERMEDIATE, "PlainIntermediateValue", "SignedIntermediateValue" ), new SignedValue( SignedValueNature.END, "PlainEndValue", "SignedEndValue" ) }, 1, // Encoding method version null, // Public key "https://open.charging.cloud/pools/1/stations/1/evse/1/publicKey" ), // Total Fixed Costs new Price( 20.00, 23.10 ), // Total Energy Cost new Price( 20.00, 23.10 ), // Total Time Cost new Price( 20.00, 23.10 ), // Total Parking Time TimeSpan.FromMinutes(120), // Total Parking Cost new Price( 20.00, 23.10 ), // Total Reservation Cost new Price( 20.00, 23.10 ), "Remark!", InvoiceReference_Id.Parse("Invoice:0815"), true, // IsCredit CreditReference_Id.Parse("Credit:0815"), DateTime.Parse("2020-09-12") ); #endregion var JSON = CDR1.ToJSON(); Assert.AreEqual("DE", JSON["country_code"].Value <String>()); Assert.AreEqual("GEF", JSON["party_id"].Value <String>()); Assert.AreEqual("CDR0001", JSON["id"].Value <String>()); Assert.IsTrue(CDR.TryParse(JSON, out CDR CDR2, out String ErrorResponse)); Assert.IsNull(ErrorResponse); Assert.AreEqual(CDR1.CountryCode, CDR2.CountryCode); Assert.AreEqual(CDR1.PartyId, CDR2.PartyId); Assert.AreEqual(CDR1.Id, CDR2.Id); Assert.AreEqual(CDR1.Start.ToIso8601(), CDR2.Start.ToIso8601()); Assert.AreEqual(CDR1.End.ToIso8601(), CDR2.End.ToIso8601()); Assert.AreEqual(CDR1.CDRToken, CDR2.CDRToken); Assert.AreEqual(CDR1.AuthMethod, CDR2.AuthMethod); Assert.AreEqual(CDR1.Location, CDR2.Location); Assert.AreEqual(CDR1.Currency, CDR2.Currency); Assert.AreEqual(CDR1.ChargingPeriods, CDR2.ChargingPeriods); Assert.AreEqual(CDR1.TotalCosts, CDR2.TotalCosts); Assert.AreEqual(CDR1.TotalEnergy, CDR2.TotalEnergy); Assert.AreEqual(CDR1.TotalTime, CDR2.TotalTime); Assert.AreEqual(CDR1.SessionId, CDR2.SessionId); Assert.AreEqual(CDR1.AuthorizationReference, CDR2.AuthorizationReference); Assert.AreEqual(CDR1.MeterId, CDR2.MeterId); Assert.AreEqual(CDR1.EnergyMeter, CDR2.EnergyMeter); Assert.AreEqual(CDR1.TransparencySoftwares, CDR2.TransparencySoftwares); Assert.AreEqual(CDR1.Tariffs, CDR2.Tariffs); Assert.AreEqual(CDR1.SignedData, CDR2.SignedData); Assert.AreEqual(CDR1.TotalFixedCosts, CDR2.TotalFixedCosts); Assert.AreEqual(CDR1.TotalEnergyCost, CDR2.TotalEnergyCost); Assert.AreEqual(CDR1.TotalTimeCost, CDR2.TotalTimeCost); Assert.AreEqual(CDR1.TotalParkingTime, CDR2.TotalParkingTime); Assert.AreEqual(CDR1.TotalParkingCost, CDR2.TotalParkingCost); Assert.AreEqual(CDR1.TotalReservationCost, CDR2.TotalReservationCost); Assert.AreEqual(CDR1.Remark, CDR2.Remark); Assert.AreEqual(CDR1.InvoiceReferenceId, CDR2.InvoiceReferenceId); Assert.AreEqual(CDR1.Credit, CDR2.Credit); Assert.AreEqual(CDR1.CreditReferenceId, CDR2.CreditReferenceId); Assert.AreEqual(CDR1.LastUpdated.ToIso8601(), CDR2.LastUpdated.ToIso8601()); }