Callum Slater

Callum Slater

1548162291

RhinoMock - AssertWasCalled on same method with different parameter doesn't work

I have this method:

        public void Handle(ShipmentConfirmedEvent message)
    {
        try
        {
            var trackingOrderDto = new ShipmentConfirmedDto
            {
                AccountId = message.AccountId,
                FirstName = message.CustomerFirstName,
                TransactionId = message.TransactionId,
                Language = message.LanguageCode,
                ExcludedCommunicationChannels = message.ExcludedCommunicationChannels,
                TrackingId = message.TrackingNumber
            };
        Log.Info("Received notify of Shipment Confirmed request with id <{0}> for order {1}", message.GenerationId, message.TransactionId);
        if (!string.IsNullOrEmpty(_iosForcePushAccountId))
        {
            Log.Info("Per device Ios, l'accountId {0} verrà forzato a {1} per configurazione", trackingOrderDto.AccountId, _iosForcePushAccountId);
            trackingOrderDto.AccountId = Convert.ToInt64(_iosForcePushAccountId);
        }
        Log.Debug("Send push notification for IOS for AccountId <{0}>", trackingOrderDto.AccountId);
        var iosContent = _sender.Create(trackingOrderDto, "IOS");
        _sender.IosSend(iosContent);

        trackingOrderDto.AccountId = message.AccountId;

        if (!string.IsNullOrEmpty(_androidForcePushAccountId))
        {
            Log.Info("Per device Android, l'accountId {0} verrà forzato a {1} per configurazione", trackingOrderDto.AccountId, _androidForcePushAccountId);
            trackingOrderDto.AccountId = Convert.ToInt64(_androidForcePushAccountId);
        }
        Log.Debug("Send push notification for Android for AccountId <{0}>", trackingOrderDto.AccountId);
        var androidContent = _sender.Create(trackingOrderDto, "ANDROID");
        _sender.AndroidSend(androidContent);
    }
    catch (ExcludedCommunicationChannelsException ex)
    {
        Log.Warn(ex.Message);
    }
    catch (Exception ex)
    {
        var msg = String.Format("Errore durante la gestione del messaggio relativo al PushNotification for username {0}", message.MailTo.First().Address);
        Log.Error(ex, msg);
        throw new Exception(ex.Message, ex);
    }
    Log.Info("<{0}> Processed", message.GenerationId);
}

and I have this test:

[Fact]
public void GivenAnOrderConfirmedEventWithForcedAccountId_WhenHandle_ThenCallSenderWithTheForcedAccountId()
{
NServiceBus.Testing.Test.Initialize();

    var service = new ShipmentConfirmedRequestEventConsumer(mockSender, "1111", "2222");

    NServiceBus.Testing.Test.Handler(svc => service)
        .OnMessage<ShipmentConfirmedEvent>(
            m =>
            {
                m.AccountId = 407716;
                m.CustomerFirstName = "Marco";
                m.TransactionId = "T123456";
                m.LanguageCode = "IT";
                m.TrackingNumber = "642167921";
            }
        );
    mockSender.AssertWasCalled(x => x.Create(Arg<ShipmentConfirmedDto>.Matches(dto => dto.AccountId == 2222), Arg<string>.Is.Equal("ANDROID")));
    mockSender.AssertWasCalled(x => x.Create(Arg<ShipmentConfirmedDto>.Matches(dto => dto.AccountId == 1111), Arg<string>.Is.Equal("IOS")));
}

the second AssertWasCalled, the one related to IOS, throw exception because it seems to be overwritten, being within the method the first to be called.

I need to verify that the Create method is called twice within the method, with the parameters specified.

How can I modify the test in order to verify it?

#c-sharp #testing #unity

What is GEEK

Buddha Community

The solution is to modify test this way:

[Fact]
    public void GivenAnOrderConfirmedEventWithForcedAccountId_WhenHandle_ThenCallSenderWithTheForcedAccountId()
    {
        NServiceBus.Testing.Test.Initialize();
        mockSender.Expect(x => x.Create(Arg<ShipmentConfirmedDto>.Matches(dto => dto.AccountId == 2222), Arg<string>.Is.Equal("ANDROID"))).Return(string.Empty);
        mockSender.Expect(x => x.Create(Arg<ShipmentConfirmedDto>.Matches(dto => dto.AccountId == 1111), Arg<string>.Is.Equal("IOS"))).Return(string.Empty);
        var service = new ShipmentConfirmedRequestEventConsumer(mockSender, "1111", "2222");

        NServiceBus.Testing.Test.Handler(svc => service)
            .OnMessage<ShipmentConfirmedEvent>(
                m =>
                {
                    m.AccountId = 407716;
                    m.CustomerFirstName = "Marco";
                    m.TransactionId = "T123456";
                    m.LanguageCode = "IT";
                    m.TrackingNumber = "642167921";
                }
            );

        mockSender.VerifyAllExpectations();
    }

Alice Cook

Alice Cook

1614329473

Fix: G Suite not Working | G Suite Email not Working | Google Business

G Suite is one of the Google products, developed form of Google Apps. It is a single platform to hold cloud computing, collaboration tools, productivity, software, and products. While using it, many a time, it’s not working, and users have a question– How to fix G Suite not working on iPhone? It can be resolved easily by restarting the device, and if unable to do so, you can reach our specialists whenever you want.
For more details: https://contactforhelp.com/blog/how-to-fix-the-g-suite-email-not-working-issue/

#g suite email not working #g suite email not working on iphone #g suite email not working on android #suite email not working on windows 10 #g suite email not working on mac #g suite email not syncing

Xfinity Stream Not Working?

Xfinity, the tradename of Comcast Cable Communications, LLC, is the first rate supplier of Internet, satellite TV, phone, and remote administrations in the United States. Presented in 2010, previously these administrations were given under the Comcast brand umbrella. Xfinity makes a universe of mind boggling amusement and innovation benefits that joins a great many individuals to the encounters and minutes that issue them the most. Since Xfinity is the greatest supplier of link administrations and home Internet in the United States, it isn’t amazing that the organization gets a ton of investigating and inquiry goal demands on its telephone based Xfinity Customer Service.

#my internet is not working comcast #comcast tv remote not working #my xfinity internet is not working #xfinity stream not working #xfinity wifi hotspot not working

Callum Slater

Callum Slater

1548162291

RhinoMock - AssertWasCalled on same method with different parameter doesn't work

I have this method:

        public void Handle(ShipmentConfirmedEvent message)
    {
        try
        {
            var trackingOrderDto = new ShipmentConfirmedDto
            {
                AccountId = message.AccountId,
                FirstName = message.CustomerFirstName,
                TransactionId = message.TransactionId,
                Language = message.LanguageCode,
                ExcludedCommunicationChannels = message.ExcludedCommunicationChannels,
                TrackingId = message.TrackingNumber
            };
        Log.Info("Received notify of Shipment Confirmed request with id &lt;{0}&gt; for order {1}", message.GenerationId, message.TransactionId);
        if (!string.IsNullOrEmpty(_iosForcePushAccountId))
        {
            Log.Info("Per device Ios, l'accountId {0} verrà forzato a {1} per configurazione", trackingOrderDto.AccountId, _iosForcePushAccountId);
            trackingOrderDto.AccountId = Convert.ToInt64(_iosForcePushAccountId);
        }
        Log.Debug("Send push notification for IOS for AccountId &lt;{0}&gt;", trackingOrderDto.AccountId);
        var iosContent = _sender.Create(trackingOrderDto, "IOS");
        _sender.IosSend(iosContent);

        trackingOrderDto.AccountId = message.AccountId;

        if (!string.IsNullOrEmpty(_androidForcePushAccountId))
        {
            Log.Info("Per device Android, l'accountId {0} verrà forzato a {1} per configurazione", trackingOrderDto.AccountId, _androidForcePushAccountId);
            trackingOrderDto.AccountId = Convert.ToInt64(_androidForcePushAccountId);
        }
        Log.Debug("Send push notification for Android for AccountId &lt;{0}&gt;", trackingOrderDto.AccountId);
        var androidContent = _sender.Create(trackingOrderDto, "ANDROID");
        _sender.AndroidSend(androidContent);
    }
    catch (ExcludedCommunicationChannelsException ex)
    {
        Log.Warn(ex.Message);
    }
    catch (Exception ex)
    {
        var msg = String.Format("Errore durante la gestione del messaggio relativo al PushNotification for username {0}", message.MailTo.First().Address);
        Log.Error(ex, msg);
        throw new Exception(ex.Message, ex);
    }
    Log.Info("&lt;{0}&gt; Processed", message.GenerationId);
}

and I have this test:

[Fact]
public void GivenAnOrderConfirmedEventWithForcedAccountId_WhenHandle_ThenCallSenderWithTheForcedAccountId()
{
NServiceBus.Testing.Test.Initialize();

    var service = new ShipmentConfirmedRequestEventConsumer(mockSender, "1111", "2222");

    NServiceBus.Testing.Test.Handler(svc =&gt; service)
        .OnMessage&lt;ShipmentConfirmedEvent&gt;(
            m =&gt;
            {
                m.AccountId = 407716;
                m.CustomerFirstName = "Marco";
                m.TransactionId = "T123456";
                m.LanguageCode = "IT";
                m.TrackingNumber = "642167921";
            }
        );
    mockSender.AssertWasCalled(x =&gt; x.Create(Arg&lt;ShipmentConfirmedDto&gt;.Matches(dto =&gt; dto.AccountId == 2222), Arg&lt;string&gt;.Is.Equal("ANDROID")));
    mockSender.AssertWasCalled(x =&gt; x.Create(Arg&lt;ShipmentConfirmedDto&gt;.Matches(dto =&gt; dto.AccountId == 1111), Arg&lt;string&gt;.Is.Equal("IOS")));
}

the second AssertWasCalled, the one related to IOS, throw exception because it seems to be overwritten, being within the method the first to be called.

I need to verify that the Create method is called twice within the method, with the parameters specified.

How can I modify the test in order to verify it?

#c-sharp #testing #unity

Monty  Boehm

Monty Boehm

1669443928

How JavaScript FromCharCode() Method Works

JavaScript fromCharCode() method explained

The JavaScript fromCharCode() method is a static method of the JavaScript String object that allows you to convert a Unicode number.

A Unicode number is a unique number representing a character that’s acknowledged as the global identifier for that character in the world of information technology.

The Unicode number provides a consistent and compatible representation of each character in many technological systems.

For example, the Unicode number 65 equals A the uppercase letter, while Unicode number 97 equals a the lowercase letter.

For the full list of Unicode number, refer to Wikipedia here

You can use the method by calling it directly from the String object instead of the object’s instance.

The fromCharCode() syntax is as follows:

String.fromCharCode(unicodeNum, unicodeNum, ...);

You are free to pass one or more Unicode numbers as you need. The method will return an empty string "" if you don’t pass any valid Unicode numbers.

Here’s an example of the method in action:

String.fromCharCode(65); // "A"
String.fromCharCode(65, 66, 67); // "ABC"
String.fromCharCode(72, 69, 89); // "HEY"
String.fromCharCode(); // ""

The return value of the method will be a string that you can use further in your JavaScript application.

Original article source at: https://sebhastian.com

#javascript #method #work 

HI Python

HI Python

1621628640

Comprehensive Guide To Python Dunder Methods

Python has a set of magic methods that can be used to enrich data classes; they are special in the way they are invoked. These methods are also called “dunder methods” because they start and end with double underscores. Dunder methods allow developers to emulate built-in methods, and it’s also how operator overloading is implemented in Python. For example, when we add two integers together, 4 + 2, and when we add two strings together, “machine” + “learning”, the behaviour is different. The strings get concatenated while the integers are actually added together.

The “Essential” Dunder Methods

If you have ever created a class of your own, you already know one of the dunder methods, __init__(). Although it’s often referred to as the constructor, it’s not the real constructor; the __new__() method is the constructor. The superclass’s  __new__() , super().__new__(cls[, ...]), method is invoked, which creates an instance of the class, which is then passed to the __init__() along with other arguments. Why go through the ordeal of creating the __new__() method? You don’t need to; the __new__() method was created mainly to facilitate the creation of subclasses of immutable types (such as int, str, list) and metaclasses.

#developers corner #uncategorized #dunder methods #magic methods #operator overriding #python dunder methods #python magic methods