Exemple #1
0
	public void RemoveResource(SimResource resource, int amount)
	{
		SimResourceBin bin = FindBin(resource);
		
		if (bin != null)
			bin.Remove(amount);
	}
Exemple #2
0
	private SimResourceBin FindBin(SimResource resource)
	{
		for (int i = 0; i < bins.Count; i++)
			if (bins[i].resouce == resource)
				return bins[i];
		
		return null;
	}
Exemple #3
0
	public int GetCapacity(SimResource resource)
	{
		SimResourceBin bin = FindBin(resource);
		
		if (bin != null)
			return bin.capacity;
		
		return int.MaxValue;
	}
Exemple #4
0
	public int GetAmount(SimResource resource)
	{
		SimResourceBin bin = FindBin(resource);
		
		if (bin != null)
			return bin.amount;
		
		return 0;
	}
    static void Main(string[] args)
    {
        // Find your Account SID and Auth Token at twilio.com/console
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var sim = SimResource.Fetch("DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");

        Console.WriteLine(sim.Sid);
    }
Exemple #6
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var sim = SimResource.Fetch(pathSid: "AliceSmithSmartMeter");

        Console.WriteLine(sim.UniqueName);
    }
Exemple #7
0
	private SimResourceBin FindOrAddBin(SimResource resource)
	{
		SimResourceBin bin = FindBin(resource);
		
		if (bin == null)
		{
			bin = new SimResourceBin();
			bin.resouce = resource;
			bins.Add(bin);
		}
		
		return bin;
	}
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        // DANGER! This is insecure. See http://twil.io/secure
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var sim = SimResource.Fetch(pathSid: "DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");

        Console.WriteLine(sim.UniqueName);
    }
Exemple #9
0
    static void Main(string[] args)
    {
        // Find your Account SID and Auth Token at twilio.com/console
        // To set up environmental variables, see http://twil.io/secure
        const string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
        const string authToken  = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");

        TwilioClient.Init(accountSid, authToken);

        var sim = SimResource.Fetch("DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");

        Console.WriteLine(sim.Sid);
    }
Exemple #10
0
        public void TestUpdateUniqueNameResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"sid\": \"HSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"unique_name\": \"MySIM\",\"status\": \"new\",\"fleet_sid\": null,\"iccid\": \"iccid\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"url\": \"https://supersim.twilio.com/v1/Sims/HSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}"
                         ));

            var response = SimResource.Update("HSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);

            Assert.NotNull(response);
        }
Exemple #11
0
        public void TestReadFullResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"sims\": [{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"unique_name\": \"unique_name\",\"commands_callback_method\": \"http_method\",\"commands_callback_url\": \"http://www.example.com\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"friendly_name\": \"friendly_name\",\"links\": {\"data_sessions\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/DataSessions\",\"rate_plan\": \"https://wireless.twilio.com/v1/RatePlans/WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"usage_records\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/UsageRecords\"},\"rate_plan_sid\": \"WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"sid\": \"DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"iccid\": \"iccid\",\"e_id\": \"e_id\",\"status\": \"new\",\"reset_status\": \"resetting\",\"sms_fallback_method\": \"http_method\",\"sms_fallback_url\": \"http://www.example.com\",\"sms_method\": \"http_method\",\"sms_url\": \"http://www.example.com\",\"voice_fallback_method\": \"http_method\",\"voice_fallback_url\": \"http://www.example.com\",\"voice_method\": \"http_method\",\"voice_url\": \"http://www.example.com\",\"url\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"ip_address\": \"192.168.1.30\"}],\"meta\": {\"first_page_url\": \"https://wireless.twilio.com/v1/Sims?Status=new&Iccid=iccid&RatePlan=rate_plan&PageSize=50&Page=0\",\"key\": \"sims\",\"next_page_url\": null,\"page\": 0,\"page_size\": 50,\"previous_page_url\": null,\"url\": \"https://wireless.twilio.com/v1/Sims?Status=new&Iccid=iccid&RatePlan=rate_plan&PageSize=50&Page=0\"}}"
                         ));

            var response = SimResource.Read(client: twilioRestClient);

            Assert.NotNull(response);
        }
Exemple #12
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var sim = SimResource.Update(
            uniqueName: "UniqueName",
            pathSid: "DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
            );

        Console.WriteLine(sim.UniqueName);
    }
Exemple #13
0
        public void TestReadFullResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"meta\": {\"first_page_url\": \"https://supersim.twilio.com/v1/Sims?Status=new&Fleet=MyFleet&Iccid=11111111111111111111&PageSize=50&Page=0\",\"key\": \"sims\",\"next_page_url\": null,\"page\": 0,\"page_size\": 50,\"previous_page_url\": null,\"url\": \"https://supersim.twilio.com/v1/Sims?Status=new&Fleet=MyFleet&Iccid=11111111111111111111&PageSize=50&Page=0\"},\"sims\": [{\"sid\": \"HSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"unique_name\": \"My SIM\",\"status\": \"new\",\"fleet_sid\": null,\"iccid\": \"iccid\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"url\": \"https://supersim.twilio.com/v1/Sims/HSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"}]}"
                         ));

            var response = SimResource.Read(client: twilioRestClient);

            Assert.NotNull(response);
        }
        public void TestDeleteResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.NoContent,
                         "null"
                         ));

            var response = SimResource.Delete("DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);

            Assert.NotNull(response);
        }
Exemple #15
0
        public void TestReadEmptyResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"sims\": [],\"meta\": {\"first_page_url\": \"https://supersim.twilio.com/v1/Sims?Status=new&Fleet=HFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&Iccid=11111111111111111111&PageSize=50&Page=0\",\"key\": \"sims\",\"next_page_url\": null,\"page\": 0,\"page_size\": 50,\"previous_page_url\": null,\"url\": \"https://supersim.twilio.com/v1/Sims?Status=new&Fleet=HFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&Iccid=11111111111111111111&PageSize=50&Page=0\"}}"
                         ));

            var response = SimResource.Read(client: twilioRestClient);

            Assert.NotNull(response);
        }
        public void TestFetchResponse()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();

            twilioRestClient.AccountSid.Returns("ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
            twilioRestClient.Request(Arg.Any <Request>())
            .Returns(new Response(
                         System.Net.HttpStatusCode.OK,
                         "{\"account_sid\": \"ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"unique_name\": \"unique_name\",\"commands_callback_method\": \"http_method\",\"commands_callback_url\": \"http://www.example.com\",\"date_created\": \"2015-07-30T20:00:00Z\",\"date_updated\": \"2015-07-30T20:00:00Z\",\"friendly_name\": \"friendly_name\",\"sms_fallback_method\": \"http_method\",\"sms_fallback_url\": \"http://www.example.com\",\"sms_method\": \"http_method\",\"sms_url\": \"http://www.example.com\",\"voice_fallback_method\": \"http_method\",\"voice_fallback_url\": \"http://www.example.com\",\"voice_method\": \"http_method\",\"voice_url\": \"http://www.example.com\",\"links\": {\"data_sessions\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/DataSessions\",\"rate_plan\": \"https://wireless.twilio.com/v1/RatePlans/WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"usage_records\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/UsageRecords\"},\"rate_plan_sid\": \"WPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"sid\": \"DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"iccid\": \"iccid\",\"e_id\": \"e_id\",\"status\": \"new\",\"url\": \"https://wireless.twilio.com/v1/Sims/DEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"ip_address\": \"192.168.1.1\"}"
                         ));

            var response = SimResource.Fetch("DEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);

            Assert.NotNull(response);
        }
Exemple #17
0
    static void Main(string[] args)
    {
        // Find your Account SID and Auth Token at twilio.com/console
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var sim = SimResource.Update("DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
                                     callbackMethod: HttpMethod.Post,
                                     commandsCallbackUrl: new Uri("https://sim-manager.mycompany.com/sim-update-callback/AliceSmithSmartMeter"),
                                     status: SimResource.StatusEnum.Active);

        Console.WriteLine(sim.Sid);
    }
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var sims = SimResource.Read();

        foreach (var record in sims)
        {
            Console.WriteLine(record.Sid);
        }
    }
Exemple #19
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        // DANGER! This is insecure. See http://twil.io/secure
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var sims = SimResource.Read(limit: 20);

        foreach (var record in sims)
        {
            Console.WriteLine(record.Sid);
        }
    }
Exemple #20
0
    static void Main(string[] args)
    {
        // Find your Account SID and Auth Token at twilio.com/console
        // To set up environmental variables, see http://twil.io/secure
        const string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
        const string authToken  = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");

        TwilioClient.Init(accountSid, authToken);

        var sim = SimResource.Update("DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
                                     callbackMethod: HttpMethod.Post,
                                     commandsCallbackUrl: new Uri("https://sim-manager.mycompany.com/sim-update-callback/AliceSmithSmartMeter"),
                                     status: SimResource.StatusEnum.Active);

        Console.WriteLine(sim.Sid);
    }
    private void ParseResource()
    {
        string line = GetNextLine();

        string[] lineSplit = SplitLine(line);

        if (lineSplit.Length == 1)
        {
            ThrowInvalidLine("ParseResource()");
        }

        SimResource resource = new SimResource();

        resource.id = lineSplit[1];

        definition.resourceTypes.Add(resource.id, resource);
    }
    static void Main(string[] args)
    {
        // Find your Account Sid and Token at twilio.com/console
        // DANGER! This is insecure. See http://twil.io/secure
        const string accountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        const string authToken  = "your_auth_token";

        TwilioClient.Init(accountSid, authToken);

        var sim = SimResource.Update(
            callbackMethod: Twilio.Http.HttpMethod.Post,
            callbackUrl: new Uri("https://sim-manager.mycompany.com/sim-update-callback/AliceSmithSmartMeter"),
            status: SimResource.StatusEnum.Active,
            pathSid: "DEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
            );

        Console.WriteLine(sim.UniqueName);
    }
Exemple #23
0
        public void TestUpdateRequest()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();
            var request          = new Request(
                HttpMethod.Post,
                Twilio.Rest.Domain.Supersim,
                "/v1/Sims/HSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
                ""
                );

            twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content"));

            try
            {
                SimResource.Update("HSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", client: twilioRestClient);
                Assert.Fail("Expected TwilioException to be thrown for 500");
            }
            catch (ApiException) {}
            twilioRestClient.Received().Request(request);
        }
        public void TestReadRequest()
        {
            var twilioRestClient = Substitute.For <ITwilioRestClient>();
            var request          = new Request(
                HttpMethod.Get,
                Twilio.Rest.Domain.Wireless,
                "/v1/Sims",
                ""
                );

            twilioRestClient.Request(request).Throws(new ApiException("Server Error, no content"));

            try
            {
                SimResource.Read(client: twilioRestClient);
                Assert.Fail("Expected TwilioException to be thrown for 500");
            }
            catch (ApiException) {}
            twilioRestClient.Received().Request(request);
        }
    private SimResourceBinCollection ParseResourcesArray(string[] lineSplit, ref int splitOffset)
    {
        string[] strings = ParseStringArray(lineSplit, ref splitOffset);

        SimResourceBinCollection resources = new SimResourceBinCollection();

        for (int i = 0; i < strings.Length; i += 2)
        {
            SimResource resource = definition.GetResource(strings[i]);

            if (resource == null)
            {
                ThrowInvalidLine("ParseResourcesArray() - Unknown resource id");
            }

            int amount = ParseInt(strings[i + 1]);

            resources.AddResource(resource, amount);
        }

        return(resources);
    }
Exemple #26
0
	public void SetCapacity(SimResource resource, int capacity)
	{
		SimResourceBin bin = FindOrAddBin(resource);
		
		bin.SetCapacity(capacity);
	}
Exemple #27
0
	public void AddResource(SimResource resource, int amount)
	{
		SimResourceBin bin = FindOrAddBin(resource);
		
		bin.Add(amount);
	}
    private SimulationDefinition CreateDefinition()
    {
        SimulationDefinition definition = new SimulationDefinition();

        SimResource resourceWater = new SimResource();

        resourceWater.id = "Water";
        SimResource resourceGrass = new SimResource();

        resourceGrass.id = "Grass";

        definition.resourceTypes.Add(resourceWater.id, resourceWater);
        definition.resourceTypes.Add(resourceGrass.id, resourceGrass);

        //Add 2 of water every 10 ticks
        SimRuleValueMap valueMapWater = new SimRuleValueMap();

        valueMapWater.mapId = "Water";

        SimRuleCommandAdd commandAddWater = new SimRuleCommandAdd();

        commandAddWater.amount = 2;
        commandAddWater.target = valueMapWater;

        SimRuleMap ruleMapAddWater = new SimRuleMap();

        ruleMapAddWater.id                 = "AddWater";
        ruleMapAddWater.rate               = 10;
        ruleMapAddWater.randomTiles        = true;
        ruleMapAddWater.randomTilesPercent = 25;
        ruleMapAddWater.commands           = new SimRuleCommand[] {
            commandAddWater
        };

        //Water Map
        SimMapType mapTypeWater = new SimMapType();

        mapTypeWater.id       = "Water";
        mapTypeWater.color    = 0x0000FF;
        mapTypeWater.capacity = 100;
        mapTypeWater.rules    = new SimRuleMap[] {
            ruleMapAddWater
        };

        definition.mapTypes.Add(mapTypeWater.id, mapTypeWater);

        //Add grass every 7 ticks if there is 10 of water available
        SimRuleValueMap valueMapGrass = new SimRuleValueMap();

        valueMapGrass.mapId = "Grass";

        SimRuleCommandRemove commandRemoveWater = new SimRuleCommandRemove();

        commandRemoveWater.amount = 10;
        commandRemoveWater.target = valueMapWater;

        SimRuleCommandAdd commandAddGrass = new SimRuleCommandAdd();

        commandAddGrass.amount = 1;
        commandAddGrass.target = valueMapGrass;

        SimRuleMap ruleMapCreateGrass = new SimRuleMap();

        ruleMapCreateGrass.id       = "CreateGrass";
        ruleMapCreateGrass.rate     = 7;
        ruleMapCreateGrass.commands = new SimRuleCommand[] {
            commandRemoveWater,
            commandAddGrass
        };

        //Grass Map
        SimMapType mapTypeGrass = new SimMapType();

        mapTypeGrass.id       = "Grass";
        mapTypeGrass.color    = 0x00FF00;
        mapTypeGrass.capacity = 10;
        mapTypeGrass.rules    = new SimRuleMap[] {
            ruleMapCreateGrass
        };

        definition.mapTypes.Add(mapTypeGrass.id, mapTypeGrass);

        return(definition);
    }